We have covered how to build a simple NLU-model and some basic workflows that present responses in plain text. In this next section we will look at some more advanced but still fundamental tools in building a responsive workflows in the chatbot.

We will look at

  • How to transfer a customer to a live agent.
  • How to navigate and co-browse using the bot
  • How to highlight specific elements on a webpage
  • How to use options
  • How to use Execute on time  
  • Custom bot intros
  • Enabling and disabling the chat input field
All custom actions are based on workflows. The intent may trigger custom actions without triggering a saved workflow. But this is not best practise and not recommended. A saved workflow should therefore always be the response of an intent.
How to transfer a customer to a live agent

At some point your bot will have a hard time understanding. And at some point you don’t want the bot to answer a specific question but instead you want a live agent to take over. This is possible with the action called “Check group status and transfer to live agent”.

What this means is that the bot will look at the action and understand that it’s supposed to transfer the dialog to the service group that you have assigned the specific workflow.

Let’s say that a customer has a question about an invoice.

You have decided that questions about invoices are supposed to be handled by the live agents and your bot is to transfer the dialog.

Your live agents are part of different service groups and in this example let’s pretend that one of your service groups are called “economics”. What the bot will do is:

  1. Identify the intent of an invoice.
  2. Respond with a workflow that will say that the question is to be handled by a live agent.
  3. Do a look up at the service group to see if the group is currently open and manned by agents.
  4. If the group is open and manned by agents, the bot will transfer the dialog to the queue of the specific group.
  5. If the group is busy (all agents unavailable), the bot will run a saved workflow.
  6. If the group is closed it will display a save workflow.

When you create your transfer workflow it’s always good practise to add a basic “Conversation message” before you add the “Check group and transfer”-action. You don’t want your customers to be transferred without knowing what’s happening. Without the conversation message the bot will just transfer the customer to a group without the customer noticing it.

The above picture shows the properties for the check group and transfer action.

  • Transfer to group: Choose which service group the bot will transfer to
  • Workflow to Execute on Busy: Choose a saved workflow that will trigger when the chosen group is busy
  • Workflow to Execute on Closed: Choose a saved workflow that will trigger when the chosen group is closed
 You will have to build custom workflows for when the bot is not able to transfer your dialogs for different reasons. You can build a workflow where the bot collects customer information and a message so that the live agents can respond later by voice or e-mail.
How to navigate and co-browse

A good practise when building your bot is to help your customer to find information instead of just presenting the answer in plain text. To do this we can use the built in functionality called “Co-browsing”.

In the bot-trainer we call this action “website navigate” and basically what this does is to navigate the customer to an assigned URL.

To add this action to your workflow, you simple choose “website navigate” in the actions panel and type in the URL you want to navigate your customer to. And then click “ADD”.

This will add a new node to your workflow with your “website navigate”-action. So in this case the bot will state in a conversation message that it is a test message and that the customer will be navigated. And in the next step the bot will navigate the customer to the specified URL.

This is just an example. Do not navigate outside of your company’s webpage. The customer will lose the connection to the chat session.
How to highlight an element on a webpage

Let’s say that you want to not only navigate your customer to the right page at your web. You also want to really point out the information that is relevant to the question. This could be, for example pointing at an application form or pointing at a product.

This is possible with the action called “Highlight element”. Highlight element will highlight an element of your choice with a yellow box. And in the same time scroll the customers browser to the correct stage of the page.

To use the “highlight element”-action you have to know how to copy the “x-path” of the specific element. The x-path is the unique identifier of a specific element on a webpage or in a web application. To find this unique ID, you have to open up the browser inspector.

From Chrome :

  1. Right click "inspect" on the item you are trying to find the xpath
  2. Right click on the highlighted area on the console.
  3. Go to Copy xpath
How to use options

Options are used to navigate the chatbot with buttons without writing text to it. These are essentially buttons the customer can press and be redirected.

For example, you can present buttons as a menu when the chat bot starts. It is even recommended as this helps the customer to the right questions directly. Best practise is to present buttons with clear meaning as bot intro.

To add options to your workflows you go to the workflow builder view and add options from your toolbox.

  1. Enter ‘’Option text’’. This is the text that will be stated on the button.
  2. Chose response action. It’s recommended to use a saved workflow.
  3. Use the add button to add more options
  4. Use the modify  to modify the order of the options.
  5. Click ADD to add the options to the workflow. This will create a new node.

Use the settings icon to enter more preferences.

How to use Execute on time

Execute on time is a feature that allows the bot to preform different depending on time of day or even dates.

A common example is that the bot greeting is different if it is used in the morning, during the day or in the evening. The bot can then greet the customer with for example “Good morning”, “Hello!” or “Good evening”.

Option Function
Time The time which will trigger the execution
  • < (Less than) – If the time of the day is less than the specified time, the true condition will be executed
  • > (More than) – If the time of the day is more than the specific time, the true condition will be executed
  • = (Equal to) – The true condition will only be executed if the time is equal to the specified time
Days of Week Select which days that should be included or excluded from the action
True Select a saved workflow which should be played if the conditions are true
False This saved workflow will be played if the conditions are not met
Add Adds the action to Workflow
Execute on date

You can add custom bot intros that executes depending on which URL your customer is on when initiating a chat session.

Let’s say that the customer is navigating to the customer service page and from there initiates a chat session. The bot will greet the customer with a custom message for the customer service and a custom menu of option buttons. If the customer is navigating the e-store the bot will prompt the customer a custom intro with option buttons on how to buy your articles.

To create a custom intro for your chatbot you need to create custom ‘’Opportunities’’, custom ‘’case types’’ and custom ‘’Solutions’’ in the platform. This is something that is done firstly by the administrators at Puzzel in collaboration with the customer.

Option Function
Date Select which date you want to add to your workflow
Add Date Adds the selected date to a list of dates to be included
True Saved work that should be played if date conditions are met
False Workflow to be played if date conditions are not met
Add Adds the execute on date node to the Workflow
Chat input field action

Let’s say that you want to create a workflow where you want to force the user to click through different options. Or you want to force the user to fill in an input field inside an inline HTML-template in the chat. Then it’s a good idea to disable the chat input field.

Remember to enable the input field after you have finished your workflow or task. It’s a bad practise to not let the user write queries when supposed to. The workflow below is what you see to the left. When form is submitted, the workflow will continue and enable the input field.

Setting intent model

The Puzzel Smartbot can handle more than one intent model. This is preferred if you are building a bot with more than one language. It’s then a good idea to separate the training data into two different intent models.

When starting the bot, you then use the action “Set intent model” to select which intent model to query in the dialogue. The action Set intent model can be used where ever one may want in any workflow.

The action is a node just like any other and therefore it suits best in the intro-workflows since we want to set the intent model as soon as the bot starts.


Last updated