Create a chatbot
Guidelines and best practices

Guidelines and Best Practices

When you create a chatbot, you need to consider the following:

  • Design of the chatbot: The logic or flow, guiding the end user from one dialog to another, and the right chatbot elements to use.
  • Conversation: The content of the messages, when to send the relevant messages, and the chatbot personality.
  • Entry points: How the end user can access the chatbot.


Message Content

  • Provide relevant information.
  • Provide accurate information.
  • Check grammar, spelling, punctuation, and capitalization.

Chat initiation and introduction to chatbot

All chats are initiated by the end user. The end user sends a message, such as Hi, to the chatbot. The chatbot now needs to respond with an initial message.

Initial message for first-time end users

For first-time users, the initial message from the chatbot contains a greeting to the end user and an introduction to the chatbot. Example: Welcome to Infobip's official WhatsApp channel. I am Omnia. I can help you with your queries regarding our products and channels.

After you send the initial message, start the end user journey.

Initial message for returning end users

For returning end users, the initial message contains only a greeting to the end user. It does not need to contain the introduction to the chatbot. Personalize the initial message and avoid repeating the same message every time they return.


  • Welcome back. How can I help you today?
  • Hi again, what can I do for you?
  • Hi {username}, nice to see you again. What can I do for you?

After you send the initial message, start the end user journey.

Start the journey

You can start the journey in one of the following ways:

  • Show a menu. The end user can choose an option from the menu. The chatbot routes the conversation based on the end user's selection.
    Using a menu helps in the following ways:
    • Tells the end user how the chatbot can help
    • Guides the user in continuing the conversation
  • Enable the end user to ask free-form questions. For rule-based chatbots, add all expected free-form input from end users as keywords. For AI chatbots, add sufficient training phrases to make sure that the chatbot understands the intent of the end user.
  • Show a menu as well as enable the end user to ask free-form questions. Use a hybrid chatbot.
Welcome message

If you use a menu, do the following:

  • In the menu, show 3-4 generic options.
  • Offer guidance and give tips about how to select an option. Example: Add an explanation in the message about the menu options or provide descriptions with each menu option.


  • Manage the end user's expectations and let them know how the chatbot can help.
  • End with a clear prompt about what the end user needs to do. Example: What can I do for you? How can I help today?
  • For returning end users, do not be redundant or provide excessive explanation. The initial message must not be long. The message must show that it recognizes the end user as a returning user.
  • Focus on the end user's request.
  • Avoid being chatbot-centric.
  • Do not tell the end user that the chatbot is incompetent.
  • Do not ask the end user for help or feedback in the initial message.


Incorrect: "Hi, my name is Omnia. I am still learning. So, please help me by giving feedback after our conversation."

Correct: "Hi, I'm Omnia. What would you like to know about Infobip?"

End the Conversation

You can end a conversation in the following ways:

  • Encourage further conversation: Depending on the purpose of the chatbot, encourage further conversation. Example: If you have a chatbot through which end users can purchase your products, you might want the end users to continue the conversation.
    You can use messages such as the following:
    • Can I help you with something else?
    • Is there anything else that you would like help with?
  • Thank the end user and end the conversation: If the end user does not want to continue the conversation, thank them. Encourage them to revisit and share instructions about how to contact the chatbot again.
  • Collect feedback: Ask at the correct time to avoid losing the end user. Do not ask too soon or too late. Make sure that you have addressed all their queries before you ask them for feedback.
Closing message

Chatbot break messages

Sometimes, an end user might send a message that the chatbot does not understand or ask a question that is out of the scope of the chatbot. In such cases, acknowledge that the chatbot cannot help. Redirect the end user to either the main menu or a different conversation flow.

In other cases, the end user might not respond to the chatbot or provide incorrect information.

These issues can occur at any time during the conversation.

You can do the following:

  • If the chatbot cannot understand the end user's question, apologize, and help the end user by suggesting alternatives. Example: Unfortunately, I could not find a branch office near your location. Do you want the location of the nearest ATM?
  • If the end user provides an incorrect response, ask the end user to send the correct response. Example: Sorry, I could not find the address that you provided. Would you like to try again?
  • If the end user's question is out of the chatbot's scope, apologize and help the end user by stating what the chatbot can do.
  • Offer them the option to talk to an agent.
  • Request them to rephrase their question.
Chatbot break message


  • Follow apologies with suggestions for the next steps.
  • Do not apologize too much.
  • Do not highlight the chatbot's shortcomings.
  • Design fallback prompts for cases where the chatbot cannot understand the end user's message. These are messages that explain how the end user can proceed with the conversation. Example: Please choose an option from the menu.
  • Use variations of fallback and error messages so that the conversations seem natural and humanlike.

Transfer to agent

When transferring a conversation from the chatbot to an agent, it is important to be transparent and manage the end user's expectations.

Be cautious about providing the option to contact the agent to avoid an increase in the number of communications with agents and to avoid an increase in the cost of customer support.


  • Offer agent transfers only for use cases that are better handled by agents.
  • Do not make agent transfers a default or mandatory process. Offer the end user the option to talk to an agent. Transfer to an agent only if the end user accepts.
  • Before transferring to an agent, collect information that will help the agent handle the conversation more efficiently. Example: Information about the end user and the reason for contacting the chatbot.
  • Let the end user know what is happening.
    I will contact the agent.
    I am checking if an agent is available.
  • Give an approximate expected waiting time. It is better to slightly overestimate the waiting time than underestimate so that you set the correct expectations.
  • Use the waiting time to get more information about the end user or the reason for contacting the chatbot.
    Example: In case the information that the chatbot has already obtained is not clear enough for the chatbot to understand the context to connect to an agent.
  • Give updates about the status and waiting time.
    Example: Sorry. All the agents are busy. The waiting time is 4 minutes.
  • Inform end users about agent availability to set up expectations.
    Example: We are finding an agent to get an answer to your query. Please wait for 2 minutes.
  • Give fallback options if agents are not available. Example: Link to a relevant webpage, direct to an FAQ section in chatbot.
Agent transfer message

Obtain opt-in

When end users initiate a conversation with the chatbot, you have a 24-hour window to respond to the end user. You do not need to obtain an opt-in to respond.

However, if you want to initiate the conversation or respond outside the 24-hour window, some channels, such as WhatsApp, require that you collect opt-ins.

When an end user contacts your chatbot, you can ask them to opt in during the conversation. You can then send them business-initiated messages such as marketing campaigns, promotional offers, and reminders. Example: Hey, did you know that our sale ends today? Hurry up and get a 20% discount!

Follow these guidelines when you collect opt-ins.

  • Opt-in messages must be clear and transparent. State that the end user is opting in to receive messages from the business over the channel.
  • State the name of the business from which the end user is opting to receive messages. You can also display the business name as the sender name.
  • Comply with regional regulations and channel guidelines.
  • Obtain opt-ins as a natural extension to the conversation.
  • Tell the end user about the benefits they get if they opt in.
  • Add an option to enable the end user to opt in later to make sure that a potential lead is not lost. Example: Add a maybe later option.
  • Include a check for opt-in in initial dialogs.
  • Let end users know how to opt out.
Agent transfer message

Add terms and conditions

Add a message telling end users that by proceeding with the conversation with your chatbot, they agree with your terms and conditions. Add a link to the terms and conditions.

Conversation guidelines

Focus on the end user

Example: Use you instead of I.

Be clear and concise

Use precise and simple words. Avoid unnecessary details but convey the required information effectively.

Use short sentences

Short sentences are easier to read. Remove as many words in the message as possible but keep the core message. Make sure that the changes align with the chatbot persona and the brand's conversation tone.


Original:Do you want more conversions on your website?

Shortened sentence: Want more conversions?

Use active voice

Use active voice instead of passive voice. Active voice is more direct and focuses on the end user.

Add context

Example: Use attributes.

Format the text

Format the text to make it easy to read. Example: Use line breaks, and use bold font for important information.

Ask questions

Questions keep end users engaged throughout the conversation.

Questions are also important for gathering the information that you need to help the end users. Example: What is your preferred method of contact?

Use transitional prompts

Encourage end users to respond by using transitional prompts, such as questions. If you lead end users to a dead end, they are likely to abandon the conversation, which may result in a poor reflection of your support services.

Use hints

Hints help the end user navigate through the chatbot.

Use hints to guide the end user to do the following:

  • Get back to the main menu or the previous menu.
  • Restart the conversation.
  • Choose an option from a menu.
  • Respond or send a message to the chatbot.
  • Share data correctly. Example: Use the correct format for the phone number or email address.

When you add hints, consider the following:

  • The positioning of the hint in the chatbot's message.
  • The positioning of the hint in the chatbot journey.
  • The hint structure.
  • Specific formatting. Example: The like_bulb emoji, bold formatting of the text.

Be consistent in the entire chatbot journey so that end users can identify hints easily.

Hint in  message

Give suggestions

Give suggestions to guide end users with your products and services.

Example: If you are also interested in a credit card, I can show you your preapproved options. Would you like to see them?

Acknowledge messages

Let end users know that you have received their messages, have understood their requests, and are working on the requests.


  • OK
  • Got it! Let me get that information for you.
  • Sure
  • Alright
  • Excellent
  • Great
  • Wow
  • Super

Provide confirmation

Provide confirmation to let end users know that their query was handled.

Example: Now that we have checked your balance, is there anything else I can help you with?

Add variety

Adding variety makes interaction more engaging and natural. When possible, define variants of responses, fallback messages, or acknowledgements.

Use emojis and images

Use emojis, gifs, and images when it is appropriate. They make the conversation less strict and formal, and improve end user experience. The type of these elements and the frequency of usage must align with the chatbot personality and the brand's conversation tone. Do not use too many such elements because it can make it seem like the chatbot is not serious enough.

  • Do not use emojis as a replacement for words, but as an addition.
  • Add a space before an emoji.
  • Do not use emojis as a replacement for punctuation. Instead, use the relevant punctuation.
    Correct: Do you mean that you want to delete it?
    Incorrect: Do you mean that you want to delete it

Use informal phrases

Use informal phrases to make conversations sound natural.


  • By the way
  • Above all
  • Fortunately
  • Right
  • Anyway
  • In that case
  • Actually
  • In other words
  • Consequently
  • One more thing

Convert commands into hints

Do not give orders to end users when you want to ask them to respond or decide what they want to do next. Instead, give hints.


  • What can I help you with next?
  • Choose an option.

Use a relevant tone

Use a tone that is relevant to the situation.

Example: Use a different tone for an end user asking about their account balance and an end user contacting you about a stolen credit card. For the stolen credit card use case, you might need to express concern and offer assurance in addition to taking the necessary action.

Design a chatbot personality

You can design the personality of your chatbot depending on how you want end users to perceive the chatbot*.* Adding a personality increases the chances of end users liking your chatbot and adds to the user experience. Designing the personality also adds consistency throughout the chatbot.

Use natural, real-life, human conversation format. However, do not tell the end user that the chatbot is a human.

When designing the chatbot's personality, consider the following:

  • Target audience - Adapt the language and style based on your audience.
  • Brand tone - Use the same communication style that you already use to communicate on other platforms. Determine how you want end users to perceive your business and implement it in your chatbot.
  • Chatbot tone - Determine the tone for the chatbot. Example: friendly, calm, professional, modern, enthusiastic, direct, or formal. The tone adds to the user experience. Example: Oh sure! Understood! Let me get to it right away!
  • Chatbot name
  • Relationship between the chatbot and end users. Example: friendly, peer, professional, or coach.
  • Background of the chatbot. Example: origin, age, character, and gender

You can also play with your chatbot's pitch, accent, while writing copy or editing existing dialogs.

Entry points

  • Define chatbot entry points on different channels that you use.
    • Organic entry points: website, social media, telephony, business search, app
    • Paid entry points: ads, traditional advertising such as billboards and posters.
  • Identify the means of contact for these entry points. Example: QR Codes and links.


All chatbots follow a flow or logic for the design. The complexity of the logic depends on the use case and type of chatbot. Example: An FAQ chatbot may be simpler than a chatbot that is integrated with a third-party database and uses authentication to handle sensitive data.

How to design dialogs

  • Use simple dialogs.
  • Group similar dialogs together.
  • Use relevant names for dialogs. It helps in the following ways:
    • Makes it easier for chatbot designers to navigate the chatbot.
    • Helps understand the design when viewing analytics.

Enable user authentication

Make sure the chatbot can handle all scenarios for all types of end users.

Example: If you have both registered and unregistered end users, make sure of the following.

  • End users who need to register can do so.
  • Unregistered end users use user-agnostic dialogs.

Determine whether to use predefined messages or free-form text

Predefined messages

Predefined messages are less conversational than freeform text.

Where relevant, use predefined end user responses such as numbered menus, lists, and reply buttons. Predefined responses help with the following:

  • Help the end user choose the correct response.
  • Enable the chatbot to understand and process the end user's messages.
  • Reduce the risks of spelling mistakes.
  • Eliminate the need for end users to type a response.
  • Use especially for transactional chatbots.

Free-form messages

Free-form input enables more natural and conversational interactions.

This option is applicable for AI chatbots.

For the chatbot to recognize free-form messages correctly, the chatbot needs to be trained well. Refer to the guidelines for AI chatbots.

Choose relevant chatbot elements

Choose a chatbot element that is more useful and relevant for the purpose.


  • Choose a list or reply buttons instead of a numbered menu.
  • Determine whether you want to use a list or reply buttons for menu items.

Design considerations

The chatbot cannot process messages while an element is running. Example: The chatbot is waiting for a response from the Webhook element or the Delay element is running. If the end user sends any messages during this time, the chatbot ignores these messages. So, take this into consideration when designing the chatbot.

Need assistance

Explore Infobip tutorials

Encountering issues

Contact our support

What's new? Check out

Release notes

Unsure about a term? See


Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use