Fetch data from an external system and show it to the agent
In this example, we'll fetch customer data from an external system that can be, for example, a customer data platform (CDP) or customer relationship management (CRM) system.
The data will be visible to the agent in Communication Panel's Conversation Details extension.
For the response, see Configuring JSON response handling.
Terminology
Several terms are used to refer to the data added to a conversation: CAD
, contact/call
attached data
, attached data
, and extra data
. Communication Panel uses
Attached Data. In System Configurator, the settings to
configure attached data in the channel settings is Extra Data
whereas IVR, reporting, and Visitor Intermediate Client API use Call
Attached Data and CAD. Sinch Conversation API
uses metadata
.
Configuration
For this example integration, you'll need to configure the following:
- Events: Received, Transferred, Forwarded
-
Conversation Direction: Inbound or Both (but will only apply to inbound)
You can use this example for inbound calls, chats, and emails.
-
Direct Conversations / Queues: You can use this example for:
-
emails
For emails, you need to configure Extra Data Included When E-Mail Allocated for either the email channel (recommended, ) or the email queue ( ).
-
queue and direct calls
For calls, you need to configure Extra Data Included When Allocating Calls in voice channel settings (. )
-
queue chats
For all channels, if you want to store CAD in the database and show it in reports and the History view in Communication Panel, configure Extra Data Included in Statistics. For more information on extra data related settings, see Saving Extra Data.
-
- JSON for Configuration
This example uses basic authentication and the GET method for retrieving customer data based on a phone number. It will work on channels where the customer identifier is a phone number. The response saves the returned customer data (id, first name, last name, company, job title, and id of last ticket). This data will then be visible as conversation attached data (CAD) to the agent in Communication Panel's Conversation Details extension.
{ "request": { "authentication": { "type": "basic" }, "method": "GET", "headers": { "Accept": "application/json" }, "params": { "phone": "{contact.source}" } }, "response": { "save": { "customer_data": { "id": "{response.body.id}", "firstname": "{response.body.properties.firstname}", "lastname": "{response.body.properties.lastname}", "company": "{response.body.properties.company}", "jobtitle": "{response.body.properties.jobtitle}", "lastticket": "{response.body.tickets[-1].id}" } } } }