V3 vTiger Integration
How it works
The vTiger integration feature can be used to automatically open a Ticket (in the Support module of vTiger) for every call according the conditions set in the trigger (Queue, Call status or Outbound).
The vTiger ticket will be populated with information about the call and displayed1 for the agent in the vTiger environment.
Any interaction occurred through this integration can be searched by the Agent from the list by:
contact's phone / mobile / homephone/ otherphone / assistantphone
user's email1
The following are what you have to do to make the integration work:
Create a vTiger account2
Create a configuration for the account
Create a trigger (Tools → Triggers), set the conditions you want to trigger the integration and add integrations action by selecting vTiger integration, the vTiger account you have configured and the configuration you want to use.
Login agent in vTiger and Motion
Every time there is an outgoing/incoming call, the trigger conditions are checked and a Ticket is created and assigned to the agent managing the call, if the conditions are met3.
1only if the agent is already logged in vTiger.
2the account should have privilege level of CEO
3when an agent manages a call, the agent will first be searched in vTiger User accounts by his/her email address and then assigned to the task only if the agent account is found. Otherwise, the call will be assigned to the vTiger administrator account used in Motion-vTiger integration.
If all the configurations are properly set, the new vTiger ticket will be created and automatically opened in a new browser tab as shown below:
Configuration Hints
Download the vTiger correct version https://www.vtiger.com/open-source-crm/download-open-source/
In order to create and assign tasks to agents properly, you have to make sure:
Agent's Primary email in the vTiger profile is exactly the same as Agent's email address in Motion, like in the images below:
the Agent is logged in: XCALLY Motion Phonebar, XCALLY Motion web interface and vTiger web interface
the Agent has ENABLED the browser pop-ups, when he/she receives the first call
How to find your vTiger access key?
In order to make the integration with XCALLY, its necessary to know the access key for your vTiger account. In order to find it out:
Go to vTiger settings
Under User management → Users section
Find your vTiger user in the list at click on the name to open your profile:
At the bottom on the page you will find your access key:
The XCALLY vTiger Accounts Section
The vTiger Accounts Section can be found under the Integrations Menu:
Create a vTiger Account
To create a new vTiger Account click on at the bottom right of the screen
Enter the following details and click on ADD NEW VTIGER ACCOUNT
Name: Name for your integration
Description: The description for your vTiger integration
vTiger User Name: same as the vTiger Administrator user account
vTiger Access Key: The access key for your vTiger Administrator account
Host: The URL for your vTiger CRM application (written in <protocol>://<ipaddress>[:<port>] form)
Motion or Proxy IP Address: It is required to use the Recording URL in the sugarCRM call Configuration (as <protocol>://<ipaddress>[:<port>] form) Example: https://X.Y.Z.W
After the Account is created, you can view it in the list of accounts, edit the account parameters and remove the account. You can verify if the account credentials are correct by clicking on Test vTiger Account.
Edit a vTiger Account
Find the account from the accounts list and Click on Edit vTiger Account:
You will see two tabs: Account and Configurations.
In the Accounts tab, you can modify the account parameters and in the Configurations tab, you can create, update or delete vTiger configurations.
Create a vTiger Configuration
A vTiger configuration is used to design the content of the vTiger Ticket (Subject, Description and Fields) that is created and displayed for the agent managing calls.
You can create multiple configurations for a single vTiger Account and use them in different triggers. In this way, you will be able to use different call layout for outbound and inbound calls.
To create a new configuration, edit the SugarCRM account, go under configurations tab and click on
The configuration will be created with default Subject and Description settings that you can simply use without any modification.
You can also edit the configuration and customize the Subject, Description and Fields of the vTiger Ticket according to your needs.
The default Subject and Description settings depends on the type of configuration.
For example, the default subject configuration for Queue Type is [XCALLY Ticket] Queue calleridnum while for Outbound Type it's [XCALLY Ticket] Outbound Call destcalleridnum.
Configuration changes are automatically applied, without any service restart.
You can use Motion Standard Variables or Custom Variables in the configuration.
Subjects
By default, you will find the following three fields already configured:
the String [XCALLY Ticket]
the Queue Variable
the Caller number Variable
You can add more than one field in the Subject and all fields will be joined by the blank space.
Use button to add a new fields. New fields are added at the end of the field list.
You can insert 3 different type of fields:
String: static string e.g. [XCALLY Ticket]
Variable: Motion System Variable (e.g. queue or calleridnum)
Custom Variable: dynamic variable created under Tools > Variables
Descriptions
You can add more than one fields in the Description. All fields will be joined by new line.
Use button to add a new fields. New fields will be added at the end of the field list.
You can insert two different type of fields:
String: static string e.g. *** Call Info ***
Key Value: name-value item in the form name: value
where the first field is a static string (e.g. Caller Number) and the second field could be filled with the following:
String: static string
Variable: System Variable like Caller Number
Custom Variable: dynamic variable created under Tools > Variables
The colon character in the Key Value type is automatically added by the system
Fields
You can add more than one field.
In the drop-down list you can find the complete list of fields available in your Zendesk account: Standard and Custom Ticket fields.
Choose the field from the list (Standard or Custom):
and define the Type:
String: static string (you must insert it)
Variable: a System Variable (choose it from the list: e.g. Queue, uniqueid, calleridnum, etc.)
Custom Variable: one of the dynamic variables (created under Tools > Variables)
Picklist: choose among the list of the integrated Application Fields. You can only select one of the predefined values available for that field (if any).
Create a Trigger
It is mandatory to create a trigger to make the SugarCRM integration work. Go to Tools -> Triggers Section and click on New Trigger.
Enter the trigger Name, select Voice Channel and click on Add Trigger.
Edit the trigger to define the trigger's Conditions and Actions.
Do not forget to set the trigger's status ON.
Add Trigger Conditions
You can use properties like Queue, Call status or outbound to define the conditions you want to trigger the vTiger integration. The conditions show in the following figure means that the integration will be active for Calls in Sales Queue and when the call is answered. For more information on trigger conditions, take a look at Voice Trigger Conditions.
Add Trigger Action
To execute the vTiger integration when the conditions are met, click on Add Action and select Integrations and vTiger. You can then select one of the the vTiger account you have created and the configuration you want to use.
Modify the vTiger CRM source code
In order to guarantee the new ticket popups on the browser window there is a small change required in the source code of your vTiger CRM. Specifically:
Open the file located at <vTiger installation directory>/includes/HTTP/Request.php
Around line 207 you will find the function validateReferer()
In this function you will need to comment/remove the following lines of code:
if ((stripos($_SERVER['HTTP_REFERER'], $site_URL) !== 0) && ($this->get('module') != 'Install')) { throw new Exception('Illegal request'); }