How to Export and Import a Chatbot

Comm100 allows you to export and import the Chatbot along with its configured Settings, Intents, Entitiesand Quick Replies.   

Benefits of exporting and importing the Chatbot 

The prime benefits to export and import the Chatbot are: 

  •  Back-Up: You can take back up of existing Chatbots. You can use it later in case of data loss or reuse of the Chatbot. 
  • Reuse the Chatbot: You can transfer an existing Chatbot to another Comm100 account or campaign. 

 

Exporting a Chatbot 

To export a Chatbot, follow these steps: 

  1. Log in to the Comm100 Control Panel. 
  2. In the left navigation menu, go to Bot > Chatbot.  
  3. Click the drop-down list and go to the Manage chatbots area.
  4. Click Manage.

    The Chatbots drawer appears. 
  5. Click Export Bot for the chatbot you want to export.

    The data is saved in an XML file on your local file system. 

 

Importing a Chatbot 

To import a Chatbot, follow these steps: 

  1. Log in to the Comm100 Control Panel. 
  2. In the left navigation menu, go to Bot > Chatbot.  
  3. Click the drop-down list and go to the Manage chatbots area.
  4. Click Manage.

    The Chatbots drawer appears. 
  5. Click Import Bot for the chatbot you want to import.

    The Import Bot drawer appears.
  6. Upload the XML file and click Import 
Note: 
  • Importing to an existing bot deletes all existing data of the bot.   
  • Comm100 supports only XML file format for the import.
  • Comm100 supports a maximum file size of 50 MB. 

 

Example XML Bot Data

Please see the following XML file for an example of bot data. Included are detailed descriptions beside each input for reference.


<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSPY v5 rel. 2 U (http://www.xmlspy.com)-->
<BotImportData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <Bot>
                  <Language>en</Language>  <!-- language of bot -->
                  <BotName>String</BotName> <!-- bot name -->
                  <GreetingMessage> <!-- this is bot greeting message -->
                          <ChannelType>Default</ChannelType> <!-- channel like default channel or live chat -->
                          <Type>text</Type> <!-- chat answer type -->
                          <Content>String</Content> <!-- greeting message content -->
                          <Buttons> <!-- this is button -->
                                   <Text>String</Text>  <!-- button description -->
                                   <Type>goToIntent</Type>  <!-- button type Go to Intent, Link or Webview -->
                                   <UrlOrIntentName>String</UrlOrIntentName> <!-- the text name of the url or intent -->
                                   <OpenIn>sideWindow</OpenIn>
                                   <!-- the style where to open the Link - side window, a new window/tab or the current browser window -->
                                   <OpenStyle>compact</OpenStyle> <!-- webview style like full, tall, and compact -->
                          </Buttons>
                  </GreetingMessage> <!-- this is bot greeting message -->
                  <NoResponseMessage>String</NoResponseMessage> <!-- the message shows when visitor question is not recognized -->
                  <IsShowAgentLinkWhenNoResponse>1</IsShowAgentLinkWhenNoResponse> <!-- if need to include a chat with agent link -->
                  <NotHelpfulMessage>String</NotHelpfulMessage> <!-- messesage content when visit rates 'not helpful' -->
                  <IsShowAgentLinkWhenNotHelpful>1</IsShowAgentLinkWhenNotHelpful> <!-- if need to include a chat with agent link -->
                  <PossibleResponsesMessage>String</PossibleResponsesMessage> <!-- the message shows when bot sends possible answers -->
                  <PossibleResponsesThreshold>10</PossibleResponsesThreshold> how many times the bot gives possible answers
         <IsShowAgentLinkWhenPossibleResponsesThreshold>1</IsShowAgentLinkWhenPossibleResponsesThreshold>
                  <!-- if need to include a chat with agent link -->
            <PossibleResponsesExceedThresholdMessage>String</PossibleResponsesExceedThresholdMessage>
                  <!--message when bot has provided possible answers for serveral consecutive times -->
                  <TextWhenAgentIsOnline>String</TextWhenAgentIsOnline> <!-- button text for contact online agent  -->
                  <TextWhenAgentIsOffline>String</TextWhenAgentIsOffline> <!-- button text for contact offline agent  -->
                  <TransferAgentMessage>String</TransferAgentMessage> <!-- message when bot transfers chat to agent  -->
                  <LeaveAMessageClickedMessage>String</LeaveAMessageClickedMessage> 
                  <!-- message when visitor clicks leave a message in social conversation -->
                  <RequestVisitorLocationMessage>String</RequestVisitorLocationMessage>
                  <!-- message when bot requests visitor location -->
                  <LocationButtonText>String</LocationButtonText> <!-- text on the send location button -->
                  <SubmitButtonText>String</SubmitButtonText> <!-- text on the submit button in the form -->
                  <CancelButtonText>String</CancelButtonText>   <!-- text on the cancel button in the form -->
                  <ConfirmButtonText>String</ConfirmButtonText> <!--  text on the confirm button in the form -->
                  <HighConfidenceScore>70</HighConfidenceScore> <!-- high confidence score -->
                  <NoAnswerScore>30</NoAnswerScore> <!-- no answer score -->
                  <Category> <!-- this is category -->
                          <CatagoryName>String</CatagoryName> <!-- category name -->
                          <Intent> <!-- this is intent  -->
                                   <IntentName>String</IntentName> <!-- intent name -->
                                   <IsNeedSingInBeforeBotRespond>1</IsNeedSingInBeforeBotRespond>
                                   <!-- if the visitor needs to sign before bot responses -->
                                   <IsNotifyAgent>1</IsNotifyAgent> <!-- if need to nofigy agent -->
                                   <IfRequireConfirm>1</IfRequireConfirm> <!-- if require visitors to confirm -->
                                   <EntityCollectionType>String</EntityCollectionType> <!-- the ways to collect visitor information -->
                                   <FormMessage>String</FormMessage> <!-- the message when asking visitor to collect information -->
                                   <FormTitle>String</FormTitle> <!-- the collection form title -->
                                   <IfRequireDetailInfo>1</IfRequireDetailInfo> <!-- if require visitor to provide additional information -->
                                   <IfRequireLocation>1</IfRequireLocation> <!-- if require visitor to provide location -->
                                   <Question> <!-- this is start of questions -->
                                            <Content>String</Content> <!-- this is question -->
                                            <QuestionEntity> <!-- mark entity in a question -->
                                                     <EntityName>String</EntityName> <!-- entity name -->
                                                     <StartPos>0</StartPos> <!-- entity start position in a question -->
                                                     <EndPos>0</EndPos> <!-- entity end position in a question -->
                                                     <EntityLabel>String</EntityLabel> <!-- entity label -->
                                            </QuestionEntity>
                                   </Question>
                                   <AnswerSignInSettings> <!-- this is the answer setting -->
                                            <ChannelType>Default</ChannelType> <!-- channel like default channel or live chat -->
                                            <SignInMessage>String</SignInMessage> <!-- message when asking visitor to sign in -->
                                            <SignInLinkText>String</SignInLinkText> <!-- text for sign url -->
                                            <IsSSO>1</IsSSO> <!-- if enable sso -->
                                            <SignInURL>String</SignInURL> <!-- sign in url -->
                                            <CustomVariable>String</CustomVariable> <!-- custom varible -->
                                            <OpenIn>sideWindow</OpenIn> 
                                            <!-- the style where to open the Link - side window, a new window/tab or the current browser window -->
                                   </AnswerSignInSettings>
                                   <EntityCollectionFormFields> <!-- require visitors to provide additional details via form -->
                                            <EntityName>String</EntityName> <!-- entity name -->
                                            <FieldName>String</FieldName> <!-- field name -->
                                            <EntityLabel>String</EntityLabel> <!-- entity label -->
                                            <FieldType>text</FieldType> <!-- field type -->
                                            <IsRequired>1</IsRequired> <!-- if requied -->
                                            <IsMasked>1</IsMasked> <!-- if masked in chat transcript -->
                                            <Options>String</Options> <!-- filed options -->
                                   </EntityCollectionFormFields>  
                                   <EntityCollectionPrompts> <!-- require visitors to provide additional details via prompt -->
                                            <EntityName>String</EntityName> <!-- entity name -->
                                            <EntityLabel>String</EntityLabel> <!-- entity label -->
                                            <Questions>String</Questions>  <!-- prompt questions -->
                                            <Options>String</Options> <!-- prompt options -->
                                   </EntityCollectionPrompts>
                                   <IntentAnswers> <!-- intent answers -->                                        
                                            <ChannelType>Default</ChannelType> <!-- channel like default channel or live chat -->
                                            <AnswerType>text</AnswerType> <!-- answer type like text, buttons, quick replies, etc. -->
                                            <Answer>String</Answer> <!-- answer that will display to visitor -->
                                            <IntentAnswerButtons> <!-- this is button -->
                                                     <ButtonText>String</ButtonText> <!-- button description -->
                                                     <ButtonType>goToIntent</ButtonType> <!-- button type Go to Intent, Link or Webview -->
                                                     <UrlOrIntentName>String</UrlOrIntentName> <!-- the text name of the url or intent -->
                                                     <OpenIn>sideWindow</OpenIn>
                                                     <!-- the style where to open the Link - side window, a new window/tab or the current browser window -->
                                                     <OpenStyle>compact</OpenStyle> <!-- webview style like full, tall, and compact -->
                                            </IntentAnswerButtons>
                                   </IntentAnswers>
                          </Intent>
                  </Category>
                  <Entity> <!-- this is entity -->
                          <EntityType>None</EntityType> <!-- entity type -->
                          <EntityName>String</EntityName> <!-- entity name -->
                          <DisplayName>String</DisplayName>  <!-- entity display name -->
                          <EntityItem> entiry item
                                   <KeyWord>String</KeyWord>  <!-- keyword for the entity -->
                                   <SynonymsOfKeyWord>String</SynonymsOfKeyWord> <!-- synonyms of keyword  -->
                          </EntityItem>
                  </Entity>
                  <SmartTriggers> <!-- this is smart triggers -->
                          <Name>String</Name> <!-- name of triggers -->
                          <IsEnabled>1</IsEnabled> <!-- if enable the triggers -->
                          <ConditionExpression>String</ConditionExpression> <!-- condition expression -->
                          <ConditionExpressionType>all</ConditionExpressionType> <!-- condition expression type - all, any, logical express -->
                          <SmartTriggerConditions> <!-- detailed smart trigger conditions -->
                                   <Variable>String</Variable> <!-- variable name -->
                                   <Expression>equal</Expression> <!-- expression -->
                                   <Value>String</Value> <!-- value -->
                          </SmartTriggerConditions>
                          <SmartTriggerActions> <!-- smart trigger actions -->
                                   <ActionType>notification</ActionType> <!-- acition type like sending notification and transfer chat -->
                                   <IsEnabled>1</IsEnabled> <!-- if enable the action -->
                                   <VisitorSegmentId>0</VisitorSegmentId>  <!-- visitor segment id -->
                                   <AgentOfflineMessage>String</AgentOfflineMessage> <!-- message when agent is offline -->
                                   <TargetType>agent</TargetType> <!-- target type department or agent -->
                                   <Departments>String</Departments> <!-- the department that chat will be transferred to -->
                                   <Agents>String</Agents> <!-- the agent that chat will be transferred to -->
                          </SmartTriggerActions>
                  </SmartTriggers>
                  <QuickReplys> <!-- this is quick repley-->
                          <Name>String</Name> <!-- name of quick reply -->
                          <QuickReplyItems>
                                   <Type>goToIntent</Type> <!-- the purpose of the quick reply - go to intent or contact agent -->
                                   <Name>String</Name> <!-- quick reply -->
                                   <IntentName>String</IntentName> <!-- intent name -->
                          </QuickReplyItems>
                  </QuickReplys>
         </Bot>
</BotImportData>