It’s really easy. Pull the block from the toolbar, then pull a couple more, connect them with lines and season with some data processing and integrations – Voila! Your bot is ready and you can test it immediately. But when your users start to communicate, things tend to get a bit more complicated. “Hey, there’s a dead end here, we need to add some quick replies”, “Look, these two intents can get mixed”, “Ok, we need one more button to make a reservation” – your bot can quickly turn into something unmanageable, and your overall business objectives fade behind blocks, buttons, replies and integrations.
We’ve decided to put conversational design on top, so building bots in Architect is really easy and straightforward. Instead of managing the bot as a whole, you can teach him some small skills– short conversation flows that fulfill a specific action or provide user with some specific value. These flows are then triggered by events – and you can use almost anything as an event. Some examples are: (1) user pressed a button – that’s an event, (2) user said something that was recognized as natural language intent – that’s an event too, (3) timer was triggered – event again, and so on and so forth. Here’s an example of skill that is handling subscriptions and unsubscriptions to bot updates.
Conversation builder is based on the concept of “events” that drive bot interaction with end-users.
Note how “Subscribe me!” and “Unsubscribe!” buttons are sending events that are being caught by CATCH blocks to trigger certain mini-flows. Good news is that once you’ve defined flow for a certain event, you can trigger it from anywhere in the bot by sending this event with a SEND block – for example, if you have “Unsubscribe” button hidden deep in another skill or connected to NLP intent (more on that in a moment).