Consistency Guarantees

What to expect in terms of data consistency guarantees when dealing with CRM data

Webhook Consistency Guarantees

Webhooks related to CRM integrations have the following characteristics:

Eventual Consistency

Requests to the Webhook endpoint will be sent as soon as:

  • The CRM "acknowledges" the change in its system and makes it available for querying for external systems
  • Xkit receives the change and schedules a Webhook request

It's worth noting that only changes that match webhook subscription criteria will be sent. Changes that don't match will not be stored, and a webhook won't be sent.

Delivery Guarantees

  • At-least-once delivery. Connection issues between Xkit and the Developer's app may cause retries
  • Out-of-order events. If object B changes after A, there is no guarantee that change A will be sent before B

Last-version-wins

Only the latest version of the object will be sent, meaning that Xkit does not notify of each change independently.

  • If an object in the CRM changes several times before Xkit fetches it, only the last version will be sent via Webhook.
  • If an object changes in between retry attempts, the next retry will include the latest version

Retries

When the webhook endpoint returns a status other than 204 or fails to return a response (e.g. due to connection issues), the request will be retried:

  • maximum of 20 times
  • with exponential backoff + jitter, starting at 15 seconds and up to approximately 24 days since the first attempt

Ready to build your CRM app?

Integrate every CRM with one build, request access to get started.