Top 10 Rules for writing a bot

Posted on Posted in Main

So, you’ve started writing a chatbot? Maybe you haven’t started writing a bot, but you’re wondering how this all works. I can share with you some insights that I’ve discovered in the last six months trying to learn as much as I can about this subject.

1. Use Rich cards whenever possible If you’re using a platform like Slack, or Facebook Messenger…they provide many great UI features that you can leverage to make a better experience. Use them to disambiguate, use them to make it clear to the user what it is you’re expecting from them. Setting expectations is one of the best ways to improve the user experience.

2. Use Machine Learning for Natural Language Processing There are cases where you the user wants to send free form text to your bot. It is relatively easy to use APIs from Microsoft, IBM, and Api.Ai to take the free form text and turn it into an intent that you can work with. For example, “I’m in Michigan, and I want to know where your nearest store is”. The intent can be that the person is asking for the ‘Nearest Store’. The way they ask it will almost always vary.

3. Use Analytics If you’ve created a bot you’re really proud of, the next step is to put it online and see what happens. This is a critical stage. You need to track how people are using your bot and learn from those interactions. You’ll be surprised as how some of your assumptions are changed once you see the results of user interactions.

4. Escalate! If your user is having trouble, you need to help them in a progressive manner. Offer a simple text suggestion on the 1st pass, but add hero cards, links, and additional suggestions if they continue to have problems. Finally, add a live person to the conversation if that is an option.

5. Support Multiple Channels It is great that you’re on Skype, or SMS. It is better if you create an experience that can be consumed on Facebook, Slack, and on your website too.

6. Iterate Never settle for V1. You may have 80% of the experience nailed. The trick is the remaining 20%. That’s where the real hard work is.

7. Leverage features of the platform Did you know you can take payments and send your location from Facebook Messenger? Use those features when they’re available and they pertain to your particular use case.

8. Start conversations, but be careful You can initiate conversations with the user once they’ve contacted you. This is a great way to improve engagement and not let the usage drop to zero. Notify them when a useful news topic came up, or that they have items in their cart that they haven’t purchased. Use this power with caution to not turn off the user. You need to add value to the experience.

9. Let them know you’re a bot It isn’t a good strategy to try to trick the user. Always let them know you’re automated, but can be very useful. Users will accept this, especially when they having success early in the experience.

10. Provide Value I cannot stress this enough. Users will not be impressed that this is your first bot, or hey…look at us we created a chatbot! No one cares. You need to create utility with the service you’re providing. Create a news app that monitors your preferences, then recommends stories based on your behavior. That would be valuable to most users, not a birthday cake emoji sent to you on your birthday.