Tips & Tricks
Using Markdown in Botpress
Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. It is a simple way to add formatting to your text. You can use Markdown in Botpress to format your text in the following ways:
Markdown Syntax | Example |
---|---|
Bold | **Bold** |
Italic | *Italic* |
Strikethrough | ~~Strikethrough~~ |
Code | Code |
Code Block | Code Block |
Link | [Link](https://www.botpress.com) |
Image | ![Image](https://avatars.githubusercontent.com/u/23510677?s=200&v=4) |
Unordered List | - Item 1 |
Ordered List | 1. Item 1 |
Horizontal line | --- |
Info: Supported Integrations
Markdown is supported only in Webchat Integration
Timely Greeting
Pick an Execute Code card and enter the prompt as "Timely Greeting". It will generate the following code:
const currentTime = luxon.DateTime.now()
const currentHour = currentTime.hour
let timelyGreeting = ''
if (currentHour >= 0 && currentHour < 12) {
timelyGreeting = 'Good morning'
} else if (currentHour >= 12 && currentHour < 18) {
timelyGreeting = 'Good afternoon'
} else {
timelyGreeting = 'Good evening'
}
workflow.timelyGreeting = timelyGreeting
This code will set the variable timelyGreeting
to the appropriate greeting based on the current time. Make sure to create this variable in your workflow.
Using External APIs in Botpress
These are guides on using the Execute Code Card in Botpress to access external APIs to read and update data.
The API calls will be performed using the Botpress built-in axios client, and the code will run in the Execute Code Card.
Example - The Bored API
The Bored API's motto is : Let's find you something to do! We will be using Bored API as an example of how to call APIs to fetch information.
- (Optional) Create a workflow variable to store the information retrieved from the API. In this example, we will create a variable named
participantType
. - Pick the Execute Code Card and disable the Generative AI by clicking on the ✨ button.
- Paste the following code in the Execute Code Card:
const response = await axios.get('https://www.boredapi.com/api/activity?participants=1')
workflow.participantType = response.data.activity
Response:
{
"activity": "Go stargazing",
"type": "relaxation",
"participants": 1,
"price": 0,
"link": "",
"key": "8832605",
"accessibility": 0.1
}
Send Emails using SendGrid API
You can choose any other provider, like Gmail, Microsoft, etc. But you will need to change the code based on the provider you want to integrate with.
- Create a free SendGrid account: For trial purposes.
- Navigate to Email API: After logging into your new account, click on Email API in the menu, then select Integration Guide.
- Create an Identity: Provide your details when prompted and click Create. Verify your identity through the verification email you receive.
- Create an API Key: Click on Create API Key at the top right corner and name the key for your reference.
- Save the API Key: After creating the key, copy the key value for later use. Remember to keep it safe.
- Configure Botpress: Open your bot in Botpress, and add an Execute Code card. Ensure to disable the generative AI within the card.
- Paste the Code: Adjust the following variables in the code and paste it into the card:
sendgrid_api_key
: This is the API key generated in the SendGrid API Key.from_email
: This is the email you configured as the sender.to_email
: This is the email to which you are sending.
const sendgrid_api_key = *********
const from_email = '**************'
const to_email = '*****************'
const response = await axios.post(
'https://api.sendgrid.com/v3/mail/send',
{
personalizations: [{to: [{email: to_email}]}],
from: {
email: from_email
},
subject: 'Sending with SendGrid is Fun',
content: [
{
type: 'text/plain',
value: 'and easy to do anywhere, even with cURL'
}
]
},
{
headers: {
Authorization: 'Bearer ' + SENDGRID_API_KEY,
'Content-Type': 'application/json'
}
}
)
After successfully integrating the SendGrid API into Botpress, it's time to test it.
For more information: https://docs.sendgrid.com/for-developers/sending-email/api-getting-started
Use ChatGPT API in Execute Code
If you are using Botpress and want to integrate the ChatGPT API to generate AI-powered responses for your chatbot, follow these simple steps:
Step 1: Create a variable in your Botpress workflow to store the ChatGPT API's response.
Step 2: Add the Execute Code card to your Botpress flow and paste the code below:
const apiKey = '<OpenAI's APIKey>';
const {data} = await axios.post("https://api.openai.com/v1/chat/completions", {
"model": "gpt-3.5-turbo-0301",
"messages": [{"role": "user", "content": event.preview}]
}, { headers: {'Authorization': `Bearer ${apiKey}`}});
workflow.variableName = data.choices[0].message.content;
Make sure to replace <OpenAI's APIKey>
with your actual OpenAI API key, and variableName with the name of the variable you created in Step 1.
Step 3: Test your chatbot in the Botpress Emulator to see if it's generating AI-powered responses.
Note
It's important to note that using this method, ChatGPT does not preserve the context of the messages that you've sent. However, it's a great way to get started with integrating AI-powered responses into your chatbot without needing any technical knowledge.
Updated 6 months ago