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
Not 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
Not equals to
- 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
- NosuchNumberthe 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

Equals to
Not equals to
- Inbound
- Outbound

Outbound Route

Equals to
Not equals to
You can select a context from the list of outbound routes

Agent

Equals to
Not equals to
Agent name (selected from a list of all the available Agents)
Note: This 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

Type of agent's involvement

Compliant Actions

Agent involved in the call

Motion Bar (Popup, CTI URL, Window App)
JScripty
Browser (Popup, CTI URL)
Voicebot
Integrations
URL Forward
Contacts Manager
Script

Agent not involved in the call

Integrations
URL Forward
Contacts Manager
Script

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 =
Call Status
Compliant Actions
INBOUND -
Voice Queues
Queue
Name of chosen
inbound queue
+
Timeout
Abandoned
Integrations
URL Forward
Contacts Manager
Script
Queue
Name of chosen
inbound queue
+
Hangup
Ring
Answer
Reject
AgentReject
Motion Bar
JScripty
Browser
Voicebot
Integrations
URL Forward
Contacts Manager
Script
OUTBOUND - Queue Campaigns (Motion Bull)
Queue
Name of chosen
outbound queue
+
Hangup
Ring
Answer
Reject
AgentReject
Timeout
Abandoned
Exclusive conditions
for the dialer:
NoSuchNumber
Busy
NoAnswer
Congestion
AMD
Motion Bar
JScripty
Browser
Voicebot
Integrations
URL Forward
Contacts Manager
Script
OUTBOUND ROUTE
Route
Name of chosen
outbound route
+
Hangup
Answer
Motion Bar
JScripty
Browser
Voicebot
Integrations
URL Forward
Contacts Manager
Script

 

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. 

  1. Add a New Action and choose the Contact Manager type

2. List from where the Contacts must be searched:

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

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