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:

EventDescription
kustomer.customer.createOutbound webhook triggers when a customer is created
kustomer.customer.updateOutbound webhook triggers when a customer is updated
kustomer.conversation.createOutbound webhook triggers when a conversation is created
kustomer.conversation.updateOutbound webhook triggers when a conversation is updated
kustomer.message.createOutbound webhook triggers when a message is created
kustomer.message.updateOutbound webhook triggers when a message is updated
kustomer.user.createOutbound webhook triggers when a user is created
kustomer.user.updateOutbound webhook triggers when a user is updated
kustomer.team.createOutbound webhook triggers when a team is created
kustomer.team.updateOutbound 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
  }
}

Retry Policy

We attempt to send an event 10 times over an approximately 80-minute timeframe. If an outbound webhook request is unsuccessful 10 times in a row, the webhook will be turned off, and must be turned on again manually. After this occurs, the user will need to open Kustomer and go to Settings > Platform > Outbound Webhooks to verify everything is set up correctly with the hook, then turn it back on when it's ready to be used.