V3 Omni Channel Actions Flow - Channel Routing

To configure routing, each channels not Voice (so Mail, Chat, Sms, Fax, Open Channel, Whatsapp) has its own section Account (excepting for chat that has Chat Websites to configure chat snippet on websites).

 

Editing an Account, it’s possible to select Actions section

 

Actions can be defined in order to manage interactions coming through a channel end point (e.g Email Accounts, Chat Websites, and so on) and they are defined in 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

Application

Channels

Description

Parameters

Other information

Agent

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Sends a notification to a specific Agent
- Agent name (from list)
- Agent timeout: Time in sec for waiting the Agent to accept the interaction. When time is expired, the next application will be executed
A specific agent is contacted and routing stops for the inserted timeout seconds.
The agent is notified every X seconds (depending on the configuration entered). If timeout expires, the next application is executed

AmazonLex

Chat
SMS
Openchannel
Whatsapp
It enables you to use an Amazon Lex BOT (integration available as Chat and Open Channel Action)
To use it you must enable AI on your license
- Access Key ID
- Access Key Secret
- Region
- BOT name
- Welcome Message

 

Auto Reply

Mail
Chat
SMS
Openchannel
Whatsapp
Sends an automatic reply
(not available on Fax channel action flow)
- Number of times per interaction:
One time: the action will be performed only once and then not for the rest of the interaction
Always: the action will be performed each time a message arrives 
First Message: the action will be performed only on the first message, so if the message is not the one that starts the conversation, the auto reply is not sent
- Reply Type (available only for email Channel)
- Text of the autoreply message
First message starts even if customer does not write (chat request is considered as first message).
Scenario
Action Flow created in this way:
1. BOT 2. Auto Reply 3. Queue

- First message will not be sent because before there is a bot
- One time auto reply will be sent once even if there is a bot
If the agent does not reply, interaction is not closed and the routing starts again from first action, with one time option the auto reply message is not sent again.

On the Email channel only it is possible to specify whether this action must be performed as Reply (send the reply to the sender) or as Reply-to-All (send the reply to the sender and to all recipients in CC).
You can insert a custom header to notify external systems that this is an automatic reply:
'Auto-Submitted': 'auto-replied'
'X-Auto-Response-Suppress': 'All'
'Precedence': 'auto_reply'

ChatGPT

Chat
WhatsApp
Openchannel
SMS
Supports action flow of an account to manage interactions with OpenAI models
To use it you must enable AI on your license
- Choose OpenaAI cloud provider account
- ChatGPT Model
- Name of ChatGPT bot
- Max conversation length in ChatGPT tokens
- Exit Phrase
- ChatGPT Prompt
- ChatGPT Temperature
- Analyze chat to know if you should pass to an agent (enable/disable)
- Forward Message
- Error Message
-ChatGPT Attachment Message

 

Close

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Closes the interaction
- Disposition

 

Dialogflow

(Deprecated from rel. 2.5.7)
Chat
SMS
Openchannel
Whatsapp
Activates a conversational agent defined on Google Dialogflow 
To use it you must enable AI on your license
- Dialogflow API Client Key (or Developer Key in a testing phase)
- Language
- Welcome Message (optional parameter: if not used the Snippet "Allow Customer writing before customer accepting" switch must be set as ON)
When a new message arrives, Dialogflow handles it via the configured agent.
Only if you have configured in agent section an intent of closing chat, Dialogflow switches to the next app.

DialogflowV2

(Starting from rel. 2.5.7)
Chat
SMS
Openchannel
Whatsapp
Activates a conversational agent defined on Google Dialogflow
- Project ID
- Client Email
- Private Key
- Language
- Welcome Message (optional parameter: if not used the Snippet "Allow Customer writing before customer accepting" switch must be set as ON)
See here for further documentation

GoToIf

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Jumps to an action in the flow according to the condition set
- Condition (variable or value)
- True Priority (action in the list to execute if the condition is satisfied)
- False Priority (action in the list to execute if the condition is not satisfied)

 

GotoP

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Jumps to an action in the flow choosing the priority you want
- Priority (action in the list to execute)

 

Noop

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Writes information in a log file (for debugging purpose)
- Value

 

Queue

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
Sends a notification to a specific Queue
- Queue (from list)
- Timeout: Time in sec for waiting the Agents in the Queue to accept the interaction. When time is expired, the next application will be executed
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
Chat
SMS
Openchannel
Fax
Whatsapp
Executes a unix command or script

 

- Command (unix command or script to be executed)
- Variable (optional: where to store the command/script result)
System Application is very useful when you need to:
- get information from a source external to XCALLY Motion (e.g. DB tables, CRM, other)
- provide XCALLY Motion interaction information to external applications
For example: In the following statement, the command field executes a script to verify the message.from (sender) value and inserts the result in the VAR1 variable:

Tag

Mail
Chat
SMS
Openchannel
Fax
Whatsapp
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:

 

  1. When a new chat arrives, there is an Autoreply with a first message of welcome

  2. [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

  3. 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

  4. GoToIf to indicate that if SUPPORT_TYPE is equal to Support, chat jumps to priority 5, otherwise to priority 6

  5. 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

  6. Close interaction if no one answered the chat: unmanaged disposition to keep track of interaction. This application automatically forces interaction closure.

Interactions Priority

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.