Atlas B7oxwnqthoOutboundSync Help CenterEmail SupporticonLog Inicon
Help CenterGetting startedHow OutboundSync queues and prioritizes webhook payloads

How OutboundSync queues and prioritizes webhook payloads

Last updated December 3, 2025

OutboundSync processes a variety of webhook payloads to sync email and social activity to CRM systems such as HubSpot & Salesforce. To ensure data accuracy and prevent race conditions when multiple events arrive at once, we apply controlled processing delays. This article explains how delays work, which events skip delays, and how Category Based Filters being enabled affects sequencing.

Why Do We Use Delays at All?

HubSpot, Salesforce, and similar CRMs often have a short internal delay before newly created records become fully searchable.

If we push updates too quickly after creating a contact/lead, the CRM may return errors such as “record not found” or “value already exists.”

To avoid this, OutboundSync uses a common (default) delay for most webhook payloads.

Events that skip the default delay

Some payload types are time-sensitive and should sent to the CRM immediately.

For the following events, we skip the user-level default delay:

  • EMAIL_REPLY
  • LEAD_CATEGORY_UPDATED
  • CONNECTION_REQUEST_ACCEPTED
  • INMAIL_REPLY_RECEIVED
  • MESSAGE_REPLY_RECEIVED

When one of these payloads arrives, it is executed immediately, bypassing the normal queue delay.

Special logic for Category Based Filters

Once we receive a matching lead category for a lead (when filters are enabled), all payloads for that lead skip the normal queue so they can be processed more quickly.

At this point, we begin applying a tiered delay for that lead’s payloads to keep updates orderly and prevent simultaneous writes on the same CRM record.

How this tiered delay works

  1. We gather all pending payloads associated with that lead.
  2. The payloads are then processed sequentially with a 60-second spacing.

Example: A lead has 3 pending payloads and is now categorized.

  • Payload #1: sent immediately
  • Payload #2: sent 60 seconds later
  • Payload #3: sent 120 seconds later

This protects against conflicts HubSpot can produce when multiple updates hit at the same time while still ensuring these categorized leads are synced as quickly as possible.

Special case: Email Reply vs. Lead Category Updated events

When both an EMAIL_REPLY and a LEAD_CATEGORY_UPDATED event appear in the queue for the same lead, OutboundSync ensures they are processed in the correct order.

Execution Order

  1. EMAIL_REPLY is always processed first
  2. LEAD_CATEGORY_UPDATED is processed afterward

OutboundSync may apply a minimal delay to the LEAD_CATEGORY_UPDATED event when necessary to maintain this sequence. This ordering ensures that the reply is present in the CRM before the lead category update triggers any HubSpot workflows or user actions.

Summary of current behavior

ScenarioProcessing Behavior
Normal events (Email Sent, Email Open, etc.)Use default CRM specific queue delay
Priority events (Email Reply, Lead Category, etc.)Skip default delay; execute immediately
Category Based FiltersSkips the normal queue; apply sequential 60-sec spacing between that lead’s payloads
Email Reply vs Lead Category Updated eventsEmail Reply is processed first; Lead Category Update gets a small delay to ensure proper sequencing

Was this article helpful?