Skip to content
  • There are no suggestions because the search field is empty.

Understanding how webhook assurance works

A step-by-step technical walkthrough of how OutboundSync's webhook assurance works.

The OutboundSync platform relies on webhooks to be reliably delivered in order for us to capture activities. Similarly, OutboundSync must be a reliable receiver of webhooks.

When an integration platform fails to deliver webhooks, or if OutboundSync fails to receive it, this creates a data sync issue. For example, a user sent an email but was not notified of a reply. Or a user received a reply but was not notified of a lead category update. 

On the OutboundSync side, we invest heavily in our webhook receiver infrastructure, error logging, and instrumentation to monitor our infrastructure. On the integration side, we cannot control what is sent to us.

We created webhook assurance to solve for this. 

Here's how it works:

webhook-assurance-flowchart

  1. OutboundSync continuously receives webhook payloads. We maintain deep historical logs of everything that happens in our system. When a webhook payload is received, we store the payload in the user's webhook history. We save the campaign_id and lead_id.
  2. We use an API-level cron job that goes back to the Sales Engagement Plaform, searching for the campaign_id and lead_id. This endpoint returns an array containing the entire message history of a lead specific to a campaign. This is the same data rendered in the Sales Engagement Platform's master inbox.
  3. If we detect any events that we don't have a record for, we will create new events for them based on the results of the API call, deliver the payloads as-normal, and note in our database that this record was fetched through the API. If a lead no longer exists because it has been deleted from the Sales Engagement Platform, we will stop checking for updates for that lead.

The only edge case this does not currently solve for is if: 

  • A contact is enrolled in a single email sequence.
  • That single sent email webhook payload is lost.
  • No subsequent webhook payloads are sent (open, click, bounce, unsubscribe, reply, lead category update, etc.)

Webhook assurance does not currently address this specific edge case because there are no subsequent events that would trigger the cron job to check via API for any other lost events. This represents an extremely small percentage of possible outcomes but it is still something we will revisit. 

We believe this represents a significant improvement for our users and we hope it helps you achieve your growth goals for your business.