All Collections
Integrations & API
Kustomer
Kustomer: Requests Configuration
Kustomer: Requests Configuration
Updated over a week ago
StellaConnect_Kustomer.png

Before You Begin

We assume that all customer interactions are handled via Kustomer. If that is not the case, please talk to the Stella Connect team before starting the integration process.

A Connect request can only be sent if:

  • An email address is associated with the customer’s record.

  • A team member has an approved Stella Connect profile.

  • A team member is assigned to the case when it is Solved.

This can be handled manually by your team as conversations are created and solved. Kustomer has template workflow Assign Based on Receiving Email you can enable that assigns a team to a conversation based on the email they use to contact you.

Step 1: Retrieve Stella Connect and Test Credentials

The configuration begins with your company designating a test email address that will be used for testing the Connect integration. All surveys will be delivered to this address while using the test key.

  • Once you enter the API test email address in the Integration section of the Settings page, your credentials will appear.

  • Retrieve your test credentials on the Integration page.

Testing ends when the survey is delivered. You can step through the consumer experience selecting stars, commenting, etc. There is no response collection while using the test keys.

Step 2: Create your optional Do not send Stella Connect checkbox

Screen_Shot_2018-01-18_at_5.26.02_PM.png

Step 3: Configure The Stella Connect Workflow

You will need to have your Kustomer API Key.

To Create an API Key in Kustomer:

  1. Go to Settings > Security > API Keys> Add API Key.

  2. Name the Key.

  3. Role: org.admin.tag.read

  4. Click Create.

  5. Copy the API key to add to the Kustomer Workflow.

To Create the Workflow in Kustomer:

  1. Go to Settings > Platform > Workflows > ‘+ Add Workflow’

  2. New workflow title: Send Stella Connect Request, and select Create.

  3. Select 3 dots in the top right and select Edit Workflow JSON.

  4. Delete the existing JSON code.

  5. Paste in the following code, and select Update.

    {
    "description": "This sends the Stella Connect Request.",
    "name": "Send-Stella-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 Stella API-Key"
    },
    "params": {
    "regex": "(.*)",
    "testString": "YOUR STELLA 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 Stella 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 Stella"
    },
    "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"
    }
    }
  6. Select the 3 Enter the Stella Connect API-key box.

  7. Replace "YOUR STELLA CONNECT KEY" on the right-hand side with your Stella Connect test key, and Save.

  8. Select the 4 Enter Kustomer API Key for finding Tags box.

  9. Replace "YOUR KUSTOMER API KEY" on the right-hand side with your Kustomer Setup API key and Save (remember: key must have 'org.admin.tag.read' permissions).

  10. Select the 8 API Call to Stella with 'phone' channel hardcoded box.

  11. Replace "YOUR DOMAIN HERE" in the Data box with your Kustomer account in the external URL.

  12. Select the 9 API Call to Stella box.

  13. Replace "YOUR DOMAIN HERE" in the 'Data' box with your Kustomer account in the external URL.

  14. Toggle on in the top right corner of the page.

Step 4: Optional customization

Do not send

Although we recommend that all interactions receive a Stella Connect request, there may be some instances in which you do not want to send one. You can manage this process by establishing a custom workflow exclusion rule within your company’s Kustomer account.

NOTE: You do not have to establish an exclusion trigger in order to limit the number of Connect requests that a customer receives within a specified time period. That “suppression period” can be set on the “Experience” page within the Stella Connect Admin.

Multi-brand

If your Stella Connect account is set up with multiple brands, you'll need to include brand in the payload, and will require consulting with Stella Service & Kustomer.

Multi-language

If your Stella Connect account is set up with multiple languages, you'll need to include the language that interaction took place in in the payload, and will require consulting with Stella Service & Kustomer.

Delays

If you require your Stella Connect surveys to have a delay you will need to consult with Stella Service & Kustomer.

*Please contact Support for assistance with setting up optional customization

Step 5: Moving to Production

Settings > Platform Settings > Workflows > Send Stella Connect Request

Select the '3 Enter the Stella Connect API-key' box > Replace the test API key on the right-hand side with your Stella Connect production key and save

In Connect (https://domain.stellaconnect.net/admin/company/api) switch Integrated Channel to “On”. This example shows all channels will be integrated. This will remove the manual send box from the stream.

Screen_Shot_2018-02-23_at_11.51.43_AM.png
Did this answer your question?