To optimize resources in your contact center, use automated flows or chatbots to avoid repetitive work so your agents can focus on more complex tasks. Automation is available over our Chatbots, Flow builder in the web interface or over Flow API.

Conversations - Set up automated flows with chatbots over web interface or API

Create Flows

Navigate to the Communicate module and click CREATE FLOW. Select a predefined Flow template or choose Start from Scratch to build your own.

You can choose one of the following options to start your flow:

  • Inbound message – inbound messages through a channel, using a 2-Way number or creating your own content

  • One-time audience – you know your audience in advance and want to invite them to a conversation

  • Flow API – audience is added to Flow via API

  • People events – people are added to Flow after it starts, based on their profile changes

Learn more about People.

In the example below, the Flow is started by sending bulk messages to customer for special offers. If they are interested and wish to receive more information they can connect with an agent by replying YES.  

Create a bot over Flow and use Conversations

To enable the Flow to transfer a customer to a real agent, you need to specify the Start a conversation action. Any conversation transferred to agents has an option to get a tag for an effective routing or topic hint to agents.

Start a conversation using Flow

Once the conversation is transferred to an agent, all messages exchanged between Flow and the customer are shown in the conversation details so the Agent can see the customer intent.

Create Outbound IVR over Flow

Navigate to the Moments module and click CREATE FLOW.
You can use a predefined Flow template or choose Start from Scratch to build your own and select Predefined Audience as your entry point. Existing users in the target section, grouped or tagged will enter the flow.

In the example below, calls are placed to a predefined list of phone numbers when flow is initiated. An IVR message is played to the callee and later their inputs are collected to a variable. 
Depending on the variable value, the flow will transfer the call to a real agent. To make this happen, you need to specify the Start a Conversation action.

Conversations - Create outbound IVR


Having in mind the number of agents who will be answering calls, note that you should adjust sending speed. If there are no available agents at that moment, waiting strategy would be played to the caller.
Also, you can tag any conversation that you want to transfer to an agent. Use tags to hint the conversation topic to agents.

Conversations - Add tag to outbound flow

Both collected inputs and tags can be used for effective routing of conversations. 

Create Chatbots

Navigate to the Answers module and click CREATE BOT. Bots always start with inbound messages. You can create simple FAQ type of scenarios or more advanced AI-based chatbots. To enable the transfer of a customer to a real agent, you need to specify the Redirect to agent action in Chatbot. Any conversation transferred to agents has an option to get a tag for an effective routing or topic hint to agents.Chatbots have the ability to transfer customer to agents automatically if they are not able to resolve the inquiry.

Once the conversation is transferred to an agent, all messages exchanged between Flow and the customer are shown in the conversation details so the Agent can see the customer intent.

Learn more about Chatbots.

Automated Away Messages

Surely you must have come across customers contacting your contact center out of working hours, or you may have been on the other side of the coin and contacted a service that was out of office at that particular time of the day.

Now you can define Automated Away Messages inside Apps for each specific queue where an away message is sent if a customer contacts your contact center out of your working hours.

Set working hours for each separate day of the week.
Also, holidays can be set as non-working days and you can set them by exact dates which throws repetitiveness out of the window.

Conversations- Set working hours

A working hour period can be set per queue, meaning that one working hour period can be assigned to each queue.
This is especially handy for companies dealing with different markets in different time zones.
One working hour period can be set as default which means that all queues created afterwards will have this period set without the need for intervention.
If you happen to change the default working hour period, previously created queues will retain the old setup.

Conversations - Set queue working hours

Supervisors can set:

  • working hours for their contact center


  • define the out of working hours auto-reply to be sent to customers

Calls - Set away message

There are two types of away messages that can be defined:

  1. Text message - this message is mandatory when using automatic replies. It is sent to customers that will try to contact you over messaging channels outside of defined business hours.

  2. Audio message - is played to customers that will try to call you outside of defined business hours. This message is optional.

You can decide to create your away messages to be played as audio. In this case you should use text-to-speech as audio source and write the message content in the provided text field and adjust parameters based on your preferences. 

Alternatively, you can use a file that you have recorded previously and set this as your audio away message. This is where you use file upload as audio source. 
Click Browse, locate your file and confirm the action to upload it.

Agents and Supervisors will be able to see all conversations and messages created outside working hours to follow up with customers.
When a customer sends a message outside working hours they will receive the auto-reply over the same channel that they used to contact you from.

Conversations - Outside working hours message

View Bot Conversations

Bot conversations are conversations or parts of conversations exchanged between end users and an automated bot. Only bot conversations that have Start a conversation action defined will be visible in the Conversations module. All bot conversations will have a bot agent assigned. Bot name will be equal to the name of the Flow used to execute the bot conversation. To view bot conversations, Supervisors need to go to Conversations > All Work and select Bots view.

Monitoring Bot conversations helps Supervisors identify bottlenecks in the bot setup and improve the user experience. It also helps measure how many conversations still end up transferred to agents and for which topics specifically. This helps further predict the workload so the Supervisor can adjust agent shifts and training accordingly.

In case bots are unable to resolve customer queries, supervisors can select the Agent takeover action to transfer the conversations to an agent and assist the customers in a timely manner.
To setup a bot, go to Communicate > Flow and select channel and behavior. Read more on how to set up automated flows.

Connect External Bots

When you use an external bots solution to automate a part of the user journey, you can still connect it to the Conversations solution by triggering the transfer to agent action. The action will move the bot-to-customer conversation to the agent along with all the conversation history.

Bots are similar to Agents in the sense that they can have a conversation with customers by sending and receiving messages through an API endpoint.

To trigger the transfer to an Agent from an external bot, you need to add the the external bot URL in Conversations. If the external bot configuration exists when an inbound message is received, it will be forwarded to the bot URL.

Set Up External Bot

To configure a bot, go to Conversations in the Apps module and define the following as an admin:

  • Bot name - A unique name that will be visible in the bot conversations queue. It’s different from the existing Flow or Infobip bots.
  • Bot URL - The URL where all inbound messages will be forwarded to until the bot triggers the Transfer to the agent action.
  • The number for which the bot is configured - Any inbound message from customers to this number will be forwarded to the bot.
  • Conversation history - If checked, messages exchanged between the customer and the bot will be visible to agents once they take over the conversation. Otherwise, the Agent will not be able to view messages exchanged between the customer and bot.
  • Whether the bot is active or not

Optionally you can define the Session timeout parameter. This timeout is the time period in which the bot conversation session will expire if there are no messages exchanged by the end user.


A bot cannot start a conversation. Conversations can be initiated by the end user only.

Receiving Messages

All inbound messages received on the defined destination number assigned to an active bot will automatically be forwarded to its webhook URL via the POST HTTP method with the conversationId parameter. 

Based on the threading mechanism, a new conversation is created or customer messages are added to an ongoing conversation.

Conversations are automatically assigned to the Bot. Bots are managed as special types of agents by the system.

Once a human agent takes over the conversation, all new customer messages are not sent to Bot webhook URL but rather shown to agent only.

Sending Bot Messages

To send messages from a bot, use our standard Conversation Messaging API. To do this, you must have the conversationId in the URL path and an identifier x-agent-id in the header. The conversationid parameter is used to keep track of messages exchanged between the end user and bot and later agent, while the  x-agent-id parameter is a bot identifier.

Transferring Conversation from Bot to Agent

There are two ways to do this:

1) Conversation can be transferred to an Agent by invoking the route endpoint.

It will remove the bot as an assignee from the conversation, execute routing logic, and find the appropriate queue if any. If you’ve configured the auto-assignment, the conversation will be assigned to the first available Agent.

The bot won’t receive any further inbound messages for this conversation and it won't be able to send any outbound message.

2) Conversation can also be transferred to the agent by invoking the update conversation endpoint, and passing the new agentId parameter. This way routing is avoided and direct assigning is committed.


You can set the customer intent by adding a tag to the conversation which can later be used for routing. Refer to the Add Tag to Conversation article for more information.

Conversation Metadata

Use Conversation Metadata to store and manage additional information. Conversations metadata provides context for Agents when taking over a conversation from a bot. It’s displayed in the Agent Panel so the end user doesn’t have to repeat the entire conversation they had with the bot when switching to an Agent.

Here’s an example of conversation metadata:

{ "Manufacturer": "Mazda", "Model": "CX-5", "EngineType": "Diesel", "EnginePower": 90.0 }

Refer to the Metadata article on our Infobip API developer hub for more information.


Workflows, along with Surveys, is a new option and part of Automations.

It offers the ability to reduce repetitive manual work that you usually do to keep your contact center in order. For example, stop answering to agents from time to time. Those conversations remain open, adding clutter and making agents’ jobs even more difficult and stressful.

Workflows should reduce these types of challenges. Users can set up automated workflows that will perform a set of actions on a specific trigger. Imagine a scenario where a customer's reply is pending for more than one hour—meaning that you can send a message to that customer saying something along the lines of:

„You haven’t responded for 1 hour, we are assuming that you have managed to solve your issue after all. Your conversation with the agent will now be closed.”

After that, the conversation is automatically closed. Messages from workflow to customers are sent over the last channel that the customer used. Workflow messages are displayed and marked under the conversation window.

Conversations - automations - workflows

Another example are conversations that require agent’s response. A workflow can be set so that supervisors are notified if an agent is not responding to the customer. Notifications are visible in a notification pop-up window.

Agent replies - responses

There is no limit to how many actions you can use in one workflow but keep in mind that large number of messages sent to customers or notifications sent to supervisors can be overwhelming and add up to their workflow and stress so be mindful.

Workflows has been improved and now the list supports additional actions available for the Agent reply pending trigger.
That means that supervisors can create workflows what will be triggered in cases when the agent is not replying to the customer in the expected time period.

Once the workflow is triggered, a message can be sent to the customer saying something like „All of our agents are busy at the moment. We'll be with you shortly.“, or the workflow can be set up to send a notification to supervisors (the existing option) or combine some/all of those options – depending on your needs, or as the last option: close the conversation.


Keep in mind that you cannot send messages towards customers if the conversation status is changed to Closed.

Trigger Action
Agent reply has been pending for some time Send in-app notification to all supervisors
  Send message to customer

Close Conversation

Customer reply has been pending for some time Send message to customer
  Close conversation

Conversations - Automations set new workflow


All workflows can only be triggered for conversations that are set as Open.


Surveys is another part of Automations. It serves as an option to automatically collect Customer Satisfaction Scores. Those scores can help in recognizing more or less satisfied customers, to adjust the tone of ensuing communication and improve the overall quality of your contact center.

Automations - Surveys

Survey is triggered when a conversation status is changed to Solved. Shortly after that the customer will receive a message over the channel that they used last in their conversation. Message contains questions about their satisfaction with the current issue and whether it was resolved. The questions are predefined but the you have the option to edit it.

There are two possible answers: happy and not happy.

Also, agents can define a follow-up question requiring additional feedback that customers may provide. Score and comments are visible in the agent panel and in the Voice of the customer dashboard.

Support Service Survey - Conversations

Along with the trigger saying that conversation status is changed to Solved, you can set the time span between two surveys. This period starts after one survey has been sent to the customer. Another survey message cannot be triggered before this period elapses. This is a very important parameter that will protect customers from being spammed with multiple survey within a short period of time.

Biometry Authentication

Customer authentication is a common part of everyday processes in contact centers. It can be used to verify the identity of both existing and new clients. Using biometry for client authentication significantly improves reliability of positive identification, improves the overall process and customer experience.

Biometric authentication can be used in Conversations (when interacting with agents) and Answers (when interacting with chatbots, before switching to an agent).

To use biometric authentication, you need to complete the enrollment process Know Your Customer (KYC). During the process, customers must a provide a scanned ID with a picture and take selfie. To confirm the customer’s identity, data extracted from the document must match the data available in People. Once confirmed, customers will be able to use selfies as their authentication method.

When using OTT channels such as WhatsApp, Viber and other, the agent sends a message with the URL to the customer. The link leads to the authentication service that guides them through the process of scanning their ID and taking a selfie.


The prerequisite for using KYC is to have your customer’s data in People.

  1. Log in to the web interface and navigate to People > ADD NEW PERSON.
  2. Enter contact information and attributes. Enter Standard attributes and Custom attributes.

Custom attributes:

First name mrzFirstName
Last name mrzLastName
Date of birth mrzDateOfBirth
Document ID mrzDocumentId
Document expiry date mrzDocumentExpiryDate

Conversations - Biometry authentication - custom attributes in People

bioReferenceiD as custom attribute is automatically generated.

During the KYC process the data will be read from the document’s MRZ section. It should contain the same five fields to be matched to the fields already in People.

Only if all data matches, the customer will be considered as authenticated and they will be able to use selfies as their only authentication method in future communication.

Authentication Steps

  1. Once the conversations starts, the agent sends the authentication link.

Conversations biometry authentication chat

  1. Customer receives the URL and proceeds to authentication. When the customer starts the authentication process, the agent will see that the authentication is in progress.
  2. Once the customer authenticated themselves, the conversation continues.

Authentication confirmed