Bot building and conversation design is not easy, but good software is the starting point to help you build better bots that your users love to use. In order to move your chatbot from a simple helper to a valued extension of your organization, you’ll need to spend some time thinking about the advanced elements that make a bot being “perceived” as smart.
In this blog, I will highlight the benefits of some advanced features that can help you build better bots. These features are part of the Blits Platform. Read more about the Blits platform here.
1. Adjust your conversations based on the user channel
In order to make your chatbot work on multiple channels (Teams, Alexa, WhatsApp, Website, Facebook, etc.) you need to make sure you implement some logic that structures and routes your conversation based on the channel. This enables you to build one bot you can adjust per channel, saving you a lot of time on maintenance and development. Blits supports channel conditions allowing you to shape just one bot that handles multiple channels, instead of duplicating bots for each channel. In addition, our conversation builder helps you verify if your conversation elements are supported by the connected voice and chat channels.
2. Organize your multi-skilled bots with bot-to-bot redirects
In order to scale bots across multiple skills, multiple methods are in existence. In order to reach the best performance, you need to think about separating your bot into different skills (multiple bots and NLU models). This is due to these skills being differently maintained in your organization, and context is differently processed on various topics. For example, customer service knowledge sits elsewhere in your organization than HR. We see the best results if you create a multi-disciplinary team in your organization, each contributing their knowledge and business logic. By using the Blits bot-to-bot redirect function, your ability to create a landscape of skills grows, accessing each other’s capabilities.
3. Use ‘language detect and translate’ to create multi-language bots
If your company operates in multiple languages, you want to make sure you can handle these in your bots. The best way is either automatically detect the language via user input, or set up a menu that enables users to switch a language. By using the Blits platform you can select ‘language detect’ and ‘language translate’ modules from Google, Microsoft, IBM, and Amazon in order to automatically detect in which language your user is trying to communicate with you. Next, translate it to your preferred language, or use it as a condition to switch to a bot trained in the user’s language.
4. Use a live-agent handover if users get stuck
Every bot gets stuck sometimes, which is a great learning opportunity. By connecting your bots to your CRM systems and your live-agents, these crucial moments turn into key differentiators. If your bot can’t handle a specific user’s question, the user is dissatisfied. If you prefer a complex question being handled by a real person, the bot can automatically give the conversation to a live agent using your existing system. The user won’t leave their channel and continues the conversation on the same screen. The live-agent even can give the conversation back to the bot, starting at the right intent. Blits even supports automatic handover of conversations based on negative sentiment detection.
5. Run multiple intent engines at the same time, to track your performance
Different use-cases and language will get you different results at different AI engines. The better your engine is performing, the more customers and users you can help with your bots. In order to know which engine performs better detecting trained and untrained questions, you should run multiple engines (in the backend) to benchmark your performance. Blits support you to run up to 6 engines at the same time for intent recognition. Next to continuous insights on your NLU performance, running multiple engines at the same time makes it possible to benchmark your different language datasets across engines.
6. Auto check for entities in your user’s conversations
Entities are magic when it comes to chat & voice bots. They give you the power to detect elements from utterances and make conversations smart. Often you may use multiple entities in order to structure your conversation as best as possible. If you need multiple entities (name, email, date) to continue a process, like signing up for a webinar, you want to be sure your bot logic can handle situations where the user starts with inputting one, two, or more entities. You will need to follow up with additional questions in order to get the missing entities. To limit bot builders to create huge conditional flows, we’ve implemented a helper for this.
-> My name is Len, I would like to signup for you webinar tomorrow. <- Hello Len, great that you want to attent our webinar tomorrow, what is your email adress?
(in this example the user’s utterance is missing one required entity for the signup process. Using the Blits multiple entity check the bot will automatically respond with asking the remaining missing entities).
7. Create and store objects to prevent asking questions twice
Users tend to dislike answering a question twice. Various solutions try to solve this by implementing non-linear flows. This is a great solution but limits your flexibility to match your preferred conversation design and company processes and is sometimes like a black box. If you create a bot with a more linear design you have more structure, but you have to think about storing answers and make sure you check these conditions further in your interactions to make the conversation feel natural. For example, if you ask your user for a name and email, you should make sure you save this in a (user) object. This way you can make sure if the conversation hits a signup flow, you check if their email and name are already known and if so skip these questions. In the Blits platform custom objects can store across conversations and channels, thus preventing asking a question twice to a user.
8. Create dataflows to run your companies processes
Smarter bots require data from your organization to make them valuable to your users. Retrieving the status of a customer invoice will require you to make some queries on your existing IT architecture, sometimes multiple systems. Just using an API or webhook will not be enough to ensure things run smoothly in your conversations. You have to design structures in your conversation that think about the “unhappy” flows or specific conditions. For example, if your customer enters the wrong details resulting in a data retrieval error, you should adapt by asking an additional question. Creating a conversation process flow in Blits helps you create and maintain a chain of API requests, SQL queries, and conversation questions & answers to capture the happy and unhappy flow of your conversation.
9. Create custom analytics to measure your success
Having the correct insight is crucial to measure your bot’s performance and create a learning feedback loop. Next to unhandled question suggestions, user feedback and model improvement suggestions, you will require a lot of bot analytics just to understand how your bot is performing. In a lot of scenarios, you’ll need more than comes out of the box with any given tool. By creating custom trackers and counters, you are able to measure everything from NPS and KPIs to drop-off rates. This enables you to have full insights so you can focus on maximizing value for your customers. Our platform even supports creating custom widgets in your bots to create your own dashboards.
10. Build FAQ and intent-driven hybrid bots for speed
There is a continuous tradeoff between FAQ bots and intent-driven bots. FAQ bots are quick to set up, fast, and easy to maintain (via spreadsheets) but lack depth for your users. Intent driven bots give you full conversation design flexibility but require more time and skill to develop. Some questions are just simple, some questions are complex. By using a hybrid approach you are able to capture the best of both worlds. At Blits we enable bot builders to upload .csv import files that create intents and answers for every FAQ question (without a complex flow), which are very easy to maintain. If a specific question requires more depth, like follow-up questions, you can upgrade this specific intent and related answer to a conversation flow, giving full flexibility to shape the conversation and create smarter interactions.
11. Create content-rich chat elements with Adaptive Cards
Not every question has a simple answer, sometimes you need to give more context. Giving a weather forecast can be one digit, but your users would be guaranteed to ask a follow-up question. Showing answers in an adaptive card (an open-source concept by Microsoft) will empower your bots more content-rich answers, improving the quality of your answers. Adaptive cards enable you to include images, buttons, and customizable fields for your chatbot. There is even a function to state what your voice bots would speak if voice channels are used. At Blits we support building and reusing adaptive cards with all bots. Additionally, adaptive cards give your bot a more professional design.
Adaptive card Example
12. Maintain your IT integrations (SQL, REST, etc.) with centralized functions
Creating connections with your IT landscape will require some technical knowledge to make sure your bot can access data. For example, if you want to retrieve the status of an invoice you might need to execute an API or run an SQL query. This process is often handled by a developer user who understands how these concepts work. By creating functions that handle predefined inputs and outputs, your conversation designer no longer has to worry about complex software integrations. Your IT department or skilled employees, capable of setting up and maintaining integrations can then focus on building and maintain all connections across all your bots without worrying about the conversation design.
13. Build a library of re-usable subflows as templates
Speed and learnings are crucial in harvesting the potential of this technology. By creating reusable “building blocks”, the next bots or comportments become easier to build. Your organization should have tooling to create a library of elements you can re-use on multiple levels, to ensure you don’t do work twice, and to set standards. You should make templates of intents, entities, functions, variables, flows, answers, and even complete bots to speed up the building process. Complex conversation flows should be broken up into subflows, so you don’t have to rebuild the same logic in multiple parts of your bots.
Blits supports all the above and additionally allows you to make all these elements “globally” accessible, meaning they can be maintained from a specific bot and/or -user across all the bots in your environments. This makes it possible for department A to create a feature or process like creating a complaint handling design that department B can use, saving time and money.
14. Manage your organization with (custom) roles & permission
Not everyone in your organization is a born conversational designer. Building new NLU models, conversational designs, or setting up IT integrations require different skills, that are possibly distributed amongst different people. Making sure these people have the right permissions to create, connect, change & deploy specific parts of the chain is key in working in cross-functional teams and creating a learning organization. By using roles like designers and maintainers, multiple people can work on different parts of your bots simultaneously. Blits supports over 25 different permissions that can be shaped in roles that fit your organizational design.
15. Use custom code to tweak your data
// code example of date format change var day = parseFloat([day]); var month = parseFloat([month]); var year = parseFloat([year]); newDate = (day + month + year); return newDate;
These are just some of the advanced features that the Blits platform offers out-of-the-box. If you want to know more or want to check if you are eligible for a free trial, please contact us here.