How do I aggregate Custom Bots in multiple languages into 1 internationalized Custom Bot?

Custom Bots, in the current form, do not support serving multiple languages. As a result, customers have created multiple Custom Bots, serving the same purpose in multiple languages.

This also involves multiple New Issue Automations routing to the multiple Custom Bots on the basis of language.

Planning the Aggregation

Step 1

To start, identify the Custom Bots that you want to aggregate together.

Let’s say the following Bots need to be aggregated:

Custom Bot Name Language NIA assigning to this Bot
Lost Account – T1 – En English NIA 5 – English Bot
Lost Account – T1 – Es Spanish NIA 6 – Spanish Bot
Lost Account – T1 – Fr French NIA 7 – French Bot
Lost Account – T1 – Ru Russian NIA 8 – Russian Bot

Step 2

Make sure that the 4 Custom Bots (shown above) have the same naming convention and structure. This means that they have the same steps in the same sequence. The assumption is that all of the bots have the same objective and only the language is different – this is why the structure should be the same.

Important: If the structure of the 4 Custom Bots are not the same, the first step should be to unify them. Otherwise, these 4 cannot be combined into 1 localized Bot.

The Actual Aggregation

Step 3

Create a Text Template folder with the same name as the Custom Bot. In this case, the name can be ‘Lost Account – Custom Bot Text’. In this folder, create as many Text Templates as there are bot steps in the Custom Bot.

Help on Text Templates: https://support.helpshift.com/kb/article/what-is-text-template-and-how-do-i-create-it/

Let’s assume the Lost Account Bot has 4 steps; the names of these steps are:

  1. Welcome by Bot (Type: Send a Message)
  2. Ask Email from user (Type: Get Information from User)
  3. Verify Email (Type: Make an API Request)
  4. Verified User End Flow (Type: End Conversation Flow)
  5. Unverified User End Flow (Type: End Conversation Flow)

 

There are 4 steps that show content to the user: Welcome by Bot, Ask Email from user, Verified User End Flow and Unverified User End Flow. Only these can consume text Templates.

For each of these steps, create the corresponding Text Template. The same names make sense as it will be easier to track. Each Text Template should have text in all the languages you want.

Once this is done, this is what the Text Template Folder should look like:

 

 

Step 4

Select any of the 4 Custom Bots and duplicate it – once you duplicate it, give it a name to indicate this Bot is localized. E.g., in this case, the name could be ‘Lost Account – T1 – All languages’.

In the Bot – ‘Lost Account – T1 – All languages’, the Text Template icon will be available in the 4 steps (Welcome by Bot, Ask Email from user, Verified User End Flow and Unverified User End Flow). Use the icon to insert the appropriate Text Template.

Use the Preview to check the flow by each language. Publish the Bot.

Post Aggregation Clean-up

Step 5

Now that the localized Bot is published, it is time to change the NIAs.

Custom Bot Name Language NIA assigning to this Bot
Lost Account – T1 – En English NIA 5 – English Bot
Lost Account – T1 – Es Spanish NIA 6 – Spanish Bot
Lost Account – T1 – Fr French NIA 7 – French Bot
Lost Account – T1 – Ru Russian NIA 8 – Russian Bot

For NIA 5, we have to change the Assign action. Instead of assigning to ‘Lost Account – T1 – En’, it should be changed to ‘Lost Account – T1 – All languages’.

Optional

In case you have separate Queues for each language and you want the Issue to be assigned to the queue after the Lost Account Bot has finished interacting with the user, please use this:

 

The end action in the Bot should be ‘Assign back to respective Queue’ once you select the checkbox shown above. (Change the Queue before assigning to the Member)

Please check the ‘Show Logs’ for new issues to ensure that the Bot assignments work as expected as per the language.

This has to be repeated for each of the other NIAs.

Step 6

Ok, now you have the Automations assigning to the localized Custom Bot, the next step is to Disable the Custom Bots in the individual languages. So, go ahead and disable the 4 Custom Bots (Lost Account – T1 – En, Lost Account – T1 – Es, Lost Account – T1 – Fr and Lost Account – T1 – Ru).

There might be conversations that these 4 bots have started before and not completed yet. Please wait till you see ‘0 ongoing conversations’ for each of these Custom Bots and Delete them. In case you want to compare analytics for a few weeks after this change, please do not Delete them.