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.”

FAQ default topic

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.

+ [*](hey|hi|hello|sup)[*]
- Hey there! I'm here to help you answer some questions about Acme Corp. {@ help}
 
+ [*] help [*]
- How can I help you? ^buttons(Hours, Services, Contact Info, Talk To A Human) {topic=faq}

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).

Best Practice: We want to provide the user with some guidance on what the bot can do, so offering options through the ^buttons() will encourage the user to make the right inquiry.

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. FAQ faq 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.

+ *
- Hmm, I'm not sure I understood that. {@ help}
Add some easter eggs to show off your brand's personality!

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:

+ [*] human [*]
- Alright, you're looking to chat with a real person? Hit the button below and I'll stop automatically responding and forward your replies to a human, who should be in touch soon. (You can say "menu" to return to my automated responses.) ^buttons(Talk with someone now)
 
+ talk with someone now
- <noreply> {topic=human}

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:

+ *
- <noreply>

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.

+ menu {weight=10}
- {@ help} {topic=faq}

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!