Kustomer
This topic describes how to integrate Medallia Agent Connect and Kustomer to send survey requests when tickets are solved. Feedback in Agent Connect links directly to Gladly, enabling your team to see the tickets related to specific pieces of feedback.
- The Team Member that has resolved the ticket has an approved Agent Connect profile.
- The customer’s record includes an email address.
- A Team Member is assigned to the ticket when it is closed.
Creating a Do not send Agent Connect Request field
This procedure creates a checkbox field that enables agents to prevent a Agent Connect survey from being sent when they solve a ticket.
- In Kustomer, open Settings > Platform Settings > Klasses > Conversation, and then click Create Attribute.
- Name the field Do not send Agent Connect Request.
- Specify the Type of the field as True/False.
- Enable the new field.
Configuring the workflow in Kustomer
- Create your Kustomer API Key.
- In the Kustomer Admin area, open Settings > Security > API Keys, and then click New API Key.
- Name the key Role: org.admin.tag.read.
Click Create.
- Open Settings > Platform Settings > Workflows, and then click Add Workflow.
- Name the workflow Send Agent Connect Request, and then click Create.
- From the options menu, select Edit Workflow JSON.
- Replace the existing JSON code with the following code, and then click Update:
{ "description": "This sends the Agent Connect Request.", "name": "Send-Agent-Connect-Request", "steps": [ { "meta": { "displayName": "Find Conversation by ID" }, "id": "HkY67ShOM", "action": "kustomer.conversation.find-by-id", "params": { "id": "/#steps.1.id" }, "appVersion": "kustomer-^1.2.1", "transitions": [ { "target": "Hynv6df-Z", "condition": { "op": "gt", "values": [ "/#steps.HkY67ShOM.assignedUsers.length", "0" ] }, "meta": { "name": "Check Assigned Users Exists" } } ] }, { "appVersion": "kustomer-^1.2.1", "meta": { "displayName": "Enter Agent Connect API-Key" }, "params": { "regex": "(.*)", "testString": "YOUR AGENT CONNECT API KEY" }, "action": "kustomer.regex-match.generic", "id": "Hynv6df-Z", "transitions": [ { "target": "BJh-I15vM", "condition": { "op": "true", "values": [ true ] } } ] }, { "id": "BJh-I15vM", "action": "kustomer.regex-match.generic", "params": { "regex": "(.*)", "testString": "YOUR KUSTOMER API KEY" }, "meta": { "displayName": "Enter Kustomer API Key for finding Tags" }, "appVersion": "kustomer-^1.2.1", "transitions": [ { "target": "B1uHx6WZW", "condition": { "op": "true", "values": [ true ] }, "meta": { "name": "If Done and Assigned" } } ] }, { "meta": { "displayName": "Find Customer by ID" }, "appVersion": "kustomer-^1.2.1", "params": { "identifier": "/#steps.1.customer" }, "action": "kustomer.customer.find", "id": "B1uHx6WZW", "transitions": [ { "meta": { "name": "Check Customer has Email" }, "condition": { "values": [ "/#steps.B1uHx6WZW.emails.0.email" ], "op": "exists" }, "target": "HJZib6WWW" } ] }, { "meta": { "displayName": "API Call to Kustomer to fetch Tag mapping" }, "appVersion": "kustomer-^1.2.1", "params": { "headers": { "Authorization": "Bearer {{steps.BJh-I15vM.original}}", "Content-Type": "application/json" }, "json": true, "tags": "/#steps.1.tags", "uri": "https://api.kustomerapp.com/v1/tags/{{#each steps.1.tags}}{{this}},{{/each}}aaaaaaaaaaaaaaaaaaaaaaaa", "method": "GET" }, "action": "kustomer.rest-api.json", "id": "HJZib6WWW", "transitions": [ { "condition": { "values": [ true ], "op": "true" }, "target": "B14sZ6--b" } ] }, { "appVersion": "kustomer-^1.2.1", "params": { "id": "/#steps.HkY67ShOM.assignedUsers" }, "action": "kustomer.user.find-by-id", "id": "B14sZ6--b", "meta": { "displayName": "Find Assigned User by ID" }, "transitions": [ { "meta": { "name": "Voice conversation?" }, "condition": { "values": [ "/#steps.1.channels", "voice" ], "op": "contains" }, "target": "VIS2vXe5p" }, { "target": "ByRKk3PgZ", "condition": { "op": "not-contains", "values": [ "/#steps.1.channels", "voice" ] }, "meta": { "name": "Other channel" } } ] }, { "appVersion": "kustomer-^1.2.1", "meta": { "displayName": "API Call to Agent Connect with 'phone' channel hard-coded" }, "params": { "json": true, "headers": { "Content-Type": "application/json", "x-api-key": "/#steps.Hynv6df-Z.captures.0" }, "data": { "customer": { "name": "/#steps.B1uHx6WZW.name", "email": "/#steps.B1uHx6WZW.emails.0.email" }, "tags": "/#fn:map,steps.HJZib6WWW.response.body.data,attributes.name", "do_not_send": "/#steps.HkY67ShOM.custom.doNotSendStellaConnectRequestBool", "ext_interaction_id": "/#steps.1.id", "employee": { "email": "/#steps.B14sZ6--b.email" }, "channel": "phone", "external_url": "https://YOUR_DOMAIN_HERE.kustomerapp.com/app/customers/{{steps.1.customer}}/event/{{steps.1.id}}" }, "method": "POST", "uri": "https://api.stellaconnect.net/v1/requests" }, "action": "kustomer.rest-api.json", "id": "VIS2vXe5p", "transitions": [] }, { "appVersion": "kustomer-^1.2.1", "id": "ByRKk3PgZ", "action": "kustomer.rest-api.json", "params": { "headers": { "Content-Type": "application/json", "x-api-key": "/#steps.Hynv6df-Z.captures.0" }, "uri": "https://api.stellaconnect.net/v1/requests", "method": "POST", "data": { "customer": { "name": "/#steps.B1uHx6WZW.name", "email": "/#steps.B1uHx6WZW.emails.0.email" }, "tags": "/#fn:map,steps.HJZib6WWW.response.body.data,attributes.name", "do_not_send": "/#steps.HkY67ShOM.custom.doNotSendStellaConnectRequestBool", "ext_interaction_id": "/#steps.1.id", "employee": { "email": "/#steps.B14sZ6--b.email" }, "channel": "/#steps.HkY67ShOM.channels.0", "external_url": "https://YOUR_DOMAIN_HERE.kustomerapp.com/app/customers/{{steps.1.customer}}/event/{{steps.1.id}}" }, "json": [ true ] }, "meta": { "displayName": "API Call to Agent Connect" }, "transitions": [] } ], "trigger": { "transitions": [ { "meta": { "name": "Check if Marked Done" }, "target": "HkY67ShOM", "condition": { "op": "eq", "values": [ "/#steps.1.changes.attributes.status.after", "done" ] } } ], "appVersion": "kustomer-^1.2.1", "id": "1", "eventName": "kustomer.conversation.update" } }
- Select the 3 Enter the Agent Connect API Key box.
- Replace the key with your Agent Connect API Test Key, and then click Save.
You can find your Test API Key on the Company Info screen in Agent Connect.
- Select the 4 Enter Kustomer API Key for finding Tags box.
- Replace the existing API key with the key you created earlier in this procedure, and then click Save.
- Select the 8 API call to Agent Connect with phone channel hardcoded box.
- In the Data box, enter your Kustomer account external URL, and then click Save.
- Select the 9 API call to Agent Connect box.
- In the Data box, enter your Kustomer account external URL, and then click Save.
- Toggle the workflow to on.
Optional configurations
Optionally, make any of the following integration configurations. Work with your Agent Connect Client Success Manager for details about completing these integrations.
- Do not send — Although Medallia recommends that all interactions receive an Agent Connect request, there might be some instances when a survey is not appropriate. You can manage this process by establishing a custom workflow exclusion rule in your Kustomer account. Note: You do not need to create a rule specifically to limit the number of surveys that a customer receives within a specific period of time. On the Company Info screen, Agent Connect includes a suppression period that automatically stops surveys from flooding a customer within a specified number of days. For more information, see Company information.
- Multiple brands — If you use multiple brands in Agent Connect, you must update the data sent to Agent Connect to include the brand for each interaction.
- Multiple languages — If you use multiple languages in Agent Connect, you must update the data sent to Agent Connect to include the language of each interaction.
- Delays — If you require your Agent Connect survey requests to be sent after a specified delay, consult your Agent Connect Client Success Manager.
Moving your integration to production
Work with your Agent Connect Client Success Manager to test your automated integration, and to resolve any issues. When everything is working as expected, move your integration to production.
- In Kustomer, open the Agent Connect workflow you created in LINK, above.
- Select the 3 Enter the Agent Connect API Key box.
- Replace the existing API key with your Agent Connect Public API Key, and then click Save.
- In Agent Connect, open the Integrations setup screen.
- For each channel you integrated, switch that field to On, and then click Update.