Customer needs and feelings aren’t always spelled. They like to be heard and prefer more human and personalised conversations. With Intents from Freshworks, you can create human-like bots that are an extension of your support teams, encouraging such natural and free-flowing conversations. 

Table of Contents


To understand how we can deliver an enhanced chatbot experience, let us understand a few terminologies -


An utterance is what a customer inputs in the text field when chatting with the bot. Any question or comment from the customer could be considered an utterance. A few examples of utterances are - 

‘I am unable to login.’

‘What are the payment methods available?’

‘Where can I find more information on your service?’


Intent is the goal/intention with which a customer is chatting with the bot. For example, the customer requests the chatbot, “I want to cancel my order.” Here the intent is order cancellation. The same intent can be shared across utterances from customers -

‘How to cancel the order?’

‘I don’t want this product.’

‘Where can I cancel my order.’

The goal in all these utterances is to cancel the order.

How can intents help you?

Intents allow you to setup up and map frequent customer questions and utterances to existing bot flows. If the bot detects a particular intent, the customer is directed to the relevant bot flow, providing personalized and contextual support.

Customers no longer have to go through lists, menus, or structured flows to seek answers. Understanding the correct customer intent can help direct the customer to the relevant flow directly and seamlessly. A quick and personal bot resolution can positively impact customer satisfaction and delight. Allowing bots to understand and respond based on context reduces the need to transfer bot conversations to agents. It improves support processes and agent productivity and saves cost. 

A quick guide to setting up Intents for your bot

  • Login to your Freshchat account instance as an Admin

  • Click on Bots in the left navigation column. Select the required bot or template from the bot list and click Flows > Build from the menu. Make sure you’re setting up Intents for the latest version of your bot.

  • Choose the parent flow to which you like to add Intents. Click on the Map Intents icon next to the parent flow title to open a left navigation bar.

  • The right navigation bar gives you templates of intents from various industries. You can filter, explore and edit these templates as per your requirements or create a new intent tailored to your needs. 

  • To start afresh, click on New Intent. You can also add a new intent by typing the Intent name in the Search Intent box. Based on the search text, similar intents appear as a list, and you select them to add new utterances. You can click the Create message to add this new intent if there are no similar intents.

  • Give a name to the Intent and add at least 5 utterances to map your intent to the selected flow. Follow the best practices to ensure the bots are trained well for any utterance from the customer.

  • Once you have configured the intent and the variants, you can map it to the Flow by clicking Save & Map to Flow


  • Use the Add utterances button to keep adding multiple new utterances to this intent. 

  • The bot builder also provides validation for the utterances you add. You will be notified if you add the same utterance more than once or if an utterance is better suited to another existing intent. You can perform quick actions such as Move to and Ignore to ensure the utterances are mapped to the correct intent.

  • To add  intents to your existing flows, you need to:
  1. Change a directional question to an open-ended question. An example would be changing ‘Hi, Please choose from the following options’ to  ‘How can I help you today?’

  2. When an open-ended question is asked, we mandate that this should be the last dialog of the flow so the natural language processing models such as Intents can trigger. Hence, when adding intents to the existing flow, if there are any further dialogs after the open-ended question, move all dialogs following the open ended-question to the subsequent flow to ensure Intents are triggered.

  • You can even maintain multi-language intents. Click on the language drop-down and select from your configured languages to create intents in that language. Maintaining translations of the primary language utterances is not mandatory as the bot is language agnostic. Instead, you can add specifically used utterances in supported languages as per your need.


  • Once saved, training your bot with the added intents is essential. Click on Train Intents to train your bots to learn from the new utterances. Your bot will also be trained when you Publish the bot flow.

Retrain Natural Language

  • All the intents that need to be improved will be listed in the Natural Language>Retrain Natural Language. The retrain page lists user queries and responses from the last 30 days. The tabs are as follows:

    • Unanswered Queries - List of user questions the bot was not able to answer

    • Answered Queries - List of user questions the bot was not able to answer but requires an admin to confirm the accuracy

    • Unhelpful Responses - List of intents and answers marked Not-Helpful by customers

    • Untrained Q&A - List of intents and answers that needed more utterances for training

Unanswered Queries

  • Unanswered Queries are a sample of all the customer questions and utterances that the bot couldn't answer.
  • This sample, if trained, will help resolve all your unmapped questions. Training these utterances in the order of confidence displayed is essential for the most effective results. 
  • Unanswered intents present few options -
  • The Link icon allows you to map the utterance to any existing QnA or intent created.

  • The New Intent icon allows you to create a new intent to map this utterance.

  • The Conversations icon allows you to view the conversation(s) which resulted in the unanswered intent.

  • You can also choose to Delete the unmapped utterance.

Answered Queries

  • Answered Queries allow you to review the Answers/Intents suggested by the bot.

  • Each utterance will show the Answer/Intent triggered and the admin has a choice to either confirm the suggestion or to map the utterance to another Answer or Intent

  • This sample if trained, will help the bot gain more confidence and improve performance. Training these utterances in the order of confidence displayed is essential for the most effective results. 

  • Answered intents present a few options -

    • The Confirm icon allows you to add the utterance to the suggested Intent/Answer

    • The Link icon allows you to map the utterance to any existing Answer or Intent created.

    • The New Intent icon allows you to create a new intent to map this utterance.

    • The Conversations icon allows you to view the conversation(s) which resulted in the answered intent.

    • You can also choose to delete the unmapped utterance.

Unhelpful Responses

  • For any intents in this section, you can use the pencil icon to go to the Edit Intent screen to improve the intent configured. 

  • An icon shows the no. of times this QnA or Intent has been marked unhelpful. You can view the reference conversations by clicking the icon

Untrained Q&A

  • You can click the pencil icon to go to the Edit Intent screen and add more utterances for any intents in this section.


A quick guide to consolidating feedback

  • When enabled, feedback will be triggered after every answer given by the bot. You can also map flows to the Yes and No options. Based on what the customer picks, they will be taken to the mapped flow. A thank you message will be shown if there is no mapped flow.

A quick guide to setting up Fallback

  • Fallback flows will be triggered when the bot is not able to respond to the customer’s question. You can also set up variants to the fallback message. To do so, navigate to Configure > Fallback.

  • Connect the fallback message to any flow, so the customers are redirected to this flow whenever the bot cannot take the conversation further. You can also set it up to assign the conversation to an agent as a fallback flow.


Answer settings

With the Answer Settings tab, your bot can learn from the FAQs you set up in Freshchat and engage in small talk for a better conversational experience. The Answer Settings tab can be accessed by navigating to your Bot > Answers > Configure > Answer Settings

  • Learn from knowledge base: Enable your bot to learn from the FAQs you've set up. When a customer asks a question, the bot will look for any Answers that match the intent of the customer's questions. If a suitable answer isn't available, the bot will share content from the FAQs you've set up in Freshchat. Admins can configure the number of articles your bot can recommend to the customer. A maximum of 3 articles will be presented to the customer and displayed in order of relevance. If an answer is mapped to a bot flow, then the article suggestion is defaulted to 1 article to enable the flow associated with the answer to be triggered.

  • Small Talk: When Small Talk is enabled, your bot can engage your customers in casual conversation, making it a richer, interactive experience. Small talk is available in all 42 languages supported by Freshchat.

Best practices for setting up Intents

Understanding the kind of utterances and intents we could expect from our customers and training our bots to respond to these accurately is essential. Following are a few best practices to follow when setting up intents:

  1. Maintain different variants of utterances 

Changing only letter cases, grammar, numbers, names, and places will not give the model enough variation in training data. It will lead to bots looking for the exact words in the customer chat, leading to false positives. Intents can accommodate variations in grammar and spelling.



‘How to cancel the order?’

‘How to Cancel the Order?’




‘How to cancel the order?’

‘I don’t want this product.’

‘Where can I cancel my order.’


‘How to book a flight for the 25th of august?’

‘How to book a flight for the 26th of august?’

‘How to book a flight for the 27th of august?’


‘How to book a flight?’

‘Help me get a flight.’

‘Reserve a flight ticket.’


  1. Do not create multiple intents with similar customer goals. 

Instead, group these under the same intent. Similar intents can trigger an incorrect flow for the customer since it may not be apparent to the bot which intent is relevant.


Intent: Purchase health insurance

Intent: Purchase life insurance

Intent: Purchase travel insurance


Intent: Purchase insurance

This intent can then be mapped to a flow that requests the kind of insurance to purchase

  1. Do not have the same utterances as part of different intents. 

This can confuse the bot on the flow to present and may decrease the reliability of the response.

  1. Retrain utterances and questions that are unmapped or unhelpful. 

The admin must attempt to constantly link the unmapped customer questions to an answer, add variants to improve coverage, and check unhelpful responses to rectify them. The more unmapped customer questions are trained by the admin, the more the machine learning model’s performance improves.

  1. Add complete sentences to provide the full context to the bot for training.


‘Cancel order’

‘Stop shipping’


‘How to cancel the order from shipping?’

‘How to stop the shipping of the purchased order?’

  1. Add as many utterances to intents to train them better

While the minimum required number of utterances is 5, more variations will lead to more accurate bot performance.


  1. Try adding a similar number of utterances to each of your intents.

Say you have intents titled Purchase, Return, and Cancellation, and each has 5, 15, and 50 utterances, respectively.  An unequal number of utterances can lead to better accuracy for specific intents over others. It is best to keep the number of utterances similar across intents.


  1. It is not necessary to maintain utterances in multiple languages

The bot can translate utterances even if you maintain them only in the primary language configured in your account. Maintain multilingual utterances if you want an exact match or if specific text patterns need to be established.