---
schema_version: "1"
id: b925bbac45657c5f2560c0469c598cae52c8b354760f1d0c7dd9ecada9c148c2
title: Use Intents to Understand Your Customers
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/bots_service_train_bot.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.bots_service_train_bot.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 035ad62ca42f3ab1073a736def97af2e3c6dff4faa0e028d878adb8f526a2f3a
description: Using Natural Language Processing (NLP) through intent management is uncharted territory for most admins. It’s important to remember that building bots is iterative - starting off with a small bot and then building it into a complex machine is part of the journey. As you gain feedback from your customers and review data, your bots grow in ways you have never expected!
products:
  - Service Cloud
  - Service Intelligence
release: "264"
---
# Use Intents to Understand Your Customers

Using Natural Language Processing (NLP) through intent management is uncharted territory for most admins. It’s important to remember that building bots is iterative - starting off with a small bot and then building it into a complex machine is part of the journey. As you gain feedback from your customers and review data, your bots grow in ways you have never expected!

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.einstein_service_intro.htm&amp;language=en_US" target="_blank">View supported editions</a>.</td></tr></tbody></table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/images/icon_note.png)

Note Starting August 17, 2026, Einstein Bots is in Maintenance Mode. Existing Einstein Bots continue to be supported and can be used after August 17, 2026. However, no new features or enhancements will be added, and we recommend using Agentforce for new AI agent implementations. See [Upgrade Bots to Service Agent](https://help.salesforce.com/s/articleView?id=service.bots_service_asa_create.htm&type=5&language=en_US) and [Learn about Agentforce](https://trailhead.salesforce.com/content/learn/trails/design-and-implement-ai-agents-with-agentforce).

Chatbots can be categorized into the following categories:

- Menu-based Bots, where users select a path based on a menu of options that the bot delivers to the end user. These bots are easy to set up, deliver high value on low-level tasks such as password resets, and help you deliver a curated experience to the customer.
- NLP Bots, which rely on natural language processing to interpret free text. NLP bots allow the user to define where the bot moves, so they have more control over the experience. Also, NLP bots can interpret multiple pieces of information within one phrase sent by the customer, which can reduce the number of steps required to complete a task.
- Hybrid Bots, which use menu-based methods and NLP methods at the right time to create a blended experience. Including a menu can help customers who need an idea of what the bot can do. Also, integrating NLP helps the bot sound smarter and more conversational.

## Brand New to Bots? Start Here

Start with menu-based bots if you’re brand new to Einstein Bots. If you're familiar with building workflows, using Process Builder, or building flows, creating a menu-based bot is similar. When you build a menu-based bot, using the Map View is helpful to visualize how all the dialogs work together.

Even though you start with a Menu, customers can still write in text to your bot. In Messaging channels, the end user activates the bot by writing a question first. Also, curious users test a bot by typing in text. Use the Confused dialog to capture the input text, and encourage the end user to pick a task that the bot can complete by redirecting them to the menu.

## Creating a Hybrid Bot: Starting with Exact Matching

After you’re comfortable with your menu-based bot, it's time to upgrade to a Hybrid Bot. One of the easiest ways to expand into a Hybrid Bot is to build utterances for common phrases, such as Main Menu, Transfer to an Agent, or End Chat.

Add these utterances manually to the intent. In the chatbot industry, an utterance is a term for inputs from your customer. For more information, visit [Use Exact Matching for Intents](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_exact.htm&release=264.0.0&type=5 "Turn on Exact Matching for intents that have too few utterances to be included in the intent model. These case-sensitive phrases allow the bot to recognize a common intent and route accordingly.").

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/images/icon_note.png)

Note Exact Matching is case-sensitive, so include all available spellings and capitalizations in the utterance to ensure a good match.

The best way to identify when you’re ready to move to an intent model is to view your chat logs. What common phrases are your customers asking the bot? It's likely that they're asking the bot the same questions that they're asking your service reps. If the utterances apply to a task that you feel the bot can handle, such as canceling an appointment, they’re likely great additions to the intent model.

You’re ready to build an intent model when you think you have enough utterances, or can create enough utterances, to outfit two to five intents.

## Building an Intent Model

Einstein Bots offers two intent models, the original intent model and the [cross-lingual intent model](https://help.salesforce.com/s/articleView?id=service.bots_service_cross_lingual_intent_enable.htm&release=264.0.0&type=5 "Use the cross-lingual intent model to get a unified view of intent performance for all the languages defined for a bot. The model allows you to test utterances in any supported language, before or after adding the language to your model. Plus, you can train your model on as little as one utterance per language."). Both models can be used for single- or multi-language bots, but they have different prerequisites and use cases.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/images/icon_note.png)

Note

Beginning the week of October 30, 2023, newly created or cloned bots and bot versions default to the cross-lingual intent model, including single- and multi-language bots.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:20%">
          <col style="width:40%">
          <col style="width:40%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60280e148">&nbsp;</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60280e150">Original Intent Model</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60280e153">Cross-Lingual Intent Model</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e148 ">Prerequisites</td>

            <td data-label="Original Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e150 ">
              <p>3 to 5 intents</p>
              <p style="margin-bottom:0;">20 utterances per language per intent</p>
            </td>

            <td data-label="Cross-Lingual Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e153 ">
              <p>2 or more intents</p>
              <p style="margin-bottom:0;">1 utterance per intent per language</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e148 ">Training</td>

            <td data-label="Original Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e150 ">When the model is built, 80% of your utterances are used to build the model,
              and the remainder are randomly withheld for testing.</td>

            <td data-label="Cross-Lingual Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e153 ">All utterances are used to build the model.</td>

          </tr>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e148 ">Input Testing</td>

            <td data-label="Original Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e150 ">To test an utterance, you must include 20 utterances in the language in the
              intent and build the model.</td>

            <td data-label="Cross-Lingual Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e153 ">You can test utterances for any supported language before or after adding
              training data for that language to your model.</td>

          </tr>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e148 ">Performance</td>

            <td data-label="Original Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e150 ">
              <p>A combined F1 score across all languages for intents with at least 20
                utterances.</p>
              <p style="margin-bottom:0;">The F1 score for an intent is based on 20% of the utterances in an intent.
                Because utterances are randomly withheld for testing with each build, the F1 score
                for an intent can vary between builds.</p>
            </td>

            <td data-label="Cross-Lingual Intent Model" class="slds-cell-wrap" style="vertical-align:top;" headers="d60280e153 ">
              <p>A combined F1 score across all languages for intents with at least 20
                utterances.</p>
              <p style="margin-bottom:0;">The F1 score for an intent is based on all utterances in the intent.</p>
            </td>

          </tr>
        </tbody>
      </table>

Before you meet the minimum requirements, both models default to exact matching. After you meet the minimum requirements, you can turn on Einstein to use natural language processing for the intent. Then you can build your intent model from the Model Management page of the Bot Builder.

![The Einstein NLP setting enabled](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/bots/bots_service_einstein_enabled.png)

You can switch between models, but you must meet the minimum requirements for the model you want to turn on and rebuild the model. You can’t switch from the cross-lingual intent model to the original intent model if your bot uses a language that’s only supported for the cross-lingual intent model.

Start by identifying dialogs that are great candidates for building your intent model. Intent models are made up of multiple intents, which have many utterances assigned to each intent. Here’s some important information to know when starting your intent model:

- Building an intent model with Einstein Bots is supported in the following languages: [Define Languages for Your Einstein Bot](https://help.salesforce.com/s/articleView?id=service.bots_service_language_define.htm&release=264.0.0&type=5 "Your global customers expect your bots to understand their native language. To know what your customers are saying, your bots must know how a language works. Bots use natural language understanding (NLU) and named entity recognition (NER) to understand language and local details such as dates, currency, or number formatting. Einstein Bots that use a specific language can better understand the customer and route them to the correct dialog.")
- The intent model must be balanced in the number of utterances per intent to keep the bot from making unbiased decisions.
- We recommend a maximum of 100 intents for better model accuracy. If you need more than 100 intents, consider creating a hierarchical classification to guide the bot.
- The maximum intent label length is 180 characters, so it’s important to edit the label to the most important phrases.
- Consider grouping similar intents. If you have intents that are similar, or if you find that one intent is being classified as another, consider grouping them together. For example, if you find overlap in three intents: "How to apply license under 16", "How to apply license at age 16," and "How to apply at age 17 or over", the model performs better by grouping into a single intent: "How to Apply for Teenage License."
- Intents can be shared across versions of the same bot.

Some intents can benefit from text identification but don’t have enough utterances to keep the intent model balanced. In these cases, you can use Exact Matching on the intent, which allows for text identification without affecting the Intent Model.

## Writing Utterances and Sourcing a Great Intent Model

To load many utterances attached to one intent at once, we recommend that you use Einstein Intent Sets, which work like AppExchange packages. You can install Intent Sets one time and use it across all your bots. It's a great way to start on common intents, such as "Where is my order" or "Schedule an Appointment".

You can also add utterances manually to each intent. Read more about how to add utterances manually at [Write Utterances for Einstein Bots](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_manual_utterance.htm&release=264.0.0&type=5 "You can add utterances manually to any intent by typing them directly into the intent. Utterances added via intent sets and manually all count towards the total number of utterances.").

If you want to test a new addition to the intent model, it’s easy to import and export intent data to test in a sandbox first. Read more at the following topics:

- [Import Intent Data to a Bot](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_import_bot.htm&release=264.0.0&type=5 "Importing Intent Data is a simple way to add utterances into your bot. You can only upload intent data to dialogs with Intent Enabled, which creates an intent name to relate to the utterances.")
- [Import Intent Data to an Einstein Intent Set](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_import_set.htm&release=264.0.0&type=5 "You can use Einstein Intent Sets to move utterances and entities between Salesforce orgs.")
- [Export Intent Data for Einstein Bots](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_export.htm&release=264.0.0&type=5 "You can export bot intent data using the Data Loader and the Intent Utterance object.")

## Iterate, Iterate, Iterate Your Bot

Just like a virtual pet, your bot can always benefit from a bit of attention. You can add a new version of a bot to test out new dialogs, entities, and variables without disrupting your customer experience. For the intent model, you can use the [Bot Training](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_training.htm&release=264.0.0&type=5 "Help your bot improve its conversation quality with Bot Training. Bot Training, shows you the intent that the bot identified from an utterance. Then you can tell your bot if it was right, or you can correct the bot if it was wrong.") page to improve intent matching quality. You can use the [Model Management](https://help.salesforce.com/s/articleView?id=service.bots_service_model_mgmt.htm&release=264.0.0&type=5 "The Model Management page shows metrics on the quality of your bot’s intent model and individual intent details. Use the information to fine-tune intents and improve how well your bot understands your customers.") menu to quantify how accurate your bot is at identifying an intent. To visualize the accuracy of your intent model, you can use the [Einstein Intent Assessor](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000G5qvaUAB) AppExchange tool.

As your bot interacts with your customers, your model scores change and your bot must be updated to adapt. We recommend that you perform the following maintenance tasks once a week:

- To identify intents to improve, visit the Model Management page.
- To identify common asks that are candidates for new intents, review your chat data in the Event Logs.
- To ensure that the bot sessions are free from errors and to identify key trends among sessions, visit the Event Logs.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/images/icon_note.png)

Note Chat data and event logs are only available for the last 7 days. If you want to extend the maintenance longer than a weekly cadence, we recommend that you download the data or migrate it to a separate object.

- **[Use Exact Matching for Intents](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_exact.htm&release=264.0.0&type=5)**  
    Turn on Exact Matching for intents that have too few utterances to be included in the intent model. These case-sensitive phrases allow the bot to recognize a common intent and route accordingly.
- **[Turn on the Cross-Lingual Intent Model](https://help.salesforce.com/s/articleView?id=service.bots_service_cross_lingual_intent_enable.htm&release=264.0.0&type=5)**  
    Use the cross-lingual intent model to get a unified view of intent performance for all the languages defined for a bot. The model allows you to test utterances in any supported language, before or after adding the language to your model. Plus, you can train your model on as little as one utterance per language.
- **[Guidelines for the Cross-Lingual Intent Model](https://help.salesforce.com/s/articleView?id=service.bots_service_cross_lingual_intent_guidelines.htm&release=264.0.0&type=5)**  
    To improve performance for bots that use the cross-lingual model, review our best practices.
- **[Turn On Disambiguation](https://help.salesforce.com/s/articleView?id=service.bots_service_disambiguation.htm&release=264.0.0&type=5)**  
    The Disambiguation dialog helps your bot better understand your customers when they enter text. Instead of moving directly to the Confused dialog, the bot reviews the text and offers a few dialogs that the customer likely means.
- **[Creating, Storing, and Managing Intent Data](https://help.salesforce.com/s/articleView?id=service.bots_service_intent_data.htm&release=264.0.0&type=5)**  
    Bots have two sets of data: the data around events and the data around intents. Event data refers to the things that happen inside bot conversations. Intent data refers to the data used to train the model so your bot understands your customers. To create a robust bot, you must have a strategy for handling both data sets.