Custom Bots are an add-on feature that can be unlocked with an account upgrade. Please reach out to success@helpshift.com to learn more.

Custom Bots can be invoked at any point in a conversation to carry out a customizable series of up to 5 different actions. They can do all the same things as Agents, which frees up your support team to hand off Issues to Bots and go work on other things. You can also configure your workflow to have Automations assign Issues to Bots when certain conditions are met, allowing you to use Bots to conduct end-to-end Issue management.

For your in-app users, you must upgrade to SDK v7.1.0+ and have Conversational Issue Filing enabled to use Custom Bots with the SDK. Please review the FAQ What is Conversational Issue Filing, and how do I set it up? to set this up if you haven’t done so yet.

For Web Chat users, no SDK upgrade is needed – as long as you have the Web Chat widget integrated, you can start using Custom Bots to support your web users. Please review our Web Chat guide to set up this widget if needed.

Please note: you will not be able to edit the Bot once you’ve published it, and if you and another Admin of your team attempt to edit a Custom Bot at the same time, those edits may not be saved. For these reasons, we recommend designing your ideal Custom Bot flow outside of the Dashboard before creating it to ensure a smooth implementation.

1. Create Custom Bot
2. Add Steps
3. (Optional) Branch Steps
4. Link Steps
5. Integrate Custom Bots into your Workflow


1. Create Custom Bot

To set up a new Custom Bot, navigate to the Settings page.

Click on the ‘Bots’ tab under ‘Workflows’.

On the page that appears, double check that you’re on the Custom Bots tab in the top navigation bar, then click the ‘New Bot’ button.

In the pop-up that appears, you’ll be asked to provide a name and nickname for your Bot.

The name is how your team will identify your Bot, and must be unique – we recommend coming up with an intuitive name that will help your team understand what this Bot is for.

The nickname will be used if you allow the Bot’s name to be displayed to end users, similar to how Agent nicknames work. Bot nicknames do not have to be unique, meaning you can give the same nickname to multiple different Bots.

Click the ‘Create & Configure Bot’ button to set up your Bot steps.


2. Add Steps

Steps are the actions that the Bot should take within the conversation. You can set up multiple steps for each Bot, which will be linked to be carried out in a specific order. The steps available for you to configure differ based on the Bot being set up.

For Custom Bots, you can set up the following step types:

  • Get information from user to prompt the user to provide additional information to help solve their inquiry. You can collect text, an email address, number, date, Yes/No response, or have the user select one of a list of options. All of these data types can be mapped to corresponding Custom Issue fIelds.
  • Send a message to set expectations about the status of their Issue and when they should expect to hear back from your team.
  • Branch based on Custom Issue Fields to add logic for what the Bot should do based on the user’s response. For example if you ask the user if they are over 18, you can configure different steps for the Bot to take based on how the user responds. Note that this step type is only available for number and date options.
  • Make an API Request to send and receive responses. After you create the API, you can use the Bot Builder to consume the APIs to send and receive responses.
  • End conversation flow to have the Bot exit the conversation. You can add a Bot message in this step to let the user know what will happen next, and also have this Issue reassigned to another Bot, Queue or Agent, marked as Resolved or Rejected, or update Custom Issue Fields or tags.

Examples of how to configure each of these step types are provided below.

On the Bot page, click the ’add first step’ button to start adding steps for this Bot.

In the pop-up that appears, select the Step type. For the first step, you can choose every option except to exit the conversation.

If you choose ‘Get information from user’, you will be able to add a message for the user to provide context on what information you need to gather.

 

Add a name for your step. This should be intuitive for your support team to understand when reviewing the Bot.

When getting information from the user, use the Bot Message field to provide context about the information you want to gather. For example, you can ask a question that the user will answer by making a selection.

You can allow your end users to respond to questions in any of the following formats:

  • Text
  • Email
  • Number
  • Date
  • List of Options
  • Yes/No

You can also map the user’s response to one of your drop-down Custom Issue Fields. If you need to first set up a drop-down Custom Issue Field to work with this Bot, review How do I create a new Custom Issue Field?

When setting up the list of options for the user, the ‘user reply options’ will appear differently based on whether you have enabled or disabled the ‘Map User’s Reply to a Drop-down Custom Issue Field’. If you’ve enabled it, you’ll be able to select a Custom Issue Field for the user’s reply to be mapped to.

If you select a drop-down Custom Issue Field, you’ll also be prompted to select up to 10 corresponding values associated with it to add as options for your user to select.

If this toggle is disabled, you’ll be able to add up to 10 reply options for the user to select when responding to the Bot.

You may also indicate whether or not you would like to allow users to skip this step by enabling the corresponding toggle.

When you’ve added all the options needed for this step, click ‘Save’. You’ll be taken back to the conversation flow page where you can add additional steps. You can also create new steps as part of the process of linking steps, as detailed in the ‘link steps’ section.


3. (Optional) Branch Steps

You may want to have your Bot take different actions depending on the user’s response to a question.

In this example, you may want to start your conversation by checking if your user is over 18. For this, we will first select ‘Get information from user’ to ask the question.

Since the branching option for the ‘Get information from User’ step (Branch Based on User Reply) is only available for questions answered in the date or number format, we will ask the user to select their age Set an intuitive step name, then use the Bot message to prompt the user to select their age.

Set the user reply format to ‘number’, then enable Custom Issue Fields and select the corresponding Custom Issue Field for this step.

After you save the step, you’ll see a new icon which you can use to branch based on the content provided by the user.

Click this icon to open the ‘Branch Based On User Reply’ page. On that page, click the ‘Create First Rule’ button.

Enter an intuitive rule name, then use the condition drop-down and number field to indicate the logic of the rule name. For our example, we want to set up what happens when the user is over 18.

We also want to set up what happens when the user is under 18, so we will add a second rule for this scenario.

The ‘No Match’ option is useful for cases where none of the rules apply. Click ‘Save’ to see the new branching step on your Custom Bot page.

From here, you’ll be able to link steps to the conditional options using the link icon. Learn how to link steps in the next section.


After creating the API, you can use the Bot Builder to consume the APIs to send and receive responses. Following are the new capabilities of Bot Builder:

  • Make an API Request
  • Use Responses in Bot Messages
  • Use Responses to Branch
  • Use Responses to create list of options

Note: For more information on setting up of the API Request, refer to Setup External APIs with Custom Bots.

To make an API request and to receive responses, you need to perform the following steps:

  1. In the Bot Builder, select the Make an API Request option.
  2. Provide the Step name and select the API that you want to trigger from the available drop-down list.
  3. Test the configured API to make sure it is working properly.
  4. After the successful test execution, specify the Parameter values that you want to pass with the Request. You can select the value from the available Step Output drop-down list. You can also enter any manual values if required.Following screen displays the parameter value with the Request.
  5. When an API Request step is created, it will contain Success and Failure branches.

You can use the information from the API response and insert it using a Placeholder to display it to the customer.

 

For the Success branch in the Make an API Request step, you can define rules based on the information from the API response -this is supported for data types – number, boolean and date.

You can use the information from the API response and create a list of options for the user to select from. For example, a list of orders or payments can be displayed.

Following screen displays the information from user.

 


5. Link Steps

To create new steps to link together, click the link + icon to the right of each option to add the step that will take place after the user has selected that option. For example, if the user selected ‘Status of a shipped item’, you may want to ask if they have received a shipping number or not.

On the ‘Add step’ page that appears, you will now see an option to have the Bot end the conversation flow.

For this example, we will select ‘Get information from user’ again to ask whether or not the user has a shipping number (using the Yes/No reply format).

After you save this step, you’ll see it appear as automatically linked to your first step in the flow. This is because you created it using the ‘+’ sign next to that step option.

Once you have all the information you need, to move this Issue forward in your workflow, we need to have this Bot exit the conversation so that an Agent or another Bot can take over. To do this, add one more step using the ‘End conversation flow’ option to complete this process.

You’ll have the option to add a friendly note to your user to thank them for providing that information and let them know what will happen next.

Repeat this process to build out complete steps for each of your flows. You’ll need to create a complete flow for each option that ends with the Bot exiting the conversation.

While building out your flow, use the link icon to link one of the steps you’ve already created to take place after another. For example, you’ll want to use your ‘thank you and exit’ step to appropriately end each flow, so you can use the ‘link’ icon to to re-use this option and streamline the flow for your support team.

Here is what a single completed Bot flow with all steps linked in order from the beginning to the end of the Bot interaction with the user looks like.

You can always preview what the Bot interaction will look like for an end user via the ‘Preview Flow’ button in the Bottom-right corner.

You can also save this draft at any time. When you’re ready to launch this Bot, click the ‘Save and Publish’ button in the top right corner. As a reminder, you will not be able to edit the Bot once you’ve published it.


6. Integrate Custom Bots into your Workflow

Once you’ve created your new Custom Bot, you can use Automations to have the Bot automatically assigned to work on open Issues that meet select criteria. To complete this process, see How do I assign Issues to a specific Agent, Queue, or Bot?