How do I get started building a bot? What tool do you recommend?
These are two of the most common questions we get, and for a long time, we didn’t have a solid answer. What Quartz has built until now has been completely custom, which is both a great luxury, and also hands-down the most obnoxious answer we could offer to those questions.
So here’s our attempt at a better answer: We spent the past couple of months testing dozens of bot-building tools. (Our eyes are still twitching.) In the process, we found a tool we love and are using for all of our Bot Studio chatbot projects: Dexter.
Test all the things
Many, many tools crowd the bot-building landscape, with different purposes and promises. They range from prototyping tools that lack actual interactivity, to tools with incredibly robust back ends incorporating AI and NLP.
To test the ever-growing list of tools out there, we created a script that checked off a number of things that were important to us: branching narratives, rich media support, smooth integration into Facebook Messenger, and the ability to create nuanced notifications. (For more on this, check out our script, which has more detailed notes.)
We plugged the same script into all of the tools, to see which tools performed best on specific tasks. It also helped us view each tool objectively, so we weren’t just passively accepting what what the tool suggested.
The vast majority of tools are point-and-click, meaning they’re using some assemblage of draggable boxes, lines, pop-ups, and drop-down menus to allow users to design and build their bots. This works great for single-purpose bots that don’t have many moving parts—the FAQ bots of the world, for example.
For that drag-and-drop ease, you’re usually sacrificing more ambitious bot design, the ability to effectively troubleshoot, and speed. The more capable we wanted a bot to be, the more frustrated we grew with some tools’ limitations. When things broke, we couldn’t figure out why: was it our fault, or the tool’s, or some sad combination?
Above all, though, we couldn’t imagine wanting to write in many of these tools. They’re largely production tools, which force you to figure out another tool/system for designing and writing the content. And while we were proud of our Google docs scriptwriting system, it doesn’t scale very well. In the tools, it was easy to get lost and lose track of what content was where—especially with tools that required titles for every bot message or button. Search becomes incredibly hard.
That’s why Dexter was our favorite tool by a landslide. It doesn’t overwhelm you with options, yet almost anything is possible—and unlike almost all the competition, the tool puts text front and center, allowing you to focus on the language itself as you’re writing. The tool was so much fun we spent an extra few days trying to push its limits.
How it works
Dexter packs an incredible amount of power into its simple interface. It’s built on top of RiveScript, a scripting language for building bots. It’s incredibly easy to pick up, and Dexter’s documentation manages to be concise, thorough, well organized, well written, and easy to search. In short, the documentation is dreamy. The connection to RiveScript also means it’s ready to handle a complex script: typed responses, navigation based on a history of user selections, message delays and notifications.
Talking to your bot
For testing, the tool has a phone built into the console, so you get an immediate feel for your flow and how the text will appear on the screen. Error messages let you know when you’ve messed up.
Deploying the bot
Dexter works with Facebook Messenger, Slack, Twilio SMS, and (in beta) Twitter. We tested exclusively with Messenger. Deploying the bot to Messenger was perhaps the most convoluted part of the process, owing to the everchanging Facebook developer portal. Once you’ve gone through the steps once, though, you’re all set. We found it was useful to do this early in the process; since Dexter works with several different platforms, you won’t get the nuanced view until you test with your platform directly.
Some others we tested
Not everyone’s needs will match up with ours, so it’s important to note that other tools out there might be great for your script.
- Chatfuel seems to be the news industry favorite right now, and it’s pretty easy to create a bot flow. If you’re staunchly opposed to writing anything that resembles code, this is probably your best bet. Ultimately we found that the number of clicks required to accomplish a task slowed us down in production.
- For prototyping, we liked BotPreview, which allows you to create an animated flow. This is great for demonstrating a bot concept, but has no real interactivity.
- Reply.ai uses flow-chart interface to design conversations, with hooks to api.ai for your NLP needs. It’s easy to set up triggers, actions, and endings. It takes finagling but you can hook up Messenger to your bot and get a live demo URL to share.
- Manychat’s broadcast feature is really strong. It’s useful for testing narratives and chat strategy that accounts for a bot starting the conversation. It also has an extensive dashboard of user activity data.
Have another favorite we didn’t cover here? Let us know at firstname.lastname@example.org