All Collections
Okendo Reviews
Integrations
Kustomer
How to integrate Kustomer with Okendo
How to integrate Kustomer with Okendo

Instructions for setting up a Kustomer Webhook integration with Okendo

Rhys Kelly avatar
Written by Rhys Kelly
Updated over a week ago
This feature is available on the "Advanced" plan and above

To integrate Okendo with Kustomer, you will need to first set up your Kustomer account to allow it to import review data from Okendo. This guide will summarise the process and then outline the steps necessary to complete the integration in the Okendo app.

Set up your Kustomer Workflow

For full instructions, please view the Kustomer Help Centre.

Outlined here are a summary of the steps you will need to follow:

  1. Set up a Workflow capable of processing the review data sent by Okendo. This data will be sent every time a review is left by a user using either the link from a review request email, or the Write A Review button on your product page.

  2. Create a Kustomer API Key with org.hook  permission. This can be done in your Settings page under Security > API Keys.

  3. Create a new hook in your Workflow, making sure that it is a Webhook and is using the Kustomer API Key created in the previous step.

  4. Make a note of the Kustomer API Key and the Hook Address (the API URL), as these will both be required by the Okendo app to complete the integration.

Connecting Okendo to Kustomer

  1. Navigate to the Integrations page on the Okendo App (Settings > Integrations).

  2. Open the Kustomer section, enable the integration, and copy your API Key and API URL into the corresponding fields.

  3. Click Save.

Using Data from Okendo in your Workflow

In the first node of the Workflow (the Trigger) there will be a field titled Example Webhook Data, where you can paste in an example payload. There is an example at the bottom of this article which you can potentially use instead of generating your own, but note that it won't have any fields which are specific to your store (such as any custom attributes). If you do wish to generate your own, make sure you have Debug Mode turned on and then follow step 1 on the Create a Custom Object from an External Trigger page of the Kustomer Help Docs.

Once you have pasted the data into the Example Webhook Data field, you will be able to reference it in the rest of the Workflow, either by typing into the fields manually or by using the dropdown. As an example, if the second step of your Workflow is a "Customer Find By Email" action, then you can fill the "Email (string)" field using the dropdown or by writing /#steps.1.attributes.data.reviewerEmail into the field yourself.

Example Payload

As a reference to what the Example Webhook Data will look like, here is an example (Note that you can set custom attributes for your product reviews within the Okendo app and these will appear in the payload under attributes.data.attributes):

{
"id": "xxxxxxxxxxxxxxxxxxxxxxxx",
"type": "transaction",
"attributes": {
"createdAt": "2020-03-15T04:19:13.830Z",
"data": {
"reviewerEmail": "reviewer.mcgee@gmail.com",
"orderId": "#1205",
"review": {
"rating": 4,
"title": "My New Favourite Product",
"body": "I cannot believe how much I love this item.",
"isRecommended": true,
"sentiment": "positive",
"languageCode": "en",
"source": "write-review-button",
"dateCreated": "2020-04-21T07: 09: 25.454Z",
"reviewId": "fb3d343b-0b5d-42b5-a501-c8e486c3b0e4"
},
"reviewer": {
"displayName": "Reviewer M.",
"name": "Reviewer McGee",
"countryCode": "AU"
},
"reward": {
"type": "coupon",
"value": "OKR-DISCOUNT-CODE",
"description": "$5 off your next order"
},
"media": {
"imageUrls": ["https://okendo.io/images/4a976272.jpg"],
"videoUrls": [],
"imageCount": 1,
"videoCount": 0
},
"attributes": [{
"title": "Desired product uses",
"value": [
"Fixing the car",
"Making pancakes"
]
},
{
"title": "Size Purchased",
"value": 4
}
],
"product": {
"productId": "1885452822491",
"productName": "Great Product",
"variantId": "17387480307827",
"variantName": "Variant Title",
"sku": "888888"
}
}
},
"relationships": {
"org": {
"data": {
"type": "org",
"id": "xxxxxxxxxxxxxxxxxxxxxxxx"
},
"links": {
"self": "/v1/org/xxxxxxxxxxxxxxxxxxxxxxxx"
}
},
"hook": {
"data": {
"type": "web_hook",
"id": "xxxxxxxxxxxxxxxxxxxxxxxx"
},
"links": {
"self": "/v1/hooks/web/xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Did this answer your question?