Digital assistants
Chatbot panel
Description
Chatbots are conversational apps that perform a specific set of tasks. They communicate with users, respond to their questions, and proactively notify them about changes and other events.
Use chatbots for repetitive tasks or to simplify a process. For example, approving time-off requests from employees or guiding a user through available options.
Anatomy
Anatomy
Size
- The chatbot height adjusts to the content page. Display a vertical scrollbar when the content exceeds the maximum height of the chatbot content area.
- Customize the chatbot width depending on the screen size.
States
A chatbot does not have states but can be offline if errors occur in the background.
Offline state
Planning a chatbot
Before designing a chatbot, define the following.
- Purpose. Be realistic and create a chatbot for simple tasks. The limited chatbot interface does not handle complex tasks well.
- Personality. This includes tone of voice, feedback, the user interface, and visual language used in the chatbot.
- Third-party tool used. For example, Microsoft Teams, Telegram.
Designing a chatbot
Conversation flow
Conversation flow is the effortless exchange of ideas and responses in a conversation.
When designing a chatbot, write a script and create diagrams that map the conversation flow between a user and the chatbot. This includes how a conversation with the chatbot starts and ends. A conversation flow can be linear or branched.
Learn how to write chatbot conversation flows.
Conversation flow
Launching a chatbot
Launch the chatbot using the 'Chat' item in the Help menu in the Navigation: Global component or using a Button: FAB at the bottom right of the screen.
Navigation: Global trigger
Button: FAB trigger
Chatbot open
Starting a conversation
Include these elements in a new chatbot conversation.
- Privacy policy message. Displayed at the top of the chatbot container when the first conversation starts. It disappears when the first-time user initiates a chat.
- Start date and time. Displayed each time a user starts a new conversation with the chatbot.
- Welcome message. The chatbot introduces itself and explains what it can do.
- Tour. Shows the user what the chatbot can do. (Optional)
Welcome message
Tour (optional)
User requests
Users can request information and help from chatbots in 2 ways.
- Users enter text questions and a chatbot answers them.
- Users enter predefined commands and the chatbot performs the relevant tasks.
Chatbot responses
Learn how to write chatbot training questions.
Simple query
Multi-turn interaction
Typing indicator
Human support
Notifications
Ending a conversation
There are 3 ways to end a conversation.
- The request is solved and the user has no more requests.
- The user closes the chatbot.
- The session times out after 5 minutes of inactivity.
Request solved
Close
Time out
Header
- The header is a navigational element at the top of the chatbot.
- It contains an avatar, contact information, and a call to action (CTA) button.
- Make the header sticky so it's always visible when a user scrolls vertically.
Sage assistant
Sage agent
More (optional)
Collapse
Close
Chat bubbles
The Chatbot container uses the Bubble component.
Footer
- The footer is an input area that lets the user interact with the chatbot.
- Make the footer sticky so it's always visible on the bottom when a user scrolls vertically.
Default
With files
Attach a file
Tone of voice
- Be more friendly and interactive than typical UI content.
- Include the user's name, express emotions, and show some personality.
- State the chatbot scope in the welcome message.
- Make the chatbot gender neutral.
- Use a natural language flow to make the interaction intuitive and conversational.
- Avoid slang and text speak. For example, brb, btw, b4, gr8, gtg.
- Allow users to communicate with the most common emojis.
Chatbot questions
- Ask multiple choice questions to narrow down the answer.
- Do not overload the user with questions.
- If more information is needed from the user to give a correct answer, use a maximum of 4 follow-up prompts.
- Use open-ended questions rather than Yes or No questions. For example, “Do you have another question?” or “Ask me any other question you have.”
- Avoid rhetorical questions. For example, “Incredible, isn’t it?"
- If a user question matches 2 or more answers with very similar confidence scores, ask the user to confirm the best match.
Chatbot answers
- Create full answers with a period or punctuation mark.
- Keep answers short and clear. Chatbots work better in conversational format. If users have another question, they’ll ask again.
- Reuse question keywords in the answer to make sure the chatbot understands the user’s question. For example, “To create a new user account, go to File > New > User account.”
- Provide the final answer if the user gives all required information in their first question.
- Avoid starting answers with phrases that depend on how the user asks their question. For example, do not use Yes, No, “That's correct,” “That's not the case,” “You're right.”
- Use images and videos to add a variety of information.
- Where relevant, include a walkthrough and a link to a knowledge base article.
- Do not overuse emojis in answers.
Flow and repair
- If possible, create flows that trigger an answer with just the topic keyword and redirect the user to the questions in scope for the keyword.
- Give a way out of the conversation flow. For example, when the user types cancel, go back, begin, or if the user triggers a different flow by typing a new question.
- When reporting a problem to the user, always suggest a solution.
- Add more information or context on repeat errors. This avoids an infinite loop.
- When a user question has no answer, make it clear that the chatbot cannot help.
- Ask the user to rephrase the question.
- Give a menu of common requests.
- Redirect the question to another knowledge base, to support service, live chat, agent handover, or Sage University.
Translations
Chatbot language is conversational and idiomatic. Work with translators to interpret chatbot messages and adapt the conversational tone as appropriate.
Chatbot content examples
Note that the conversational tone can be very different in different regions.
| Conversation element | Example |
|---|---|
| Welcome message | Hi I’m Demo Bot. I can help with {keyword}. You can ask me about things like 'example_question1' or 'example_question2'. |
| Ask the user to confirm the best match. | Do you need more {keyword} information?Do you need help with {keyword}? |
| Repeat information to show that the bot has understood. | Chatbot: Which company’s invoices would you like to see? User: Smth build. Chatbot: Great, let’s get you invoices from Smyth’s Builders! And how many months do you need? |
| Ask the user a yes or no question for clarification. | Chatbot: Which company’s invoices would you like to see? User: Schmet blder. Chatbot: Did you mean Smyth’s Builders? |
| Follow up prompts for clarification. | Chatbot: What can I help you with? User: My order. Chatbot: Sure, I can help with orders. What would you like to do: place an order, or check an existing order? |
| Redirect the user to questions that are in scope for the keyword. | I understand that you’re asking about payroll. I can help you with: 'in-scope answers'.” |
| Repairing conversation flow. | Take your time. Let’s give it one more try. Don’t worry, we can do this another way. Let me transfer you to a customer support person who can help. |
| User question has no answer. | Sorry but I did not understand. Please try again using different words.Here are some things I can help with: [short menu]I don’t know anything about that topic. Could you ask your question in a different way? |
| Closing message | It was nice chatting with you. Just text me if you need something!Thanks for chatting!Nice chatting with you . Just text me when you need my help again.Is there anything else I can help you with? |
Training questions
Users can ask a chatbot for information in many different ways. Create training questions to teach the chatbot.
- Write 10 to 20 training questions for each intent. An intent is information the user wants to find or learn.
- Use alternative words or phrases for questions.
- Change the sentence structure of the original question.
- Use a minimum of 3 words in a well-formed question format and put the question in context.
- Create alternative questions for each keyword that can trigger the answer.
- Plan for misspellings and typos by the user.
- Include help center search terms, bot reporting, and chat transcripts where possible.
- Make sure the questions do not include symbols, mark-down characters, or private user information.
- Avoid non-functional words. For example, hello, please, thank you, I’m Lisa, hello .
- Do not write the same answer for different user questions. Instead, add both questions in the same question and answer pair.
Resources
| Term | Definition |
|---|---|
| Agent handover | See Live chat |
| Bot | See Chatbot |
| Bundle flow | Situation where the user asks a question related to a topic and the chatbot groups all questions related to this topic into a single flow. |
| Chatbot | Program that communicates with a human using natural language. The program can have its own graphical interface or be connected to an existent messaging app like Skype, Teams, or WhatsApp. |
| Chatbot output | Message sent from the chatbot to the user. It usually relates to answers, but can also be questions or prompts to the user. |
| Chitchat | See Smalltalk |
| Complex flow | Flow that takes more than 1 conversational turn. |
| Conversational AI | AI system that uses a conversational interface. It can be voice based (assistants), text based (bots), or a hybrid. |
| Disambiguation flow | Situation where the user input can be matched to 2 or more intents. It's good practice to ask the user to disambiguate between the possible intents. |
| Domain | Chatbot answers related to a question about products. |
| Example questions | Variations of user inputs that relate to the same intent. They're used in the chatbot training phase. |
| Fallback | Default message or action returned when the user input does not match any intent in the knowledge base. |
| Flow | Structured path from the point where the user intent is recognized to the point where the chatbot gives an answer to solve the user query. It can take one or more interactions between the user and the chatbot. |
| Follow up | Prompts presented to the user in the form of clickable buttons or suggested actions. |
| Happy path | Best possible journey that a user can take with the chatbot. |
| Intent | Information the user wants to find or learn. A chatbot processes the user query by matching the input text to available intents. A user can phrase what they want in different ways. For example, Hi, hello, and hey ya, all relate to the same intent: Greetings. |
| KB | See Knowledge base |
| Knowledge base | Database that stores all bot answers and example questions with which the chatbot was trained. |
| Live chat | Situation where the chatbot hands over the conversation to a chat agent or voice agent. |
| Natural Language Interaction (NLI) | Interaction between a human and machine that uses natural language as the main interface. |
| Natural Language Processing (NLP) | Technology that processes human natural data into computer-structured data. For example, speech recognition, parsing, tokenizers. |
| Natural Language Understanding (NLU) | Technology that processes computer-structured data from NLP into categories that are easy to interpret by computers. For example, text categorization, sentiment analysis, intent recognition. |
| Out of scope | User input for which there is no relevant question in the knowledge base. |
| SafetyNet | See Fallback |
| Simple flow (FAQ) | Most basic type of flow where the user query is answered by the bot in 1 conversation turn. It usually relates to a question and answer. |
| Slot filling | Situation where the bot needs additional information to solve the user intent, so the bot prompts the user for this information. Example, “I want a coffee.” “What kind of coffee do you want: espresso, caffe latte, or regular?” |
| Smalltalk | Chatbot answers dealing with non-product issues. For example, “Hello.” |
| User input | Message sent by the user to the bot. It usually relates to questions or queries, but can also be answers or comments. |
| Utterance | See User input |
| With integrations | Situation where the bot needs to connect to external services (APIs) to solve the user intent. Example: “What is the weather forecast for Barcelona today?” |
| Date | Change |
|---|---|
| September 2024 | Copied information from Product design system. |