Customer Service (FAQ) Bot
Walkthrough Level: Medium
Customer service is one of the most popular applications for chatbots, with good reason. Chatbots can be great for handling routine interactions or helping customers complete common, repetitive tasks. By automating parts of the customer service experience, both agents and customers save time and energy!
In this walkthrough, we cover a common customer service scenario -- the FAQ bot. Here, a company wants to have the bot automate responding of common inquiries, but the bot will still allow for human intervention if a user has questions that the bot cannot answer.
Let’s Get Started!
One of the themes we provide when you add a “+ New Bot” is the FAQ Bot. Let’s walk through a new FAQ Bot for “Acme Corp.”

We begin in the default topic. Here, we start off with triggers to handle standard greetings a user might say to kick off a chat with your bot.
|
|
|
|
|
|
|
When a user says “Hello Acme Corp!” to the bot, the bot will respond with a greeting “Hey there! I’m here...” followed by the redirected response underneath the help trigger, How can I help you? ^buttons(Hours, Services, Contact Info, Talk to a Human).
Lastly, we send the user off into the “faq” topic with a {topic=faq} transition.
Inside the FAQ Topic
Now that the user is in the FAQ topic, the bot has a new set of triggers that they will use to look for a response before they default back to the triggers in the default topic.

The user can ask about Hours, Services, or Contact information in this topic and the bot can automatically respond with programmed responses.
If the user asks the bot for help that none of these triggers can tackle, it will default back to the catch-all trigger in the default topic (since there is no catch-all trigger in the faq topic). In this case, the catch-all trigger redirects back to the {@ help} trigger and the ^buttons() above to remind the user of available inquiries.
|
|
|
The Human Touch
We know that there are questions that the bot can’t answer. (We even wrote a blog post on this!)
That’s why one of the choices we have in the ^buttons() shortcode is the option to let the user speak with a human. When the user asks to “Talk to a Human”, we send them to the first in the following set of triggers:
|
|
|
|
|
|
|
The user can confirm that they do indeed want to “Talk with Someone Now,” which brings them into the “human” topic. You may notice that the “human” topic only has one catch-all trigger:
|
|
|
Once the user is inside the “human” topic, the bot won’t respond at all because of the <noreply> direction! When the user gets tired of the silence, the user can type “menu” at any point and exit the “human” topic. The user will hit the “menu” trigger in the “default” topic, which has a weight of 10.
|
|
|
How Can We Help?
There are so many different ways one could design a customer service or an FAQ bot!
We hope this template gives you an idea of one possible way to structure your bot conversation and how Dexter can facilitate your company's conversation with potential customers. If you need more customer service solutions or you’ve made your own interesting customer service bot, tell us all about it!