Routing Customer Service Requests

Summary

Use IVR-style buttons to gather information about your customers' incoming support requests.

Bonus snippet: send an alert to a Slack channel for high-urgency cases.

Snippet

"default" topic:

+ *
- Hi there! In order to get you the best and quickest service possible, can you tell me what you need help with? ^buttons(Order Status, Product Question, Returns, Something Else)
 
+ order status
- Feel free to tell me your order number now if you have it handy. A representative will be in touch soon. <set type=<star>> {topic=human}
 
+ product question
- Which product line would you like help with? Please tell us your question, and someone will be here to help you shortly. <set type=<star>> {topic=human}
 
+ returns
$ POST https://hooks.slack.com/services/XXXXXX/YYYYYY/abcd1234 {"headers":{"Content-Type":"application/json"}, "body":{"text":"New returns request from <get _userFullName>!"}}
- Sorry to hear you weren't satisfied with our product. Tell me your order number to get started with the return. <set type=<star>> {topic=human}
 
+ something else
- Hang tight, getting a real human on the line to help. In the meantime, please describe your request. <set type=<star>> {topic=human}

"human" topic:

+ *
- <noreply>

Explanation

The "default" topic uses buttons to guide customers into selecting a correct categorization of their issue. We save their response to the type user variable.

After the customer selects the type of request they have, we immediately route them to the "human" topic, which simply has a <noreply> direction associated with a catch-all, which tells the bot not to respond to anything. This allows you to respond directly to the user over your customer service channel.

This snippet works the best when combined with Dexter's Relay, but you can use any customer service platform connected to your bot, such as Facebook's native Messenger Inbox.

Additionally, we've configured the "returns" request to do something special here—it notifies a channel on Slack about new incoming requests, effectively escalating the issue. Simply replace the URL in this snippet with your own incoming webhook to make it work.