---
schema_version: "1"
id: fb207c595a90ad6d459222053cedac9600a0e27462ad6443da2f22f631fd6276
title: Bot
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_bot.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_bot.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 80470ef969ae125fca6ed995c30d54f41b6bb73d7dab8041dbccc6c2a9b49235
description: Represents a definition of an Einstein Bot configuration that can have one or more versions. Only one version can be active.
---
# Bot

Represents a definition of an Einstein Bot configuration that can have one or more versions. Only one version can be active.

## Parent Type

This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field.

## File Suffix and Directory Location

Bot components have the suffix .bot and are stored in the bots folder.

## Version

Bot components are available in API version 43.0 and later.

## Special Access Rules

Bot is available only if Chat and Einstein Bots are enabled in your org.

Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents.

## Fields

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d188907e106">Field Name</th>

              <th class="featureTableHeader  " id="d188907e109">Field Type</th>

              <th class="featureTableHeader  " id="d188907e112">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">agentDSLEnabled</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">boolean</td>

              <td class="entry" headers="d188907e112" data-title="Description">Reserved for internal use.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">agentTemplate</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e112" data-title="Description"> If this Bot represents an agent, this field represents the name of the agent template used to create it. Available in API version 64.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">agentType</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">GenAiAgentType (enumeration of type string)</td>

              <td class="entry" headers="d188907e112" data-title="Description">Specifies the agent type for this agent. For example, <samp class="codeph nolang">AgentforceServiceAgent</samp>. Available in API version 64.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">botMlDomain</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type"><a class="xref" href="#LocalMlDomain">LocalMlDomain</a></td>

              <td class="entry" headers="d188907e112" data-title="Description">Represents the Einstein intent set that groups intents, entities,
                and variables associated with a bot. All Einstein Bot versions under
                the same bot now share an intent set. Available in API version 44.0
                and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">botUser</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e112" data-title="Description">Specifies the username of the user account, not the first and
                last name or the user ID. Available in API version 46.0 and
                later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">botVersions</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_botversion.htm" title="Represents the configuration details for a specific Einstein Bot version, including dialogs and variables.">BotVersion</a></td>

              <td class="entry" headers="d188907e112" data-title="Description">Represents the configuration details for a specific Einstein Bots
                version, including dialogs, intents, entities, and
                variables.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">contextVariables</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type"><a class="xref" href="#ConversationContextVariable">ConversationContextVariable</a></td>

              <td class="entry" headers="d188907e112" data-title="Description">Represents the context variables that enable your bot to gather
                customer information regardless of channel. Available in API 45.0
                and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">conversationChannelProviders</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type"><a class="xref" href="#ConversationDefinitionChannelProvider">ConversationDefinitionChannelProvider []</a></td>

              <td class="entry" headers="d188907e112" data-title="Description">Represents a list of the conversation channels linked to the bot.
                Available in API version 51.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">defaultOutboundFlow</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e112" data-title="Description">Specifies a fallback escalation behavior if the primary agent escalation
                behavior is not available. For example, Agentforce Service Agents
                can route conversations to human service reps. Available in API
                version 65.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">description</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e112" data-title="Description">A description of the bot.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">label</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e112" data-title="Description">Label that identifies the bot throughout the Salesforce user
                interface.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">logPrivateConversationData</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">boolean</td>

              <td class="entry" headers="d188907e112" data-title="Description">Specifies whether to log customer inputs as part of conversation
                data (<samp class="codeph nolang">true</samp>) or not (<samp class="codeph nolang">false</samp>). Available in API version
                48.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">pageContextVariables</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">
                <a class="xref" href="#PageContextVariable">PageContextVariable</a>[]
              </td>

              <td class="entry" headers="d188907e112" data-title="Description">Provides page-level context variables for the bot. Available in API version 64.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name">sessionTimeout</td>

              <td class="entry" headers="d188907e109" data-title="Field Type">int</td>

              <td class="entry" headers="d188907e112" data-title="Description">Represents the maximum amount of minutes that a bot session can
                be idle. Available in API version 58.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e106" data-title="Field Name"><span class="keyword parmname">type</span></td>

              <td class="entry" headers="d188907e109" data-title="Field Type">BotType (enumeration of type string)</td>

              <td class="entry" headers="d188907e112" data-title="Description"> Required. The default value is <samp class="codeph nolang">Bot</samp>. This field represents the configuration type of
                the bot. Valid values are:<a name="ul_arl_x31_n2c"><!-- --></a>
                <ul class="ul bulletList" id="ul_arl_x31_n2c">
                  <li class="li">
                    <samp class="codeph nolang">Bot</samp>— Default
                    Einstein Bot configuration.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">ExternalCopilot</samp>—
                    An external-facing agent. For example, an Agentforce Service
                    agent.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">InternalCopilot</samp>—
                    An internal-facing agent. For example, an Agentforce
                    Employee agent.
                  </li>

                </ul>
              </td>

            </tr>

          </tbody>

        </table>

## LocalMlDomain

An Einstein Intent Set local to the current bot version.

| Field Name | Field Type | Description |
| --- | --- | --- |
| label | string | Label that represents an Einstein Intent Set local to the current bot version throughout the Salesforce user interface. |
| mlIntents | [MlIntent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mldomain.htm#MlIntent)\[\] | List of intents associated with this local intent set. |
| mlSlotClasses | [MlSlotClass](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mldomain.htm#MlSlotClass)\[\] | List of entities associated with this local intent set. |
| name | string | Required. This unique name prevents conflicts with other local Einstein Intent Sets. This name can contain only underscores and alphanumeric characters and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. |

## ConversationContextVariable

A context variable local to the current bot version. Available in API version 45.0 and later.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d188907e483">Field Name</th>

              <th class="featureTableHeader  " id="d188907e486">Field Type</th>

              <th class="featureTableHeader  " id="d188907e489">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">contextVariableMappings</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type"><a class="xref" href="#ConversationContextVariableMapping">ConversationContextVariableMapping</a></td>

              <td class="entry" headers="d188907e489" data-title="Description">Represents the mapping between a context variable, channel type,
                and sObject field.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">dataType</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">ConversationDataType (enumeration of type string)</td>

              <td class="entry" headers="d188907e489" data-title="Description">Required. Represents the data type of the context variable. Valid
                values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">Text</samp></li>

                  <li class="li"><samp class="codeph nolang">Number</samp></li>

                  <li class="li"><samp class="codeph nolang">Boolean</samp></li>

                  <li class="li"><samp class="codeph nolang">Object</samp></li>

                  <li class="li"><samp class="codeph nolang">Date</samp></li>

                  <li class="li"><samp class="codeph nolang">DateTime</samp></li>

                  <li class="li"><samp class="codeph nolang">Currency</samp></li>

                  <li class="li"><samp class="codeph nolang">Id</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">description</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e489" data-title="Description">A description of this variable. This value may be used by the
                Agentforce planner service. Available in API version 63.0 and
                later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">developerName</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e489" data-title="Description">Required. Represents the name of the context variable. Can
                contain only underscores and alphanumeric characters and must be
                unique in your org. It must begin with a letter, not include spaces,
                not end with an underscore, and not contain two consecutive
                underscores.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">includeInPrompt</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">boolean</td>

              <td class="entry" headers="d188907e489" data-title="Description">Indicates whether the variable is injected into the prompt sent
                to the Agentforce model. If <samp class="codeph nolang">true</samp>, the variable appears in the <strong class="ph uicontrol">Included
                  Fields</strong> section of the UI. <div class="box message info" id="note_nzc_tsr_qhc">
                  <a name="note_nzc_tsr_qhc"><!-- --></a>
                  <div class="inner">
                    <div class="bd">
                      <div class="media">
                        <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png" alt="Note">
                        <div class="mediaBd">
                          <h4 class="mbs">Note</h4>
                          <p> The default variables <samp class="codeph nolang">Id</samp>, <samp class="codeph nolang">EndUserId</samp>, and <samp class="codeph nolang">EndUserLanguage</samp> always appear in the
                            <strong class="ph uicontrol">Included Fields</strong> section of the UI,
                            regardless of their value of <samp class="codeph nolang">includeInPrompt</samp>. We recommend that you don't
                            change the value of <samp class="codeph nolang">includeInPrompt</samp> for these default variables, as
                            changing the value can prevent your agent from accessing
                            important session data.
                          </p>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
                Available in API version 63.0 and
                later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">label</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e489" data-title="Description">Required. A label that identifies the context variable throughout
                the Salesforce user interface.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e483" data-title="Field Name"><span class="keyword parmname">SObjectType</span></td>

              <td class="entry" headers="d188907e486" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e489" data-title="Description">Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">BotDefinition</samp></li>

                  <li class="li"><samp class="codeph nolang">Queue</samp></li>

                </ul>
              </td>

            </tr>

          </tbody>

        </table>

## ConversationContextVariableMapping

Represents the mapping between a context variable, channel type, and sObject field.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d188907e686">Field Name</th>

              <th class="featureTableHeader  " id="d188907e689">Field Type</th>

              <th class="featureTableHeader  " id="d188907e692">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d188907e686" data-title="Field Name"><span class="keyword parmname">fieldName</span></td>

              <td class="entry" headers="d188907e689" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e692" data-title="Description">Required. The API name of an SObject field to be used as part of
                the mapping.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e686" data-title="Field Name"><span class="keyword parmname">messageType</span></td>

              <td class="entry" headers="d188907e689" data-title="Field Type">MessageType (enumeration of type string)</td>

              <td class="entry" headers="d188907e692" data-title="Description">Required. Represents the message channel. Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">Alexa</samp></li>

                  <li class="li">
                    <samp class="codeph nolang">AppleBusinessChat</samp>—Messages sent in enhanced Apple
                    Messages for Business channels.
                  </li>

                  <li class="li"><samp class="codeph nolang">Email</samp></li>

                  <li class="li">
                    <samp class="codeph nolang">EmbeddedMessaging</samp>—Messages sent in Messaging for
                    In-App and Web channels. Available in API version 50.0 and
                    later.
                  </li>

                  <li class="li"><samp class="codeph nolang">Facebook</samp></li>

                  <li class="li">
                    <samp class="codeph nolang">GoogleChat</samp>—Available in
                    API version 68.0 and later.
                  </li>

                  <li class="li"><samp class="codeph nolang">GoogleHome</samp></li>

                  <li class="li"><samp class="codeph nolang">InternalCopilot</samp></li>

                  <li class="li"><samp class="codeph nolang">Line</samp></li>

                  <li class="li"><samp class="codeph nolang">MsCopilot</samp></li>

                  <li class="li"><samp class="codeph nolang">Omega</samp></li>

                  <li class="li"><samp class="codeph nolang">Phone</samp></li>

                  <li class="li"><samp class="codeph nolang">PstnVoice</samp></li>

                  <li class="li"><samp class="codeph nolang">Rcs</samp></li>

                  <li class="li"><samp class="codeph nolang">SipVoice</samp></li>

                  <li class="li">
                    <samp class="codeph nolang">Slack</samp>—Available in API
                    version 68.0 and later.
                  </li>

                  <li class="li"><samp class="codeph nolang">Text</samp></li>

                  <li class="li"><samp class="codeph nolang">VoiceIntegrationPilot</samp></li>

                  <li class="li"><samp class="codeph nolang">WeChat</samp></li>

                  <li class="li"><samp class="codeph nolang">WebChat</samp></li>

                  <li class="li"><samp class="codeph nolang">WhatsApp</samp></li>

                  <li class="li"><samp class="codeph nolang">WhatsAppVoice</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e686" data-title="Field Name"><span class="keyword parmname">SObjectType</span></td>

              <td class="entry" headers="d188907e689" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e692" data-title="Description">Required. SObject type for the field property defined as part of
                the mapping. Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">LiveChatTranscript</samp></li>

                  <li class="li"><samp class="codeph nolang">MessagingEndUser</samp></li>

                  <li class="li"><samp class="codeph nolang">MessagingSession</samp></li>

                </ul>
              </td>

            </tr>

          </tbody>

        </table>

## ConversationDefinitionChannelProvider

The developer name of a conversation channel linked to the bot. Available in API version 51.0 and later.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

To add, edit, or remove a messaging channel, you must use the UI. If you deploy a bot with messaging channel providers, those providers aren’t visible in Metadata API.

| Field Name | Field Type | Description |
| --- | --- | --- |
| agentRequired | boolean | Specifies whether an agent must be online for the bot to be active (true) or not (false) The default is false. |
| chatButtonName | string | Required. The developer name of a LiveChatButton metadata component. |

## PageContextVariable

A page-level context variable used by the bot. Available in API version 64.0 and later.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d188907e951">Field Name</th>

              <th class="featureTableHeader  " id="d188907e954">Field Type</th>

              <th class="featureTableHeader  " id="d188907e957">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d188907e951" data-title="Field Name"><span class="keyword parmname">SObjectType</span></td>

              <td class="entry" headers="d188907e954" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e957" data-title="Description">Specifies the sObject type associated with this page context variable.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e951" data-title="Field Name"><span class="keyword parmname">dataType</span></td>

              <td class="entry" headers="d188907e954" data-title="Field Type">ConversationDataType (enumeration of type string)</td>

              <td class="entry" headers="d188907e957" data-title="Description">Required. Represents the data type of the page context variable. Valid
                values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">Text</samp></li>

                  <li class="li"><samp class="codeph nolang">Number</samp></li>

                  <li class="li"><samp class="codeph nolang">Boolean</samp></li>

                  <li class="li"><samp class="codeph nolang">Object</samp></li>

                  <li class="li"><samp class="codeph nolang">Date</samp></li>

                  <li class="li"><samp class="codeph nolang">DateTime</samp></li>

                  <li class="li"><samp class="codeph nolang">Currency</samp></li>

                  <li class="li"><samp class="codeph nolang">Id</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e951" data-title="Field Name"><span class="keyword parmname">description</span></td>

              <td class="entry" headers="d188907e954" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e957" data-title="Description">A description of the page context variable.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e951" data-title="Field Name"><span class="keyword parmname">developerName</span></td>

              <td class="entry" headers="d188907e954" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e957" data-title="Description">Required. Represents the unique API name of the page context variable. Can
                contain only underscores and alphanumeric characters and must be unique in your
                org. It must begin with a letter, not include spaces, not end with an underscore,
                and not contain two consecutive underscores.</td>

            </tr>

            <tr>
              <td class="entry" headers="d188907e951" data-title="Field Name"><span class="keyword parmname">label</span></td>

              <td class="entry" headers="d188907e954" data-title="Field Type">string</td>

              <td class="entry" headers="d188907e957" data-title="Description">Required. A label that identifies the page context variable throughout the Salesforce
                user interface.</td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

The following is an example of a Bot. This example has been trimmed to make it easier to read.

<?xml version="1.0" encoding="UTF-8"?>
<Bot xmlns="http://soap.sforce.com/2006/04/metadata">
    <botMlDomain\>
        <label\>Astros Pizza</label\>
        <mlIntents\>
            <developerName\>New\_Order</developerName\>
            <label\>New Order</label\>
            <mlIntentUtterances\>
                <utterance\>Today is pie day so I want pie</utterance\>
            </mlIntentUtterances\>
        </mlIntents\>
        <mlSlotClasses\>
            <developerName\>Size</developerName\>
            <extractionType\>Value</extractionType\>
            <label\>Size</label\>
            <mlSlotClassValues\>
                <synonymGroup\>
                    <languages\>en\_US</languages\>
                    <terms\>Big</terms\>
                    <terms\>Extra Large</terms\>
                    <terms\>X-Large</terms\>
                    <terms\>Grande</terms\>
                    <terms\>Huge</terms\>
                </synonymGroup\>
                <value\>Large</value\>
            </mlSlotClassValues\>
        </mlSlotClasses\>
        <name\>Astros\_Pizza\_ld1</name\>
    </botMlDomain\>
    <botVersions\>
        <fullName\>v1</fullName\>
        <botDialogGroups\>
            <developerName\>Order\_Management</developerName\>
            <label\>Order Management</label\>
        </botDialogGroups\>
        <botDialogs\>
            <botDialogGroup\>Order\_Management</botDialogGroup\>
            <botSteps\>
                <botMessages\>
                    <message\>🍕🍕🍕Pizza Time! 🍕🍕🍕</message\>
                </botMessages\>
                <type\>Message</type\>
            </botSteps\>
            <botSteps\>
                <botStepConditions\>
                    <leftOperandName\>Verified\_User</leftOperandName\>
                    <leftOperandType\>ConversationVariable</leftOperandType\>
                    <operatorType\>Equals</operatorType\>
                    <rightOperandValue\>false</rightOperandValue\>
                </botStepConditions\>
                <botSteps\>
                    <botNavigation\>
                        <botNavigationLinks\>
                            <targetBotDialog\>Customer\_Verification</targetBotDialog\>
                        </botNavigationLinks\>
                        <type\>Call</type\>
                    </botNavigation\>
                    <type\>Navigation</type\>
                </botSteps\>
                <type\>Group</type\>
            </botSteps\>
            <botSteps\>
                <botStepConditions\>
                    <leftOperandName\>Location</leftOperandName\>
                    <leftOperandType\>ConversationVariable</leftOperandType\>
                    <operatorType\>IsNotSet</operatorType\>
                </botStepConditions\>
                <botSteps\>
                    <botNavigation\>
                        <botNavigationLinks\>
                            <targetBotDialog\>Select\_Location</targetBotDialog\>
                        </botNavigationLinks\>
                        <type\>Call</type\>
                    </botNavigation\>
                    <type\>Navigation</type\>
                </botSteps\>
                <type\>Group</type\>
            </botSteps\>
            <botSteps\>
                <botVariableOperation\>
                    <botInvocation\>
                        <invocationActionName\>CreateOrderService</invocationActionName\>
                        <invocationActionType\>apex</invocationActionType\>
                        <invocationMappings\>
                            <parameterName\>customer</parameterName\>
                            <type\>Input</type\>
                            <variableName\>Contact</variableName\>
                            <variableType\>ConversationVariable</variableType\>
                        </invocationMappings\>
                        <invocationMappings\>
                            <parameterName\>location</parameterName\>
                            <type\>Input</type\>
                            <variableName\>Location</variableName\>
                            <variableType\>ConversationVariable</variableType\>
                        </invocationMappings\>
                        <invocationMappings\>
                            <parameterName\>output</parameterName\>
                            <type\>Output</type\>
                            <variableName\>Pizza\_Order</variableName\>
                            <variableType\>ConversationVariable</variableType\>
                        </invocationMappings\>
                    </botInvocation\>
                    <type\>Set</type\>
                </botVariableOperation\>
                <type\>VariableOperation</type\>
            </botSteps\>
            <botSteps\>
                <botMessages\>
                    <message\>Perfect, let&apos;s work on your order from our {!Location.Name} location</message\>
                </botMessages\>
                <type\>Message</type\>
            </botSteps\>
            <botSteps\>
                <botNavigation\>
                    <botNavigationLinks\>
                        <targetBotDialog\>Add\_Items\_to\_Order</targetBotDialog\>
                    </botNavigationLinks\>
                    <type\>Redirect</type\>
                </botNavigation\>
                <type\>Navigation</type\>
            </botSteps\>
            <developerName\>New\_Order</developerName\>
            <label\>New Order</label\>
            <mlIntent\>New\_Order</mlIntent\>
            <showInFooterMenu\>false</showInFooterMenu\>
        </botDialogs\>
        <conversationVariables\>
            <dataType\>Object</dataType\>
            <developerName\>Contact</developerName\>
            <label\>Contact</label\>
        </conversationVariables\>
        <conversationVariables\>
            <dataType\>Text</dataType\>
            <developerName\>Delivery\_Address</developerName\>
            <label\>Delivery Address</label\>
        </conversationVariables\>
        <conversationVariables\>
            <dataType\>Object</dataType\>
            <developerName\>Pizza\_Order</developerName\>
            <label\>Pizza Order</label\>
        </conversationVariables\>
        <entryDialog\>Welcome</entryDialog\>
        <mainMenuDialog\>Main\_Menu</mainMenuDialog\>
    </botVersions\>
    <contextVariables\>
        <contextVariableMappings\>
            <SObjectType\>LiveChatTranscript</SObjectType\>
            <fieldName\>LiveChatTranscript.ChatKey</fieldName\>
            <messageType\>WebChat</messageType\>
        </contextVariableMappings\>
        <dataType\>Text</dataType\>
        <developerName\>ChatKey</developerName\>
        <label\>Chat Key</label\>
    </contextVariables\>
    <contextVariables\>
        <contextVariableMappings\>
            <SObjectType\>LiveChatTranscript</SObjectType\>
            <fieldName\>LiveChatTranscript.ContactId</fieldName\>
            <messageType\>WebChat</messageType\>
        </contextVariableMappings\>
        <dataType\>Id</dataType\>
        <developerName\>ContactId</developerName\>
        <label\>Contact Id</label\>
    </contextVariables\>
    <contextVariables\>
        <contextVariableMappings\>
            <SObjectType\>LiveChatTranscript</SObjectType\>
            <fieldName\>LiveChatTranscript.LiveChatVisitorId</fieldName\>
            <messageType\>WebChat</messageType\>
        </contextVariableMappings\>
        <dataType\>Id</dataType\>
        <developerName\>EndUserId</developerName\>
        <label\>End User Id</label\>
    </contextVariables\>
    <contextVariables\>
        <contextVariableMappings\>
            <SObjectType\>LiveChatTranscript</SObjectType\>
            <fieldName\>LiveChatTranscript.Id</fieldName\>
            <messageType\>WebChat</messageType\>
        </contextVariableMappings\>
        <dataType\>Id</dataType\>
        <developerName\>RoutableId</developerName\>
        <label\>Routable Id</label\>
    </contextVariables\>
....<conversationChannelProviders\>
        <agentRequired\>false</agentRequired\>
        <chatButtonName\>Chat\_Button\_For\_Bot</chatButtonName\>
    </conversationChannelProviders\>
    <label\>Astro&apos;s Pizza</label\>
</Bot\>

The following is an example package.xml that references the previous definition.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>Pizza\_Bot</members\>
        <name\>Bot</name\>
    </types\>
    <version\>45.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm).