- 12 May 2025
- 5 Minutes to read
- Print
- DarkLight
- PDF
Blog: Build your own chatbot
- Updated on 12 May 2025
- 5 Minutes to read
- Print
- DarkLight
- PDF
Who should read this article: Administrators
What to consider when you design a chatbot using a digital flow in Flow Builder.
This is part 1 of the Build your own chatbot use case.
Introduction
The Digital flow canvas in Flow Builder enables you to design a self-service chatbot to handle inbound Digital Channels interaction flows. The Digital flow canvas supports the following interaction flow nodes:
Icon | Node | Description |
---|---|---|
![]() | Start | The first node of every flow. When an interaction reaches the flow according to the business rules, such as day and time, the flow starts here. A flow may have only one Start node. |
![]() | Message | Send an automated chat, WhatsApp, or Telegram message to the contact. This node leverages variables to personalize messages. |
![]() | HTTP Request | Seamlessly integrate interaction flows with web services, such as CRMs, help desks, e-commerce software, websites, and other data sources. |
![]() | Conditions | Routes interactions based on defined rules or criteria, enabling logic-driven decisions that determine how a contact’s request is handled. |
![]() | Route | Direct the interaction to a Queue or Agent. |
![]() | End | The last node of the flow if an interaction was not routed to any other node. Archives the interaction. A flow may contain multiple End nodes. |
Planning your chatbot
When designing a chatbot workflow, there are several factors the flow architect should consider to ensure the chatbot is effective, user-friendly, and capable of handling a wide range of contact inquiries and situations.
Here are 10 key considerations:
1. Intent recognition
Identify the most common intents, or reasons, for inbound interactions. Determine which can be managed by the chatbot and which need agent assistance. For self-service intents, map out clear workflows that meet the contact's needs, such as flight searches or hotel bookings.
2. Define the user journeys
For each intent, define a clear user journey that resolves the contact's request without agent intervention. Outline the steps from inquiry to resolution, like searching for vacation packages, selecting options, and confirming a booking.
Try to limit the number of choices at each step to avoid overwhelming the contact. Too many options make it harder to choose the right path. Simplified options keep the interaction streamlined and user-friendly. Fewer choices also leads to quicker decision-making, which results in faster resolutions and a smoother overall experience. Finally, by limiting options, the chatbot can guide the contact toward the most relevant solutions.
3. Fallback and error handling
Chat interactions can be unpredictable. Contacts might send unexpected or incorrect information in their messages or data in your external service might not be correct or might not be found. At each step, plan for unexpected inputs and errors, such as incorrect information or missing data. Implement fallback options like looping back or routing to an agent when needed.
Include timeout counters in your messages to keep the conversation going. If a contact does not respond in a reasonable amount of time, prompt them to determine if they are still there or need more time.
4. Personalization and data collection
A chatbot that recognizes who a contact is helps to create a personal experience for the contact. Leverage custom variables to insert personal information into messages, such as the contact's name and personal preferences.
Gather and save personal information by using custom variables to store responses and HTTP requests that POST information to your data service.
If the travel agency example, you can gather and store contact information such as preferred travel dates, destinations, and budget, then use it to offer personalized responses.
Personalizing interactions in this way helps to keep the contact engaged and encourages them to use the self-service capabilities of your chatbot rather than requesting to chat with a live agent.
5. Integration with external systems
The power of a self-service chatbot to be reactive comes from integration with data services such as booking platforms, CRMs, payment gateways, and customer databases. Create messages that prompt the contact for the information that you need to retrieve or update real-time information in your external services.
Use the Message node to gather information from your contact.
Use the Conditions node to make routing and action decisions based on contact input.
Use the HTTP request node to make HTTP GET and POST requests to your external data services.
6. Multilingual Support
If you use a single inbound flow to handle contacts who are messaging from different locales, consider creating separate flows and chat messages for each language that you support. Consider using your initial welcome message in the flow to ask the contact to select or specify their preferred language, then conditionally route the interaction to the chosen language.
7. Proactive suggestions and offers
A critical feature of successful chatbots is staying in control of the conversation. Your chatbot should anticipate what the contact's messages will be and make suggestions that guide the contact to offers and promotions that are likely to lead to rapid resolution.
8. User authentication and security
Securing conversations and transactions by authenticating the contact are critical to ensuring the security of the contact's sensitive data and your contact center.
Leverage the HTTP request and Conditions nodes along with Voiso's Developer API to send One-time Passwords (OTP) by SMS or WhatsApp messages to the contact to verify their identity.
9. Smooth hand-off to agents
It is important to consider triggers that indicate that an interaction should be routed to an agent. Always give your contact the option to request human assistance. If a contact feels stuck, is not responding to messages the way you expect, or stops responding, consider offering the opportunity to be routed to an agent or to request a callback using the HTTP request node to send a request to the Scheduled Callbacks API.
10. Message tone
Tone refers to the attitude or emotional quality conveyed by the chatbot's language. It’s the way the chatbot’s messages “sound” to the contact. Tone is based on the choice of words, phrasing, formality, and style of communication. Tone helps establish the chatbot’s personality and influences how the contact perceives the interaction.
Think of your chatbot as an agent representing your organization. That chatbot should "speak" with the voice of your brand. Is your brand casual and friendly or formal and serious? The right tone helps your contacts to connect with your brand.
The chatbot's tone should put the contact at ease, giving them confidence when dealing with sensitive information, being empathetic, polite, and approachable in customer service contexts, and communicating the meaning of your messages clearly.