V3 Omni Channel Actions Flow - Channel Routing
What’s about
In this page you can learn how to configure and manage routing for Email, Chat, SMS, Fax, Open Channel, and WhatsApp channels.
The routing logic is defined through a sequence of applications set in the Channel Actions section. Each application defines a specific action to be executed on incoming interactions, for example notifying an agent, sending an automatic reply to the customer, or integrating the channel with a bot such as Amazon Lex, ChatGPT, or Dialogflow.
How it works
To configure routing, each non-Voice channel—such as Mail, SMS, Fax, Open Channel, and WhatsApp—has its own Account section for setup.
An exception is Chat, which uses the Chat Websites section to configure chat snippets for integration with websites.
Editing an Account, it’s possible to select Actions section.
Actions can be configured to manage interactions coming through specific channel endpoints (e.g., Email Accounts, Chat Websites, etc.). These actions are defined within the Channel Applications list.
When a new interaction arrives on a channel, it follows actions flow inserted here:
Applications List
Applications will be executed in the Action flow in the order they are placed in the list and may vary, according to the channel type.
Application | Channels | Description | Parameters | Other information |
---|---|---|---|---|
Agent | Mail | Sends a notification to a specific Agent | - Agent name (from list) | A specific agent is contacted and routing stops for the inserted timeout seconds. |
AmazonLex | Chat | It enables you to use an Amazon Lex BOT (integration available as Chat and Open Channel Action)Please note that if you use bots in XCALLY, there are costs associated with AI-managed conversations, visible on AI-conversations dashboard from version 3.46.1 | - Access Key ID |
|
Auto Reply | Mail | Sends an automatic reply | - Number of times per interaction: | First message starts even if customer does not write (chat request is considered as first message).Scenario |
ChatGPT | Chat | Supports action flow of an account to manage interactions with OpenAI modelsPlease note that if you use bots in XCALLY, there are costs associated with AI-managed conversations, visible on AI-conversations dashboard from version 3.46.1 | - Choose OpenaAI cloud provider account |
|
Close | Mail | Closes the interaction | - Disposition |
|
DialogflowV2(Starting from rel. 2.5.7) | Chat | Activates a conversational agent defined on Google DialogflowPlease note that if you use bots in XCALLY, there are costs associated with AI-managed conversations, visible on AI-conversations dashboard from version 3.46.1 | - Project ID | See here for further documentation |
GoToIf | Mail | Jumps to an action in the flow according to the condition set | - Condition (variable or value) | Consider this information if you use GoToIf in your action plan. |
GotoP | Mail | Jumps to an action in the flow choosing the priority you want | - Priority (action in the list to execute) |
|
Noop | Mail | Writes information in a log file (for debugging purpose) | - Value |
|
Queue | Mail | Sends a notification to a specific Queue | - Queue (from list) | You associate agents to queue based on skills. When a new interaction arrives, it moves to queue depending on chosen strategy (Beepall all / RR Memory) |
System | Mail | Executes a unix command or script
| - Command (unix command or script to be executed) | System Application is very useful when you need to: |
Tag | Mail | Add a selected tag to the interactions | - Tag list |
|
When a new interaction arrives, action flow starts: Applications follow the order of entry (start with application 1 → then move on application 2 → then 3 and so on.
Action flow jumps from app to app based on configuration made on application. Here you can see an example of chat action flow:
When a new chat arrives, there is an Autoreply with a first message of welcome
[Custom form inserted on snippet with a select: 1 to chat with Sales, 2 to chat with Support. Before starting chat interaction, customer chooses support type and the created variable SUPPORT_TYPE record this data] GoToIf to indicate that if SUPPORT_TYPE is equal to Sales, chat jumps to priority 3, otherwise to priority 4
Chat enters on Queue for a timeout of 300 seconds. If an agent answers within 300 sec, routing stops. If nobody answers, interaction jumps to next priority
GoToIf to indicate that if SUPPORT_TYPE is equal to Support, chat jumps to priority 5, otherwise to priority 6
Chat with Support request enters in the other Queue for a timeout of 300 seconds. If an agent answers within 300 sec, routing stops. If nobody answers, interaction jumps to next priority
Close interaction if no one answered the chat: unmanaged disposition to keep track of interaction. This application automatically forces interaction closure.
Interactions Priority
Remember that each interaction is independent from the others. If two interactions arrive simultaneously on two different channels (e.g. a chat and a text message) or on the same channel (e.g. two chats on two different services), priority is defined by the flow that the interaction follows within the routing
Each interaction always starts from the first application and a new action flow is activated:
Scenario 1: two interactions on same channel
which follow same actions flow
Mode FIFO (First In First Out): first message sent,
is the first managed by client side
Scenario 2: different interactions on same channel
which follow different actions flow
If chats are opened on different interactions, the message that followed the action flow faster arrives first by client side
Scenario 3: two interactions on different channels
(1 chat and 1 mail)
In the meantime, a flow is created for each channel.
The message that followed the flow the quickest is notified to the operator first.
For example it’s possible that FB Messenger action flow has more controls than chat action flow, so chat interaction passes first for this reason.