Send reminders to conversations
You can have your bot send a message to all your users’ active conversations at regular intervals. This is useful if you want to send reminders, notifications, or other time-sensitive messages to your users.
You will need:
Step 1: Setup your Personal Access Token
Since you need to use the Botpress API to send a reminder to all users, you need to set up a Personal Access Token (PAT) for authentication.
Create the token
- In the upper-right corner of your workspace, select your profile picture.
- Select Account Settings > Access Tokens > Personal access tokens > Generate new token.
- Enter a note to remember the token’s purpose—like “Reminders”.
- Select Generate Token.
- Copy the generated token and store it somewhere—once you leave this page, you won’t be able read it again.
Store the token in a variable
Next, create a configuration variable called PERSONAL_ACCESS_TOKEN and store your token in it. This will let you access the token in code.
Step 2: Add a Fixed Schedule Trigger
Add a Fixed Schedule Trigger to your bot’s Workflow. This will make sure your reminder sends on a set interval.
You can configure the Trigger to execute at whatever interval you’d like.
Step 3: Add an Execute Code Card
Connect an Execute Code Card to your Trigger:
Step 4: Apply the custom code
Paste the following code into the Card’s configuration:
const botId = '<your-bot-id>' // Replace with your actual bot ID (found in the Studio URL)
const botpressApiUrl = 'https://api.botpress.cloud/v1/chat/conversations'
const botpressApiKey = env.PERSONAL_ACCESS_TOKEN
const response = await axios.get(botpressApiUrl, {
headers: {
Authorization: `Bearer ${botpressApiKey}`,
'x-bot-id': botId,
},
})
// Optional: Log the list of conversations
console.log(response.data)
response.data.conversations.forEach((conversation) => {
const conversationId = conversation.id
client.createMessage({
conversationId,
userId: botId,
tags: {},
type: 'text',
payload: {
text: "Don't forget to drink water!", // Your reminder message
},
})
})
Be sure to replace the placeholder value for botId with your actual bot ID. To find your bot ID:
- Open your bot in the Studio.
- Get the bot ID from the URL’s path. For example:
https://studio.botpress.cloud/THIS_IS_YOUR_BOT_ID/
Once you’ve published the latest version of your bot, it will send reminders to all active conversations at the specified interval.