Getting started guide to create a chatbot with Crisp
The bot plugin available within the Crisp Unlimited plan is full of possibilities and opens-up a brand new world to companies that are leveraging its power. To help you make the most out of that feature, we've created a guide that will help you to kickstart your bot activation phase.
As a reminder, the chatbot plugin is available from the Unlimited Plan, and available for any account under trial.
Here is a list of requirements to make sure you can get until the end of this guide:
A user profile set an Crisp Owner
A Paid account under Unlimited or free trial
A testing environment to try your bot scenarios live
The common mistake for companies that are trying to leverage the chatbot relates to their own chatbot strategy: most of the time, they don't know where they are going. And that is a big mistake. At Crisp, we like to divide the chatbot experience into three stage:
Engage: How should my bot behave? Should it be proactive or reactive?
Understand: What is the customer looking to achieve?
Convert: What can I consider as a goal?
Following these three steps, you should better see where you're heading with your chatbot strategy. Note that you can repeat this blueprint for each and every chatbot scenario so it fuels your bot creation process.
Before publishing your first scenario, you should step back and think about the following question:
What benefits am I expecting from a chatbot?
When do I want my bot to be triggered? When not?
How do I want my bot to be triggered?
If you don't have answers to the questions above or have doubts about the answer itself, we've prepared some help so you make sure to have the right information before diving into the bot builder.
A chatbot can impact a lot of fields within a company, that's why it is important to know what you're looking after. Knowing the objectives will help you to design the right chatbot scenario from the ground-up. Here are some benefits you can expect from a chatbot:
Serve customers faster, 24/7
Help support team to handle more conversations
Improve first response time on multiple channels
Improve lead generation
There are other benefits but this list is a good way to get started with chatbots.
A bot can be triggered on different schedules. It'll be important, as a company, to make sure you are ok with the bot strategy you want to apply. Following the question about the chatbot timing, here are some answers that can fuel your strategy:
I want my bot to be triggered when my teams are offline
I want my chatbot to be triggered only on sunday and saturday
I want my bot be triggered when customer email is not set
I want my bot to be triggered on a specific set of keywords
There are other ways of triggering a bot but these answer can help you to get started with a chatbot builder.
Here, there is two schools. The proactive strategy and the reactive strategy. Both of them have their advantages and disadvantages but it'll be an important question to reply to before going straight in to the bot creation.
My bot should be triggered based on users' behaviour: time spent on a page, channel's origin, about to leave a page ...
My bot should be triggered only when receiving a message from a user.
Now that you've answered all these questions, It's time for your to learn the basic of Crisp chatbot. Before diving into your own examples, it makes sense to analyze existing chatbot templates so you can better understand how it behaves and how you can use them at your own advantage.
Once you have created your Crisp account, head to the bot plugin, available in the Plugins sections. If not, install the plugin.

Then, you should land into the bot feature which allows to create a large number of chatbot scenario. Click on "New Scenario" and click on "Use Existing Template" as shown in the screenshot below.

Make sure to do it 3 times so you have access to the three templates available: Department bot, Ask User Details bot (aka lead generation bot) and Weekend responder (aka out of office chatbot).
Now that you're all sorted, this is where the magic happens ✨.
As I've chosen the "Weekend responder" for this example. Here is what it should look like. For the sake of this guide, we're going to explain the different blocks, the steps and how it behaves so you can try it and adapt it yourself.

As a reference, I've added numbers to the screenshots and here is what they mean:
Bot's name, it's important that you take the time to personalize it so its remains clear of what the scenario is about.
User Message Matches, it's a red block, meaning it's an event block. In this case, "User Message Matches" makes the bot trigger on any incoming messages.
To learn everything about pattern matches, it's vital you check this article: What are pattern matches?
Day of the week matches, it's a blue block, meaning it's a condition block, "Day of the week" makes the bot flow when condition is met. In that case, only Saturday and Sunday.
To see the full list of condition blocks available, you can check this article: Details on condition blocks
Check Website availability, it's a blue block, meaning it's a condition too, it verifies team's availability. Each agent has to set his own availability settings. It's vital to be set properly so the bot can trigger properly. Website Availability has two state: Away and Online.
Online means someone from the team is seen as online and available to answer customers
Away means no one from the team is available.
Send message, it's a dark blue block, meaning it's an action block, it allows to send messages through the required channel.
To see the full list of action blocks available, you can read this article: Details on action blocks
⚠️ Limitations regarding this chatbot template
What happens on Friday evening?
What happens on week days evenings? and on Monday morning?
⚠️ A simple training you can do
Create another child that verifies week days (Monday to Friday)

Once done, add two conditions that verifies website availability for weekdays. One should be online and the other should be away.
We're doing something like that because we know that on weekdays, the team will be online, but can also, at some point, fall offline (at lunch or in the evening for example). This two branches will help us to create dedicated behaviours for our bot.
When done, add an action block that sends a message based on the desired behavior. For example, if we're available, the message could be something like "Hey, we've received your message, the team will get back to you very soon".
Note that for the sake of this article, you should also add another language to the message.
Default Locale is the language fallback, it means that if customers' language as per its browser isn't available in the languages you've created within the bot, then it will fallback to the default locale.
Here is an example:
John is browsing a website and has a browser language define as Italian 🇮🇹 🤌
Acme has created a bot that offers languages in French and English as a default locale.
When John sends a message, he will receive automated answers in english.
Also known as "department bot", this bot is intended at routing conversations to the right department within your company. Here, we will use a new type of message: pickers. Pickers allow you to create a list of buttons that can be activated by customers.
If you want to see how to create and personnalize a button picker, here is an article you should rid: How to create a list of buttons?

User Message Matches, it's a red block, meaning it's an event block. In this case, "User Message Matches" makes the bot trigger on any incoming messages.
Wait, it's a dark blue block, meaning it's an action block. In this case, the "wait" block makes the bot wait 5 secondes before moving to the next step.
Show Compose, it's a dark blue block, meaning it's an action block. In this case, the "Show Compose" makes the bot display 3 dots as if someone was typing.
Send Message, it's a dark blue block, meaning it's an action block. In this case, the "Send Message" is set as a Picker, which offers the ability to build a list of buttons.
User Message Actions", it's a red block, meaning it's an event block. In this case "user message action" is set to catch customers' actions, which is the button click. As you can see, there are two of them, one for each button.
Take the time to analyze the send message settings and the message action block settings block to understand how they behave together.
If you want to understand how to create a list of buttons, please click here.
To create routing rules and the department bot, you should combine segments with routing rules.
🛑 ✋🏼 Segments are an essential piece of Crisp and you should really take the time to read this article: What are segments and how can they help your business?
⚠️ Limitations regarding this chatbot template
What happens if I have other departments in my Crisp Inbox?
How to route conversations to the right team?
⚠️ A simple training you can do
Create two other child to catch: "Other" and "Support" requests. You'll have to modify the Send Message Block and add to other child with the dedicated message action block (the red one). Don't forget to add the correct segment to each of the new child so you can create your routing rules right after.
In the button picker setting, add Emojis to each buttons to make it look more friendly.
Create the correct routing rules so you can route conversations to the right teams automatically.
Linking scenarios with one another is something very common and necessary because it prevents you to create monolothic scenarios that are hard to maintain and improve. To do so, we will look at the last block, "Exit Block". Exit Blocks are black and are super useful to: prevent a scenario from triggering in a specific range of time, run another scenario following a specific behaviour.

Stop scenarios", it's a black block, meaning it's an exit block. In this case "Stop Scenarios" is set to prevent the bot from being triggered within the next 24 hours windows.
Run Scenario", it's another black block, In this case "Run Scenario" is set to to trigger another scenario.
🛑✋🏼 To run one scenario from another, there is something special you need to do: discard the "user message matches" from the scenario being ran. YES, you read it correctly. A scenario that is ran by another one can't work if there's a user message matches at the beginning of it.
⚠️ A simple training you can do
Remember the two scenarios we've been working over this guide? This is time for you to connect them.
Go back to your weekend responder and add stop scenarios and run scenarios so it links to the department routing bot.
Want to better understand how to create looping bot and how you can create scenarios that can help your customers to "go back" to previous choices? Here are some scenarios you can download and import to your own Crisp Bot Workspace:
Bot scenario: Loop A - Initializer
Bot Scenario: Loop B - looper
Bot Scenario: Loop C - Forwarder
Don't know how to import a chatbot scenario to your workspace? Click here to follow the guide.
Still have questions? We're here to help, send us a message through the chat 🤗
As a reminder, the chatbot plugin is available from the Unlimited Plan, and available for any account under trial.
Here is a list of requirements to make sure you can get until the end of this guide:
A user profile set an Crisp Owner
A Paid account under Unlimited or free trial
A testing environment to try your bot scenarios live
Before creating your first bot scenario
The common mistake for companies that are trying to leverage the chatbot relates to their own chatbot strategy: most of the time, they don't know where they are going. And that is a big mistake. At Crisp, we like to divide the chatbot experience into three stage:
Engage: How should my bot behave? Should it be proactive or reactive?
Understand: What is the customer looking to achieve?
Convert: What can I consider as a goal?
Following these three steps, you should better see where you're heading with your chatbot strategy. Note that you can repeat this blueprint for each and every chatbot scenario so it fuels your bot creation process.
Before publishing your first scenario, you should step back and think about the following question:
What benefits am I expecting from a chatbot?
When do I want my bot to be triggered? When not?
How do I want my bot to be triggered?
If you don't have answers to the questions above or have doubts about the answer itself, we've prepared some help so you make sure to have the right information before diving into the bot builder.
What benefits am I expecting from a chatbot?
A chatbot can impact a lot of fields within a company, that's why it is important to know what you're looking after. Knowing the objectives will help you to design the right chatbot scenario from the ground-up. Here are some benefits you can expect from a chatbot:
Serve customers faster, 24/7
Help support team to handle more conversations
Improve first response time on multiple channels
Improve lead generation
There are other benefits but this list is a good way to get started with chatbots.
When do I want my bot to be triggered? When not?
A bot can be triggered on different schedules. It'll be important, as a company, to make sure you are ok with the bot strategy you want to apply. Following the question about the chatbot timing, here are some answers that can fuel your strategy:
I want my bot to be triggered when my teams are offline
I want my chatbot to be triggered only on sunday and saturday
I want my bot be triggered when customer email is not set
I want my bot to be triggered on a specific set of keywords
There are other ways of triggering a bot but these answer can help you to get started with a chatbot builder.
How do I want my bot to be triggered?
Here, there is two schools. The proactive strategy and the reactive strategy. Both of them have their advantages and disadvantages but it'll be an important question to reply to before going straight in to the bot creation.
My bot should be triggered based on users' behaviour: time spent on a page, channel's origin, about to leave a page ...
My bot should be triggered only when receiving a message from a user.
Now that you've answered all these questions, It's time for your to learn the basic of Crisp chatbot. Before diving into your own examples, it makes sense to analyze existing chatbot templates so you can better understand how it behaves and how you can use them at your own advantage.
Taking advantage of existing templates to create a chatbot
Once you have created your Crisp account, head to the bot plugin, available in the Plugins sections. If not, install the plugin.

Then, you should land into the bot feature which allows to create a large number of chatbot scenario. Click on "New Scenario" and click on "Use Existing Template" as shown in the screenshot below.

Make sure to do it 3 times so you have access to the three templates available: Department bot, Ask User Details bot (aka lead generation bot) and Weekend responder (aka out of office chatbot).
Now that you're all sorted, this is where the magic happens ✨.
Getting started with the Out of Office Chatbot
As I've chosen the "Weekend responder" for this example. Here is what it should look like. For the sake of this guide, we're going to explain the different blocks, the steps and how it behaves so you can try it and adapt it yourself.

As a reference, I've added numbers to the screenshots and here is what they mean:
Bot's name, it's important that you take the time to personalize it so its remains clear of what the scenario is about.
User Message Matches, it's a red block, meaning it's an event block. In this case, "User Message Matches" makes the bot trigger on any incoming messages.
To learn everything about pattern matches, it's vital you check this article: What are pattern matches?
Day of the week matches, it's a blue block, meaning it's a condition block, "Day of the week" makes the bot flow when condition is met. In that case, only Saturday and Sunday.
To see the full list of condition blocks available, you can check this article: Details on condition blocks
Check Website availability, it's a blue block, meaning it's a condition too, it verifies team's availability. Each agent has to set his own availability settings. It's vital to be set properly so the bot can trigger properly. Website Availability has two state: Away and Online.
Online means someone from the team is seen as online and available to answer customers
Away means no one from the team is available.
Send message, it's a dark blue block, meaning it's an action block, it allows to send messages through the required channel.
To see the full list of action blocks available, you can read this article: Details on action blocks
⚠️ Limitations regarding this chatbot template
What happens on Friday evening?
What happens on week days evenings? and on Monday morning?
⚠️ A simple training you can do
Create another child that verifies week days (Monday to Friday)

Once done, add two conditions that verifies website availability for weekdays. One should be online and the other should be away.
We're doing something like that because we know that on weekdays, the team will be online, but can also, at some point, fall offline (at lunch or in the evening for example). This two branches will help us to create dedicated behaviours for our bot.
When done, add an action block that sends a message based on the desired behavior. For example, if we're available, the message could be something like "Hey, we've received your message, the team will get back to you very soon".
Note that for the sake of this article, you should also add another language to the message.
Default Locale is the language fallback, it means that if customers' language as per its browser isn't available in the languages you've created within the bot, then it will fallback to the default locale.
Here is an example:
John is browsing a website and has a browser language define as Italian 🇮🇹 🤌
Acme has created a bot that offers languages in French and English as a default locale.
When John sends a message, he will receive automated answers in english.
Getting more experienced with the routing chatbot
Also known as "department bot", this bot is intended at routing conversations to the right department within your company. Here, we will use a new type of message: pickers. Pickers allow you to create a list of buttons that can be activated by customers.
If you want to see how to create and personnalize a button picker, here is an article you should rid: How to create a list of buttons?

User Message Matches, it's a red block, meaning it's an event block. In this case, "User Message Matches" makes the bot trigger on any incoming messages.
Wait, it's a dark blue block, meaning it's an action block. In this case, the "wait" block makes the bot wait 5 secondes before moving to the next step.
Show Compose, it's a dark blue block, meaning it's an action block. In this case, the "Show Compose" makes the bot display 3 dots as if someone was typing.
Send Message, it's a dark blue block, meaning it's an action block. In this case, the "Send Message" is set as a Picker, which offers the ability to build a list of buttons.
User Message Actions", it's a red block, meaning it's an event block. In this case "user message action" is set to catch customers' actions, which is the button click. As you can see, there are two of them, one for each button.
Take the time to analyze the send message settings and the message action block settings block to understand how they behave together.
If you want to understand how to create a list of buttons, please click here.
To create routing rules and the department bot, you should combine segments with routing rules.
🛑 ✋🏼 Segments are an essential piece of Crisp and you should really take the time to read this article: What are segments and how can they help your business?
⚠️ Limitations regarding this chatbot template
What happens if I have other departments in my Crisp Inbox?
How to route conversations to the right team?
⚠️ A simple training you can do
Create two other child to catch: "Other" and "Support" requests. You'll have to modify the Send Message Block and add to other child with the dedicated message action block (the red one). Don't forget to add the correct segment to each of the new child so you can create your routing rules right after.
In the button picker setting, add Emojis to each buttons to make it look more friendly.
Create the correct routing rules so you can route conversations to the right teams automatically.
Linking two bot scenarios altogether using advanced tactics
Linking scenarios with one another is something very common and necessary because it prevents you to create monolothic scenarios that are hard to maintain and improve. To do so, we will look at the last block, "Exit Block". Exit Blocks are black and are super useful to: prevent a scenario from triggering in a specific range of time, run another scenario following a specific behaviour.

Stop scenarios", it's a black block, meaning it's an exit block. In this case "Stop Scenarios" is set to prevent the bot from being triggered within the next 24 hours windows.
Run Scenario", it's another black block, In this case "Run Scenario" is set to to trigger another scenario.
🛑✋🏼 To run one scenario from another, there is something special you need to do: discard the "user message matches" from the scenario being ran. YES, you read it correctly. A scenario that is ran by another one can't work if there's a user message matches at the beginning of it.
⚠️ A simple training you can do
Remember the two scenarios we've been working over this guide? This is time for you to connect them.
Go back to your weekend responder and add stop scenarios and run scenarios so it links to the department routing bot.
Want to better understand how to create looping bot and how you can create scenarios that can help your customers to "go back" to previous choices? Here are some scenarios you can download and import to your own Crisp Bot Workspace:
Bot scenario: Loop A - Initializer
Bot Scenario: Loop B - looper
Bot Scenario: Loop C - Forwarder
Don't know how to import a chatbot scenario to your workspace? Click here to follow the guide.
Still have questions? We're here to help, send us a message through the chat 🤗
Updated on: 06/06/2023
Thank you!