Voice Triggers

What is a Voice Trigger

   A voice trigger is invoked every time there is an outgoing or incoming calls.

The trigger will execute its actions if the defined conditions are met. Here are few applications of voice triggers:

  • opening the contact information 
  • displaying Screen Pop-up that provides value added information
  • integrate with applications like Zendesk, Salesforce, Sugar CRM, Desk, Zoho, Freshworks CRM and Freshdesk
  • integrate with other 3rd party applications like your own CRM.
  • automatically starting survey 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.


On this page:


Voice trigger conditions

A condition for voice channel is constructed by using properties like Queue, Call status or outbound, an operator 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.
  • Meet any of these conditions: the overall condition will be true if at least one of the conditions is true. 


It is possible to specify more complex conditions by using both types: in this case, the result is true if both conditions are true.

In the example shown below, the overall condition is true if the call is in 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

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
  • 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
Outbound Route

Equals to

Not equals to

 You can select from a list of outbound route
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




Voice trigger actions


Voice trigger actions are functions executed when the defined voice trigger conditions are true.

In the following section you find a list of actions that can be used.


Motion Phonebar

Motion Phonebar 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 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 following 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}} )


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. If the Contact instead is new, this action will create a new entry in the Contacts Manager. 


The relationship between contact and call occurs at the call hangup, when the contact card is opened if the CM trigger has been configured



Add a New Action and choose the Contact Manager type:

the List from where the Contacts must be searched:

and 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:


At the end indicate whether the contact must be created (if it is not already in the List):

and click on .


About Create Contact Automatically

If you insert:

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




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.


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 (Zendesk/Salesforce/SugarCRM/Freshdesk, Freshworks CRM). Select the type of integration, the account you have created and 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 exactly the same as the Agent Email in Motion for Zendesk/Salesforce/Freshdesk/Freshworks CRM integrations
  • Agent Full Name in the integration profile is exactly the same as the Agent Full Name in Motion for sugarCRM integration


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, generally if you want to contact a third party applications such as a CRM to retrieve or save information.


Fill the the URL Forward form as follows:

Option

Description

TypeHTTP Method (GET, POST, PUT or DELETE)
URL

Request URL

You can also use XCALLY Motion standard variables or custom variables to pass information to the 3rd party application
TimeoutRequest 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
Please note URL Forward supports request with Content-Type equal to application/json




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 InterfaceEvery 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 the Script form as follows:

  • Type: e.g. curl, bash, or other
  • Info: an optional script description
  • Script: the path of the script to be executed