V3 Voice Triggers
XCALLY section | Tools → Triggers |
On this page |
What’s about
A voice trigger is invoked every time an outgoing, or incoming call, occurs.
The trigger will execute its actions if the defined conditions are met. Here are a few applications of voice triggers:
opening the contact information
displaying Screen Pop-up that provides value-added information
integrating with applications like Zendesk, Salesforce, Sugar CRM, Desk, Zoho, Freshworks CRM and Freshdesk
integrating with other 3rd party applications like your own CRM
automatically starting surveys for agents
Voice triggers are composed of conditions and actions. This section explains how to build conditions and the available actions for the voice channel.
To create a new voice trigger, you can click on Tools Trigger + (to add a new trigger)
choose a name
Voice as channel
activate Status
description (optional)
Click on Add Trigger
Then you can define conditions and actions
Voice trigger conditions
A condition for a voice channel is constructed by using properties (Queue, Call status, Outbound route or Agent), an operator (equals or not equals) and a value.
There are two types of conditions:
Meet all these conditions: the overall condition will be true only if all the conditions are true (AND conditions).
When choosing a queue, the trigger will be activated only when interactions pass through that specific queue.
Meet any of these conditions: the overall condition will be true if at least one of the conditions is true (OR conditions).
Trigger will be activated if interactions pass through that specific queue OR that outbound route.
Remember that if for example you transfer a call to a route or to a queue, the created trigger can be invoked (instead if you transfer the call directly to a internal number, the trigger is not activated)
Moreover, it is possible to specify more complex conditions by using both types: in this case, the result is true if both conditions are true (AND conditions).
In this example, the overall condition is true if the call is in the Support or Sales queue and the call is answered.
The condition will always return true if you do not define any condition. In this case, the specified actions will always be executed.
You can use the following fields and operators to build condition statements:
Fields | Operators | Values |
---|---|---|
Queue | Equals to | You can select from a list of voice queues (Inbound) and queue campaigns (Outbound) |
Call status (to use only if call direction is equal to inbound) | Equals to | - Ring: the call is ringing |
Call Direction | Equals to | - Inbound |
Outbound Route | Equals to | You can select a context from the list of outbound routes |
Agent | Equals to | Agent name (selected from a list of all the available Agents) |
How to combine conditions correctly
Based on type of call, you can combine conditions in AND (meet all conditions) or in OR (meet any of conditions) to make the trigger work correctly.
TIP:
If you place one of these rules (queue/outbound route/agent) the second rule inserted in meet all conditions should only be a call status.
If instead, you need to use 2 applications such as queue and outbound route, you should use any of the conditions
Example of compliant conditions in AND
• Queue + Call status
• Outbound route + Call status (answered or hangup)
• Agent + Call status
Example of non-compliant conditions in AND
• Queue + Outbound route (both cannot occur at the same time)
• Queue + Agent
• Queue + Call status answered + call status abandoned (a call status cannot be answered and abandoned at the same time)
• Outbound route + Call status abandoned (this status is related always to a queue)
Type of agent's involvement | Compliant Actions |
---|---|
Agent involved in the call | Motion Bar (Popup, CTI URL, Window App) |
Agent not involved in the call | Integrations |
Triggable actions can be classified into two categories: actions related to calls where agent is involved or where agent is not involved.
When agent is involved all actions are compliant in trigger configuration, while if agent is not involved you can only use Integration, URL Forward, Contact Manager and Script as compliant actions.
Scenario
Conditions Queue equal to Support AND Call Status equal to Abandon ↴
Agent not involved on call flow ↴
You can insert as action only one of these: Integrations / URL Forward / Contacts Manager / Script
In this list, you can see the compliant actions that you can insert to activate the trigger correctly, based on the type of call and the conditions entered.
Type of call | 1° Condition | 2° Condition = | Compliant Actions | ||
INBOUND - | Queue | Name of chosen | + | Timeout | Integrations |
Queue | Name of chosen | + | Hangup | Motion Bar | |
OUTBOUND - Queue Campaigns (Motion Bull) | Queue | Name of chosen | + | Hangup | Motion Bar |
OUTBOUND ROUTE | Route | Name of chosen | + | Hangup | Motion Bar |
Voice trigger actions
Voice trigger actions are functions executed when the defined voice trigger conditions are true.
Actions can be related to 3 different moments:
before customer-agent contact (for instance before agent's answer)
during call
after call
It's important to choose conditions in the right way, because for example if you insert a condition like call status abandoned, you can't place action involving agent (e.g. jscripty) while an action like webservice can be inserted in every moment, depending on the related API (Salesforce only after call).
In the following section you find a list of actions that can be used.
Motion Bar
Motion bar action is used to notify the Omnichannel Motion Phonebar to perform actions like: display screen popup, execute windows application or open a URL in a web browser.
There are 3 types of Phonebar actions:
Popup
Popup action is used to display a customizable screen popup for agents logged in the Phonebar. You must first create a template (Tools → Templates) with the information you want to be displayed for agents. You can also use standard and custom variables in your template to customize the displayed content based on the values of the variables set during the call flow.
The screenshot shows an example of a template used to show information about the call and the caller.
Moreover, you can select an Auto close option by choosing among these possible values: Never, the popup does not close automatically, Hangup, the popup gets automatically closed when an ongoing call is hangup, Delay, the popup gets closed after a configurable timeout in seconds.
CTI URL
CTI URL action is used to open a specified URL in a browser New Tab or New Window (Location).
It can be used to open a website, your custom CRM url or integrate with any other web application.
You can use standard or custom variables in the URL query string to pass information to the web application that can be useful for processing its logic:
If the Event Variables field is set to Yes, the string in the URL field is merged with all the available interaction type values (pay attention that it add to the URL string the complete variables list: it is not recommended unless for evaluation purposes).
If the Event Variables field is set to No (suggested value), only the variables inserted in the URL field are used.
In the following example, variables in bold are Motion standard variables and those red are custom variables:
http://ip-address/cti/index.html?CALLID={{uniqueid}}&CALLER={{calleridnum}}&QUEUE={{queue}}&ORDER={{ordernum}}&STATUS={{orderstat}}
Windows App
Windows App action is used to execute or open a windows application with the specified arguments in the agent desktop.
You can use standard or custom variables to pass custom information in the arguments.
Contact Manager
The Contact Manager action is used to search a contact in a specific Contact Manager List and displays the contact's information to the Agents on the XCALLY Motion Omni Desktop Interface. If the Contact instead is new, this action will create a new entry in the Contacts Manager.
Add a New Action and choose the Contact Manager type
2. List from where the Contacts must be searched:
Select the fields on which the search is to be made in the CM
in the Standard Fields: | in the List Fields or in the Global Fields: |
4. Create Contact Automatically
Indicate whether the contact must be created (if it is not already in the List).
Yes, the Contact will be always created in the List (if it is not already there). You can choose in which field to insert the Customer number (phone, mobile, fax).
No, if the Contact does not exist in the List, a new Contact tab (filled with the phone number) will be displayed and the Agent will be able to decide whether to add the new contact in the list or to discard it by simply closing the tab.
5. Ignore dialer contact Id
Indicate whether the system must ignore the dialer contact Id, when calls are generated with Motion Bull.
Click on .
Browser
Browser action is used to display screen popup or open a URL in a web browser for agents logged in the web interface. This action does not require agents to be logged in Motion Phonebar.
There are 2 types of browser actions:
Popup
Popup action is used to display a customizable screen popup for agents logged in Motion omni desktop interface. You must first create a template (Tools → Templates) with information you want to be displayed for agents. You can also use standard and custom variables in your template to customize the displayed content based on the values of the variables set during the call flow.
The following screenshot shows as example of a template used to show information about the call and the caller
CTI URL
CTI URL action is used to open a specified URL in a New Tab / New Window of a Browser or in a New Agent Dashboard Tab in the Agent Omni Desktop interface (you can choose this value in the field Location).
It can be used to open a website, your custom CRM url or integrate with any other web application.
You can use standard or custom variables in the URL query string to pass information to the web application that can be useful for processing its logic:
If the Event Variables field is set to Yes, the string in the URL field is merged with all the available interaction type values (pay attention that it add to the URL string the complete variables list: it is not recommended unless for evaluation purposes).
If the Event Variables field is set to No (suggested value), only the variables inserted in the URL field are used.
If the Location is New Agent Dashboard Tab, it is possible to set the Tab Title the Agents will see.
In the following example, variables in bold are Motion standard variables and those red are custom variables:
http://ip-address/cti/index.html?CALLID={{uniqueid}}&CALLER={{calleridnum}}&QUEUE={{queue}}&ORDER={{ORDERNUM}}&STATUS={{ORDERSTAT}}
Integrations
The integrations action is used to trigger one of the integrations you have configured (Zendesk/Salesforce/SugarCRM/Freshdesk, Freshworks CRM). Select the type of integration, the account you have created and the configuration you want to use.
For example, if you set the following action
Every time there is an outgoing/incoming call, the trigger conditions are checked and a Freshdesk ticket is created and displayed to the agent as shown in the figure below if the conditions are met.
URL Forward
The URL Forward action is used to perform RESTful API requests, not for receiving data from external.
Fill the the URL Forward form as follows:
Option | Description |
---|---|
Type | HTTP Method (POST or PUT) |
URL | Request URL
|
Timeout | Request timeout in seconds (it must be between 1 and 10 and the default value is 5) |
Headers | Request headers (it must be in RAW JSON format, i.e. {"key": "value"})
|
Body | Request body (it must be in RAW JSON format, i.e. {"key": "value"}) This option is available only for POST and PUT methods. If empty, the trigger event will be passed as body request.
|
You can also use Motion standard variables or custom variables to pass information to the 3rd party application.
JScripty
JScripty action is used to run a Jscripty project and open the script for the agents inside the Motion Omni Desktop Interface.
In action configuration, you need to indicate:
project to open
option to disable manual tab closure: when this option is enabled, the `X` button will be hidden and the agent will not be able to manually close the tab. Tab will automatically close only after completing the Jscripty project
If instead the option is not turned on, when the trigger is active, agent can close the tab even without filling out the survey
Every time there is an outgoing/incoming call, the trigger conditions are checked and a Jscripty script is displayed to the agent as shown in the figure below if the conditions are met.
timer shows the elapsed time since the Jscripty tab was opened
button will start the script and the first page will be displayed for the agent as shown below
Note that the Next button will be disabled until an answer is provided for questions with required field set.
Voicebot
The Voicebot action can be used to show the Agent the transcript of a conversation between the caller and an IVR bot (for this purpose see the Cally Square blocks of Dialogflow and Amazon Lex).
Script
The Script action allows you to define which script must be run when the trigger is started:
Fill the Script form as follows:
Action: the action script allows you to execute system commands
Type: this is only a descriptive field and it can be e.g. curl, bash, or other. If you use bash type, owner of file .sh has to be Motion
Info: an optional script description
Script: the path of the script to be executed