How to send surveys from Puzzel IVR
The following section outlines how to send surveys created in Puzzel Customer Insight via sms links, using Puzzel IVR.
The instructions apply to:
- Admins with Callflow/ Scripting permissions who are trained and certified by Puzzel
- Puzzel Implementation Teams
- Support Teams
- Sales Engineers
- Solution Architects
- Trained Partners
To send the survey you will need to access the Survey Editor in customer Insight and copy the Survey ID.
You can find the Survey ID by following the steps below:
Go to the Admin Portal main menu
Click on Insight
Select Survey Management
In the Surveys tab, click on the specific survey
This will open the Edit tab
The Survey ID can be found under “General”
Copy the Survey ID by clicking on the copy icon of the field
Once you have copied the Survey ID, you will then need to modify the call flow to trigger your chosen survey. This is usually done at the end of a call, for example in the “finally” section of the callflow.
Example code using rest tag and json body:
<assignlocal variable="surveyId" value="2b156ca0-7562-4f2e-b851-e51f0bc27647"/>
<!-- Survey Language (optional). Default en if not assigned -->
<assign variable="survey_language" value="sv" />
<!-- Define survey_expiry if you want it to not be the default 3 days -->
<!-- <assignlocal notexpression="§exist{survey_expiry}" variable="survey_expiry" value="$dateadd(system_datetime,day,3)" /> -->
<include src="/Common/CustomerInsight/SendLink.xml"/>
Here is an example of the request payload sent through SendLink.xml:
{
"clientReference": "$(system_session_id)",
"expiryTime": "§{survey_expiry}",
"userSessionVariables": [
{
"key": "agentId",
"value": "$(system_last_user_id)"
},
{
"key": "queueKey",
"value": "$(system_queue_key)"
},
{
"key": "consumerChannel",
"value": "Phone"
},
{
"key": "consumerSession",
"value": "$(system_session_id)"
},
{
"key": "consumerPhone",
"value": "$(system_caller_ano)"
},
{
"key": "systemCountry",
"value": "$(system_country)"
}
],
"identifier": "$(system_caller_ano)",
"identifierType": "Phone",
"channel": "SMS",
"language": "$(survey_language)",
"content": "Click the link to give your feedback."
}
The userSessionVariables can contain any key/value information which can later be used in reporting and visualisation of the results.
We strongly recommend the use of the following standard key/values at a minimum for the results to be useful especially for performance management (agentId and queueKey are essential).
All keys are optional except agentId, queueKey which are mandatory for Performance Management integration.
Key name | Description |
---|---|
consumerEmail | Email address of consumer |
consumerPhone | Phone number of consumer |
consumerChannel | Channel used in the request (SMS, Phone, Web, Email, Social etc.) |
consumerSession | Identifier for session that handled the request |
queueKey | Identifier for contact centre queue that handled the request (required for Performance Management) |
agentId | Identifier for contact centre agent that handled the request (required for Performance Management) |
userGroupId | Identifier for contact centre user group that handled the request |
systemCountry | Access number country code needed for statistics (applies to Puzzel IVR / CFT use cases) |
Where possible use CFT module 'messaging-> survey' to simplify trigerring of surveys as it presents all active suveys from Customer Insight. Choose the Survey and appropriate mechanism type "sendLink" or "sendSurvey"