Kustomer Apps Platform

Build apps with Kustomer

Welcome to the Kustomer Apps Platform developer hub. You'll find comprehensive guides and documentation to help you get started quickly with the Kustomer Apps Platform and find support if you get stuck.

Build versatile apps to customize, extend, and supercharge Kustomer for your team.

Join our growing community of business and technology partners to create impactful apps and integrations for the Kustomer App Marketplace.

Get Started

Outbound Webhooks

Learn how to configure Outbound Webhooks for your app. This page includes descriptions and examples for defining outbound webhooks in a Kustomer app.

Outbound webhooks send data from Kustomer into external services. Apps can configure outbound webhooks to send data automatically to the external service once the app is installed. The data sent with the request will be a Kustomer Event object that provides an updated snapshot of the updated or created object along with any changes.

In Kustomer, posting to a webhook requires a Kustomer API key with the org.permission.outbound_webhook permission.

Learn more about outbound webhooks in the Kustomer Help Center.

📘

Outbound webhooks review for public apps

The Kustomer Apps Platform team reviews apps that require outbound webhooks during the submission process for public apps.

If your public app uses an outbound webhook, the outbound webhook must be mission critical to the app, and your team will need to create a privacy TOS agreement with Kustomer before the public release of the app. The Kustomer team may also request additional security information to notify app users that their data will be sent to a third party.

Outbound webhooks format in the app definition

The outboundWebhooks property takes an array of properties that define the following for each outbound webhook: a name for the outbound webook, the URL the webhook posts to, any headers that should be added to the request, and the events subscribed to by the outbound webhook.

Outbound webhooks definition example

The following sample JSON app definition includes an outbound webhooks definition that creates and configures the outbound webhook Send conversation events to Ecomm Store in Kustomer. In the example below, the outbound webhook triggers when a customer is created or when a conversation is updated.

{
  "app": "ecommstore",
  "version": "0.0.1",
  "title": "E-comm Store",
  "outboundWebhooks": [{
    "name": "Send conversation events to Ecomm Store",
    "url": "https://example-ecommstore.com/conversations",
    "headers": [{
      "name": "x-special-info-source",
      "value": "kustomer"
    }],
    "events": ["kustomer.conversation.create", "kustomer.conversation.update"]
  }]
}

Outbound webhooks property descriptions

The basic outbound webhooks definition properties and their descriptions are listed below:

name

Required. A descriptive, meaningful human-readable name for the outbound webhook.

Example: "name": "Send conversation events to Ecomm Store"

url

The URL the outbound webhook will send a POST request to when the event(s) the outbound webhook is subscribed to trigger(s). Maximum length of 255 characters.

Example: "url": "https://example-ecommstore.com/conversations"

headers

An array of any custom headers to include in the requests from the outbound webhook. Format for each header in array: {"name": "header name", "value": "header value"}.

Example:

"headers": [{
      "name": "x-special-info-source",
      "value": "kustomer"
    }]

events

An array of events that the outbound webhook subscribes to in the app definition and will trigger the outbound webhook.

The event, or events, describe when the following objects in Kustomer are either created or updated: Customer, Conversation, Message, User, and Team.

Example (the webhook triggers when a customer is created or when a conversation is updated):

"events": ["kustomer.conversation.create","kustomer.conversation.update"]

Event options and descriptions are listed below:

Event

Description

kustomer.customer.create

Outbound webhook triggers when a customer is created

kustomer.customer.update

Outbound webhook triggers when a customer is updated

kustomer.conversation.create

Outbound webhook triggers when a conversation is created

kustomer.conversation.update

Outbound webhook triggers when a conversation is updated

kustomer.message.create

Outbound webhook triggers when a message is created

kustomer.message.update

Outbound webhook triggers when a message is updated

kustomer.user.create

Outbound webhook triggers when a user is created

kustomer.user.update

Outbound webhook triggers when a user is updated

kustomer.team.create

Outbound webhook triggers when a team is created

kustomer.team.update

Outbound webhook triggers when a team is updated

Sample trigger event payloads

We've provided sample payloads for each outbound webhook trigger event type:

Customer events

Sample payloads for kustomer.customer.create and kustomer.customer.update events:

"body": {
    "id": "608731c238e15ad7655f702a",
    "name": "kustomer.customer.create",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "orgName": "org-name",
    "data": {
      "type": "customer",
      "id": "608731c238e15a90895f7029",
      "attributes": {
        "name": "Franz Kafka",
        "displayName": "Franz Kafka",
        "displayColor": "blue",
        "displayIcon": "broom",
        "externalIds": [],
        "sharedExternalIds": [],
        "emails": [],
        "sharedEmails": [],
        "phones": [],
        "sharedPhones": [],
        "whatsapps": [],
        "facebookIds": [],
        "instagramIds": [],
        "socials": [],
        "sharedSocials": [],
        "urls": [],
        "locations": [],
        "activeUsers": [],
        "watchers": [],
        "recentLocation": {
          "updatedAt": "2021-04-26T21:33:54.763Z"
        },
        "locale": null,
        "gender": null,
        "createdAt": "2021-04-26T21:33:54.763Z",
        "updatedAt": "2021-04-26T21:33:54.763Z",
        "modifiedAt": "2021-04-26T21:33:54.763Z",
        "lastActivityAt": "2021-04-26T21:33:54.763Z",
        "deleted": false,
        "lastConversation": {
          "channels": [],
          "tags": []
        },
        "conversationCounts": {
          "done": 0,
          "open": 0,
          "snoozed": 0,
          "all": 0
        },
        "preview": {},
        "tags": [],
        "custom": {
          "AvgSatScoreNum": null,
          "SegmentStr": null,
          "balanceNum": null,
          "customerIdStr": null,
          "generateNum": null,
          "kustIdStr": null,
          "lastOrderAt": null,
          "lastSatScoreNum": null,
          "lifetimeValueNum": null,
          "loyaltyStr": null,
          "netScoreNum": null,
          "ordersNum": null,
          "pointsNum": null,
          "stateStr": null
        },
        "progressiveStatus": null,
        "verified": false,
        "rev": 1,
        "recentItems": [],
        "defaultLang": "de",
        "satisfactionLevel": {
          "firstSatisfaction": {
            "sentByTeams": []
          },
          "lastSatisfaction": {
            "sentByTeams": []
          }
        },
        "roleGroupVersions": [],
        "accessOverride": [],
        "companyName": "Die Verwandlung",
        "firstName": "Franz",
        "lastName": "Kafka"
      },
      "relationships": {
        "messages": {
          "links": {
            "self": "/v1/customers/608731c238e15a90895f7029/messages"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "org": {
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          },
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "company": {
          "links": {
            "self": "/v1/companies/608731c238e15ad5bf5f7023"
          },
          "data": {
            "type": "company",
            "id": "608731c238e15ad5bf5f7023"
          }
        }
      },
      "links": {
        "self": "/v1/customers/608731c238e15a90895f7029"
      }
    },
    "createdAt": "2021-04-26T21:33:54.770Z",
    "persist": true,
    "client": "api"
  }
}
"body": {
    "id": "6087326fa8b1c7b07da5e5c9",
    "name": "kustomer.customer.update",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "customer",
      "id": "608731c238e15a90895f7029",
      "attributes": {
        "name": "Franz Kafka",
        "displayName": "Franz Kafka",
        "displayColor": "blue",
        "displayIcon": "broom",
        "externalIds": [],
        "sharedExternalIds": [],
        "emails": [],
        "sharedEmails": [],
        "phones": [],
        "sharedPhones": [],
        "whatsapps": [],
        "facebookIds": [],
        "instagramIds": [],
        "socials": [],
        "sharedSocials": [],
        "urls": [],
        "locations": [],
        "activeUsers": [
          "5fe109880e432183796e9218"
        ],
        "watchers": [],
        "recentLocation": {
          "updatedAt": "2021-04-26T21:33:54.763Z"
        },
        "locale": null,
        "gender": null,
        "createdAt": "2021-04-26T21:33:54.763Z",
        "updatedAt": "2021-04-26T21:36:47.817Z",
        "modifiedAt": "2021-04-26T21:36:47.817Z",
        "lastActivityAt": "2021-04-26T21:36:47.816Z",
        "deleted": false,
        "lastConversation": {
          "channels": [],
          "tags": []
        },
        "conversationCounts": {
          "done": 0,
          "open": 0,
          "snoozed": 0,
          "all": 0
        },
        "preview": {},
        "tags": [],
        "custom": {
          "AvgSatScoreNum": null,
          "SegmentStr": null,
          "balanceNum": null,
          "customerIdStr": null,
          "generateNum": null,
          "kustIdStr": null,
          "lastOrderAt": null,
          "lastSatScoreNum": null,
          "lifetimeValueNum": null,
          "loyaltyStr": null,
          "netScoreNum": null,
          "ordersNum": null,
          "pointsNum": null,
          "stateStr": null
        },
        "progressiveStatus": null,
        "verified": false,
        "rev": 3,
        "recentItems": [],
        "defaultLang": "cs",
        "satisfactionLevel": {
          "firstSatisfaction": {
            "sentByTeams": []
          },
          "lastSatisfaction": {
            "sentByTeams": []
          }
        },
        "roleGroupVersions": [],
        "accessOverride": [],
        "companyName": "Die Verwandlung",
        "firstName": "Franz",
        "lastName": "Kafka"
      },
      "relationships": {
        "messages": {
          "links": {
            "self": "/v1/customers/608731c238e15a90895f7029/messages"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "org": {
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          },
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "company": {
          "links": {
            "self": "/v1/companies/608731c238e15ad5bf5f7023"
          },
          "data": {
            "type": "company",
            "id": "608731c238e15ad5bf5f7023"
          }
        }
      },
      "links": {
        "self": "/v1/customers/608731c238e15a90895f7029"
      }
    },
    "createdAt": "2021-04-26T21:36:47.823Z",
    "changes": {
      "attributes": {
        "updatedAt": {
          "op": "replace",
          "before": "2021-04-26T21:33:55.863Z",
          "after": "2021-04-26T21:36:47.817Z"
        },
        "modifiedAt": {
          "op": "replace",
          "before": "2021-04-26T21:33:54.763Z",
          "after": "2021-04-26T21:36:47.817Z"
        },
        "lastActivityAt": {
          "op": "replace",
          "before": "2021-04-26T21:33:54.763Z",
          "after": "2021-04-26T21:36:47.816Z"
        },
        "rev": {
          "op": "replace",
          "before": 2,
          "after": 3
        },
        "defaultLang": {
          "op": "replace",
          "before": "de",
          "after": "cs"
        }
      },
      "relationships": {}
    },
    "persist": true,
    "client": "api"
  }
}

Conversation events

Sample payloads for kustomer.conversation.create and kustomer.conversation.update events:

"body": {
    "id": "60873865d43fde02c98003c1",
    "name": "kustomer.conversation.create",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "conversation",
      "id": "60873865d43fde605b8003bf",
      "attributes": {
        "name": "",
        "channels": [],
        "status": "open",
        "messageCount": 0,
        "noteCount": 0,
        "satisfaction": 0,
        "satisfactionLevel": {
          "sentByTeams": []
        },
        "createdAt": "2021-04-26T22:02:13.552Z",
        "updatedAt": "2021-04-26T22:02:13.552Z",
        "modifiedAt": "2021-04-26T22:02:13.552Z",
        "lastActivityAt": "2021-04-26T22:02:13.553Z",
        "spam": false,
        "tags": [],
        "suggestedTags": [],
        "predictions": [],
        "suggestedShortcuts": [],
        "firstMessageOut": {
          "createdByTeams": []
        },
        "assignedUsers": [],
        "assignedTeams": [],
        "firstResponse": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "firstResponseSinceLastDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "lastResponse": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "firstDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "lastDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "direction": "out",
        "outboundMessageCount": 0,
        "inboundMessageCount": 0,
        "rev": 1,
        "priority": 3,
        "roleGroupVersions": [],
        "accessOverride": [],
        "assistant": {
          "assistantId": []
        }
      },
      "relationships": {
        "messages": {
          "links": {
            "self": "/v1/conversations/60873865d43fde605b8003bf/messages"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "customer": {
          "data": {
            "type": "customer",
            "id": "5fcea6ca9725f81c5ffbebdd"
          },
          "links": {
            "self": "/v1/customers/5fcea6ca9725f81c5ffbebdd"
          }
        }
      },
      "links": {
        "self": "/v1/conversations/60873865d43fde605b8003bf"
      }
    },
    "createdAt": "2021-04-26T22:02:13.559Z",
    "persist": true
  }
}
"body": {
    "id": "608738af3c16f2a7c22a36c2",
    "name": "kustomer.conversation.update",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "conversation",
      "id": "60873865d43fde605b8003bf",
      "attributes": {
        "name": "",
        "preview": "Hi there! How are you enjoying the free 30-day trial of your metamorphosis? - Franz",
        "channels": [
          "sms"
        ],
        "status": "open",
        "messageCount": 1,
        "noteCount": 0,
        "satisfaction": 0,
        "satisfactionLevel": {
          "sentByTeams": []
        },
        "createdAt": "2021-04-26T22:02:13.552Z",
        "updatedAt": "2021-04-26T22:03:27.857Z",
        "modifiedAt": "2021-04-26T22:03:27.857Z",
        "lastActivityAt": "2021-04-26T22:02:13.553Z",
        "spam": false,
        "tags": [],
        "suggestedTags": [],
        "predictions": [],
        "suggestedShortcuts": [],
        "firstMessageOut": {
          "createdByTeams": [
            "608733a7178c7116b82c5e9a"
          ],
          "id": "608738673041c80019692cdf",
          "sentAt": "2021-04-26T22:03:27.852Z",
          "createdAt": "2021-04-26T22:03:27.857Z",
          "channel": "sms",
          "directionType": "initial-out",
          "createdBy": "5fe109880e432183796e9218"
        },
        "lastMessageOut": {
          "id": "608738673041c80019692cdf",
          "sentAt": "2021-04-26T22:03:27.852Z",
          "createdAt": "2021-04-26T22:03:27.857Z"
        },
        "lastMessageAt": "2021-04-26T22:03:27.852Z",
        "assignedUsers": [],
        "assignedTeams": [],
        "firstResponse": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "firstResponseSinceLastDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "lastResponse": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "firstDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "lastDone": {
          "createdByTeams": [],
          "assignedTeams": [],
          "assignedUsers": []
        },
        "direction": "out",
        "lastMessageDirection": "out",
        "outboundMessageCount": 1,
        "inboundMessageCount": 0,
        "rev": 2,
        "priority": 3,
        "roleGroupVersions": [],
        "accessOverride": [],
        "assistant": {
          "assistantId": []
        }
      },
      "relationships": {
        "messages": {
          "links": {
            "self": "/v1/conversations/60873865d43fde605b8003bf/messages"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "customer": {
          "data": {
            "type": "customer",
            "id": "5fcea6ca9725f81c5ffbebdd"
          },
          "links": {
            "self": "/v1/customers/5fcea6ca9725f81c5ffbebdd"
          }
        }
      },
      "links": {
        "self": "/v1/conversations/60873865d43fde605b8003bf"
      }
    },
    "createdAt": "2021-04-26T22:03:27.872Z",
    "changes": {
      "attributes": {
        "preview": {
          "op": "add",
          "after": "Hi there! How are you enjoying the free 30-day trial of your metamorphosis? - Franz"
        },
        "channels": {
          "op": "replace",
          "before": [],
          "after": [
            "sms"
          ]
        },
        "messageCount": {
          "op": "replace",
          "before": 0,
          "after": 1
        },
        "updatedAt": {
          "op": "replace",
          "before": "2021-04-26T22:02:13.552Z",
          "after": "2021-04-26T22:03:27.857Z"
        },
        "modifiedAt": {
          "op": "replace",
          "before": "2021-04-26T22:02:13.552Z",
          "after": "2021-04-26T22:03:27.857Z"
        },
        "firstMessageOut": {
          "op": "replace",
          "before": {
            "createdByTeams": []
          },
          "after": {
            "createdByTeams": [
              "608733a7178c7116b82c5e9a"
            ],
            "id": "608738673041c80019692cdf",
            "sentAt": "2021-04-26T22:03:27.852Z",
            "createdAt": "2021-04-26T22:03:27.857Z",
            "channel": "sms",
            "directionType": "initial-out",
            "createdBy": "5fe109880e432183796e9218"
          }
        },
        "lastMessageOut": {
          "op": "add",
          "after": {
            "id": "608738673041c80019692cdf",
            "sentAt": "2021-04-26T22:03:27.852Z",
            "createdAt": "2021-04-26T22:03:27.857Z"
          }
        },
        "lastMessageAt": {
          "op": "add",
          "after": "2021-04-26T22:03:27.852Z"
        },
        "lastMessageDirection": {
          "op": "add",
          "after": "out"
        },
        "outboundMessageCount": {
          "op": "replace",
          "before": 0,
          "after": 1
        },
        "rev": {
          "op": "replace",
          "before": 1,
          "after": 2
        }
      },
      "relationships": {}
    },
    "persist": false,
    "client": "drafts"
  }
}

Message events

Sample payloads for kustomer.message.create and kustomer.message.update events:

"body": {
    "id": "608738af3c16f212942a36c0",
    "name": "kustomer.message.create",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "message",
      "id": "608738673041c80019692cdf",
      "attributes": {
        "externalId": "SMbeb0497425a441669615f2874dc9a312",
        "channel": "sms",
        "app": "twilio",
        "size": 84,
        "direction": "out",
        "directionType": "initial-out",
        "preview": "Hi there! How are you enjoying the free 30-day trial of your metamorphosis? - Franz",
        "meta": {
          "from": "+10198765432",
          "to": "+12345678910"
        },
        "status": "sent",
        "assignedTeams": [],
        "assignedUsers": [],
        "auto": false,
        "sentAt": "2021-04-26T22:03:27.852Z",
        "createdAt": "2021-04-26T22:03:27.851Z",
        "updatedAt": "2021-04-26T22:03:27.851Z",
        "modifiedAt": "2021-04-26T22:03:27.851Z",
        "redacted": false,
        "createdByTeams": [
          "608733a7178c7116b82c5e9a"
        ],
        "rev": 1,
        "reactions": []
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "customer": {
          "links": {
            "self": "/v1/customers/5fcea6ca9725f81c5ffbebdd"
          },
          "data": {
            "type": "customers",
            "id": "5fcea6ca9725f81c5ffbebdd"
          }
        },
        "conversation": {
          "links": {
            "self": "/v1/conversations/60873865d43fde605b8003bf"
          },
          "data": {
            "type": "conversation",
            "id": "60873865d43fde605b8003bf"
          }
        }
      },
      "links": {
        "self": "/v1/messages/608738673041c80019692cdf",
        "related": "/v1/twilio/messages/608738673041c80019692cdf"
      }
    },
    "createdAt": "2021-04-26T22:03:27.856Z",
    "persist": true,
    "client": "drafts"
  }
}
"body": {
    "id": "6087396916dfd73cacc5abc5",
    "name": "kustomer.message.update",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "message",
      "id": "608739298f7703963ebf6e9f",
      "attributes": {
        "externalId": "SMfc21923fb52567c497514587616f7a1d",
        "channel": "sms",
        "app": "twilio",
        "size": 129,
        "direction": "in",
        "directionType": "response-in",
        "location": {
          "countryName": "US",
          "cityName": "CITYNAME",
          "regionName": "NY",
          "zipCode": "#####",
          "id": null
        },
        "preview": "Hi! Thanks for checking in, Franz. My metamorphosis is going swimmingly. Do you have any discounts for the ■■■■■■■ metamorphosis?",
        "meta": {
          "from": "+12345678910",
          "to": "+10198765432",
          "proxy": "+10198765432",
          "attachmentNum": 0
        },
        "status": "received",
        "assignedTeams": [],
        "assignedUsers": [
          "5fe109880e432183796e9218"
        ],
        "auto": false,
        "sentAt": "2021-04-26T22:05:29.017Z",
        "createdAt": "2021-04-26T22:05:29.444Z",
        "updatedAt": "2021-04-26T22:06:33.103Z",
        "modifiedAt": "2021-04-26T22:06:33.103Z",
        "redactedAt": "2021-04-26T22:06:33.103Z",
        "redacted": true,
        "createdByTeams": [],
        "rev": 2,
        "reactions": []
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "redactedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "customer": {
          "links": {
            "self": "/v1/customers/5fcea6ca9725f81c5ffbebdd"
          },
          "data": {
            "type": "customers",
            "id": "5fcea6ca9725f81c5ffbebdd"
          }
        },
        "conversation": {
          "links": {
            "self": "/v1/conversations/60873865d43fde605b8003bf"
          },
          "data": {
            "type": "conversation",
            "id": "60873865d43fde605b8003bf"
          }
        }
      },
      "links": {
        "self": "/v1/messages/608739298f7703963ebf6e9f",
        "related": "/v1/twilio/messages/608739298f7703963ebf6e9f"
      }
    },
    "createdAt": "2021-04-26T22:06:33.117Z",
    "changes": {
      "attributes": {
        "preview": {
          "op": "replace",
          "before": "Hi! Thanks for checking in, Franz. My metamorphosis is going swimmingly. Do you have any discounts for the premium metamorphosis?",
          "after": "Hi! Thanks for checking in, Franz. My metamorphosis is going swimmingly. Do you have any discounts for the ■■■■■■■ metamorphosis?"
        },
        "updatedAt": {
          "op": "replace",
          "before": "2021-04-26T22:05:29.444Z",
          "after": "2021-04-26T22:06:33.103Z"
        },
        "modifiedAt": {
          "op": "add",
          "after": "2021-04-26T22:06:33.103Z"
        },
        "redactedAt": {
          "op": "add",
          "after": "2021-04-26T22:06:33.103Z"
        },
        "redacted": {
          "op": "replace",
          "before": false,
          "after": true
        },
        "rev": {
          "op": "replace",
          "before": 1,
          "after": 2
        }
      },
      "relationships": {
        "modifiedBy": {
          "op": "add",
          "after": {
            "links": {
              "self": "/v1/users/5fe109880e432183796e9218"
            },
            "data": {
              "type": "user",
              "id": "5fe109880e432183796e9218"
            }
          }
        },
        "redactedBy": {
          "op": "add",
          "after": {
            "links": {
              "self": "/v1/users/5fe109880e432183796e9218"
            },
            "data": {
              "type": "user",
              "id": "5fe109880e432183796e9218"
            }
          }
        }
      }
    },
    "persist": false
  }
}

User events

Sample payloads for kustomer.user.create and kustomer.user.update events:

"body": {
    "id": "608732dc222ea5008fb75818",
    "name": "kustomer.user.create",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "orgName": "org-name",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "user",
      "id": "608732dc0ac6b300195d5fb5",
      "attributes": {
        "displayName": null,
        "name": "Gregor Samsa",
        "userType": "user",
        "email": "[email protected]",
        "emailSignature": null,
        "emailVerifiedAt": null,
        "firstEmailVerifiedAt": null,
        "password": null,
        "mobile": null,
        "roleGroups": [
          "5f8481c859e436a2faea1470"
        ],
        "roles": [],
        "seasons": null,
        "custom": null,
        "updatedAt": "2021-04-26T21:38:36.397Z",
        "modifiedAt": "2021-04-26T21:38:36.397Z",
        "createdAt": "2021-04-26T21:38:36.397Z",
        "deletedAt": null
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        }
      },
      "links": {
        "self": "/v1/users/608732dc0ac6b300195d5fb5"
      }
    },
    "createdAt": "2021-04-26T21:38:36.418Z",
    "changes": null,
    "persist": true
  }
}
"body": {
    "id": "60873348401293008e0f288e",
    "name": "kustomer.user.update",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "orgName": "org-name",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "user",
      "id": "608732dc0ac6b300195d5fb5",
      "attributes": {
        "displayName": "Gregor",
        "name": "Gregor Samsa",
        "userType": "user",
        "email": "[email protected]",
        "emailSignature": null,
        "emailVerifiedAt": null,
        "firstEmailVerifiedAt": null,
        "password": null,
        "mobile": null,
        "roleGroups": [
          "5f8481c859e436a2faea1470"
        ],
        "roles": [],
        "seasons": null,
        "custom": null,
        "updatedAt": "2021-04-26T21:40:24.065Z",
        "modifiedAt": "2021-04-26T21:40:24.065Z",
        "createdAt": "2021-04-26T21:38:36.397Z",
        "deletedAt": null
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        }
      },
      "links": {
        "self": "/v1/users/608732dc0ac6b300195d5fb5"
      }
    },
    "createdAt": "2021-04-26T21:40:24.194Z",
    "changes": {
      "attributes": {
        "custom": {
          "op": "remove",
          "before": {},
          "after": null
        },
        "updatedAt": {
          "op": "replace",
          "before": "2021-04-26T21:40:00.472Z",
          "after": "2021-04-26T21:40:24.065Z"
        },
        "modifiedAt": {
          "op": "replace",
          "before": "2021-04-26T21:40:00.472Z",
          "after": "2021-04-26T21:40:24.065Z"
        }
      },
      "relationships": {
        "createdBy": {
          "op": "add",
          "before": null,
          "after": {
            "links": {
              "self": "/v1/users/5fe109880e432183796e9218"
            },
            "data": {
              "type": "user",
              "id": "5fe109880e432183796e9218"
            }
          }
        },
        "modifiedBy": {
          "op": "add",
          "before": null,
          "after": {
            "links": {
              "self": "/v1/users/5fe109880e432183796e9218"
            },
            "data": {
              "type": "user",
              "id": "5fe109880e432183796e9218"
            }
          }
        }
      }
    },
    "persist": true
  }
}

Team events

Sample payloads for kustomer.team.create and kustomer.team.update events:

"body": {
    "id": "608733a7e8c039001901ab04",
    "name": "kustomer.team.create",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "orgName": "org-name",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "team",
      "id": "608733a7178c7116b82c5e9a",
      "attributes": {
        "icon": null,
        "name": "Der Prozess",
        "displayName": "30-Day Trial",
        "createdAt": "2021-04-26T21:41:59.325Z",
        "updatedAt": "2021-04-26T21:41:59.325Z",
        "modifiedAt": "2021-04-26T21:41:59.325Z",
        "deleted": false,
        "deletedAt": null,
        "importedAt": null,
        "members": [],
        "externalId": null,
        "roleGroups": []
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "deletedBy": null
      },
      "links": {
        "self": "/v1/teams/608733a7178c7116b82c5e9a"
      }
    },
    "createdAt": "2021-04-26T21:41:59.345Z",
    "changes": null,
    "persist": true
  }
}
"body": {
    "id": "608733d0ca6e20001913be16",
    "name": "kustomer.team.update",
    "org": "5f8481c6a22ab5b9d5f2dd8a",
    "orgName": "org-name",
    "partition": "5f8481c6a22ab5b9d5f2dd8a",
    "data": {
      "type": "team",
      "id": "608733a7178c7116b82c5e9a",
      "attributes": {
        "icon": "🆓",
        "name": "Der Prozess",
        "displayName": "30-Day Trial",
        "createdAt": "2021-04-26T21:41:59.325Z",
        "updatedAt": "2021-04-26T21:42:40.587Z",
        "modifiedAt": "2021-04-26T21:42:40.587Z",
        "deleted": false,
        "deletedAt": null,
        "importedAt": null,
        "members": [
          "5fe109880e432183796e9218",
          "608732dc0ac6b300195d5fb5"
        ],
        "externalId": null,
        "roleGroups": []
      },
      "relationships": {
        "org": {
          "links": {
            "self": "/v1/orgs/5f8481c6a22ab5b9d5f2dd8a"
          },
          "data": {
            "type": "org",
            "id": "5f8481c6a22ab5b9d5f2dd8a"
          }
        },
        "createdBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "modifiedBy": {
          "links": {
            "self": "/v1/users/5fe109880e432183796e9218"
          },
          "data": {
            "type": "user",
            "id": "5fe109880e432183796e9218"
          }
        },
        "deletedBy": null
      },
      "links": {
        "self": "/v1/teams/608733a7178c7116b82c5e9a"
      }
    },
    "createdAt": "2021-04-26T21:42:40.592Z",
    "changes": {
      "attributes": {
        "updatedAt": {
          "op": "replace",
          "before": "2021-04-26T21:42:40.404Z",
          "after": "2021-04-26T21:42:40.587Z"
        },
        "modifiedAt": {
          "op": "replace",
          "before": "2021-04-26T21:42:40.404Z",
          "after": "2021-04-26T21:42:40.587Z"
        },
        "members": {
          "op": "replace",
          "before": [],
          "after": [
            "5fe109880e432183796e9218",
            "608732dc0ac6b300195d5fb5"
          ]
        }
      },
      "relationships": {}
    },
    "persist": true
  }
}

Updated 6 months ago


Outbound Webhooks


Learn how to configure Outbound Webhooks for your app. This page includes descriptions and examples for defining outbound webhooks in a Kustomer app.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.