V3 Voice Triggers
XCALLY section | Tools → Triggers |
On this page |
|
Overview
You can create a voice trigger invoked every time an outgoing, or incoming call, occurs.
The trigger will execute its actions if the defined conditions are met. Here are some of the 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.
Create a Trigger
To create a new voice trigger:
Click the blue + button located at the bottom-right corner of the interface, under Tools → Triggers
Choose a trigger name
Select Voice as Channel
Activate Status
Set a description (optional)
Click on Add Trigger
Then you can define conditions and actions as described in the next paragraphs.
Voice trigger conditions
After you created a trigger, you need to add its conditions following the below steps:
Click the three dots menu next to the trigger
Click Edit trigger
Go under Conditions & Actions tab
Click the + button to add a new condition.
A condition for a voice channel is constructed by using:
fields
Queue
Call status
Call direction
Outbound route
Agent
operators
equals
not equals
value options, based on the chosen field.
You can define one or more conditions and choose whether to apply them using different logical operators.
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:
Queue
If you select the Queue field, you can build the condition using the below operators and values:
Operators:
Equals to
Not equal to
Values:
Voice queues (inbound)
Queue campaigns (outbound)
Call Status
If you select the Call Status field, you can build the condition using the below operators and values:
Operators:
Equals to
Not equal to
Call status condition can be used when call direction is equal to inbound.
Values:
Ring: the call is ringing
Answer: the call is answered
Hangup: the call is dropped after being answered
Reject: the Agent hangs up a call in the queue without answering it
Abandon: the Caller hangs up a call in the queue before being answered
Timeout: the call is not handled due to the timeout
NosuchNumber: the called number is non-existent
Busy: the called number is busy
NoAnswer: the call is not answered
Congestion: the call has not been handled due to congestion
AgentReject (Preview method): the agent accepts a call and, before the customer answers, the agent hangs up
AMD (Answer Machine Detection): the system detects that an Answering Machine is answering the call
Call Direction
If you select the Call Direction field, you can build the condition using the below operators and values:
Operators:
Equals to
Not equal to
Values:
Inbound
Outbound
Outbound Route
If you select the Outbound Route field, you can build the condition using the below operators and values:
Operators:
Equals to
Not equal to
Values:
Contexts, from the list of outbound routes
Agent
If you select the Agent field, you can build the condition using the below operators and values:
Operators:
Equals to
Not equal to
Values:
Agents, from the list of all the available agents
This option is only available for Queue and Outbound calls
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
Popup
CTI URL
Windows App
Contacts Manager
Browser
Popup
CTI URL
JScripty
URL Forward
Voicebot
Script
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.
Agents must be logged in the Motion Phonebar for the Motion Phonebar actions to run.
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.
Custom variables must be defined under Tools → Variables then you can set the values in the dialplan or in IVR project.
The screenshot shows an example of a template used to show information about the call and the caller.
Important: Please note the variable name must be lowercase (e.g. {{variable_name}} )
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.
This update works only from 5.2.0 Phonebar version
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}}
Important: Please note the variable name must be lowercase (e.g. {{variable_name}} )
TIP:
Remember to set the Event Variables to No
Note: if the Agents use the WebRTC bar the Motion Bar trigger Action will not work (e.g. use the Browser Popup action to display notifications)
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.
In case of new Contact, this action will create a new entry in the Contacts Manager.
Below the steps of Contact Manager trigger:
Add a New Action and choose the Contact Manager type
2. Select the list from where the Contacts must be searched:
Select the search fields in the Contact Manager:
In the Standard Fields: | In the List Fields or in the Global Fields: |
4. Define if you would like to 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. Define if you would like to Ignore dialer contact Id
Indicate whether the system must ignore the dialer contact Id, when calls are generated with Motion Bull.
Click on Add Action button to confirm the trigger creation.
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.
Agents must be logged in the Motion Omni Desktop Interface for the actions to run.
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.
Custom variables must be defined under Tools → Variables then you can set the values in the dialplan on in IVR project.
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.
Moreover when trigger with Location New Agent Dashboard Tab is invoked, the iframe tag includes the “allow” property to enable the use of the camera and microphone, with the following format:
<iframe ng-src="CONFIGURED_URL" frameborder="0" style="width: 100%; height: 100%; border: 0px" allow="camera *;microphone *" src="CONFIGURED_URL"></iframe>
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}}
TIP:
Remember to set the Event Variables to No
Integrations
The integrations action is used to trigger one of the integrations you have configured.
To configure an integration trigger action select
the action: Integrations
the type of integration from the available options
Dynamics365
Freshdesk
Freshsales
Salesforce
ServiceNow
SugarCRM
vTiger
Zendesk
Zoho
the integration account you have created
the configuration you want to use.
To properly display the ticket for the agents, you need to be sure that :
Agent Email in the integration profile is the same as the Agent Email in Motion for Zendesk/Salesforce/Freshdesk/Freshworks CRM integrations
Agent Full Name in the integration profile is the same as the Agent Full Name in Motion for SugarCRM integration
For example, if you set:
Action: Integrations
Integration: Freshdesk
Account: your Freshdesk account
Configuration: your configuration
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 request.
Please note URL Forward supports request with Content-Type equal to application/json
To configure an URL Forward trigger action select:
Action: URL Forward
Type: the HTTP Method:
GET
POST
PUT
DELETE
URL: Request URL You can also use XCALLY Motion standard variables or custom variables to pass information to the 3rd party application
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"}) You can also use XCALLY Motion standard variables or custom variables to pass information to the 3rd party application
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 XCALLY 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.
To configure a Jscripty trigger under Actions section, define:
Action: Jscripty
Project: name of the Jscripty project that will be opened
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.
The timer shows the elapsed time since the Jscripty tab was opened
The BEGIN 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
If you select Voicebot as action, the Agent will see the transcript of a conversation between the caller and an IVR bot (for this purpose see the Cally Square blocks of Dialogflow, Amazon Lex, OpenAI and Deepseek).
Script
The Script action allows you to define which script must be run when the trigger is started:
To configure a Script trigger under Actions section, define:
Action: the action Script, that allows you to execute system commands
Type: a descriptive field of the typology of the script. 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