Intempt Docs
GuidesCustomer Data PlatformWebhooks

Collect data from third parties with webhooks

Intempt collects events from the webhooks of supported third-party software. The vendor pushes its own event stream to your Intempt collector, where it is normalised onto a named stream and attributed to a source.

Intempt collects events from the webhooks of supported third-party software.

Webhooks let a third party send its own internal event stream to your Intempt collector for further processing. They are sometimes called streaming APIs or HTTP response APIs. A webhook event is not loaded loose: it is verified, attributed to a source, normalised onto a named stream, and written to the same customer profile your SDK events land on.

How a connector is put together

Every platform source has two halves, because neither half can do the other's job.

HalfWhat it doesWhy it is not enough alone
Historical loadRuns once, at connect time. Loads the vendor's existing recordsCannot deliver anything after it finishes
Webhook streamDelivers every event from registration onward, in secondsCannot produce history. It starts when you register it

You get both from one connect flow. The historical load runs first, the connector reports connected only when it finishes, and the webhook carries everything after that. Both halves are attributed to the same source, so a profile assembled from history and live events shows one continuous timeline.

Backfilled records never trigger journeys, workflows or experiments. Loading two years of orders does not send two years of email.

Research Preview. Webhook sources are rolling out account by account. Ask your Intempt contact to enable a connector for your workspace.

Supported webhooks

WebhookTrack
ShopifyOrders, checkouts, customers and products from your store
StripePayments, subscriptions, invoices and disputes
HubSpotContact, company and deal changes logged by HubSpot
KlaviyoEmail and SMS engagement logged by Klaviyo
ChargebeeSubscription state, invoices and payment events
IntercomConversations, replies and contact changes
ZendeskTickets, comments and satisfaction ratings
FreshdeskTickets, replies and contact changes
TypeformForm responses as they are submitted
Generic webhookAny JSON payload from any source

The full connector list

Seventeen connectors, in two waves. Every one pairs a webhook with an Airbyte source that Airbyte itself certifies, and every one serves a GTM team in ecommerce or SaaS.

VendorGroupWaveAlso a destination
ShopifyCommerce1
StripePayments1
HubSpotCRM1Yes
KlaviyoMessaging1
ChargebeePayments1
IntercomSupport1
FreshdeskSupport1Yes
Zendesk SupportSupport1
TypeformLead capture1
Generic collectorAny1
SalesforceCRM2
MailchimpMessaging2
WooCommerceCommerce2
PayPalPayments2
SendGridMessaging2Yes
SlackRouting2Yes
TwilioMessaging2Yes

Five are already destinations. HubSpot, Freshdesk, SendGrid, Slack and Twilio can already receive from Intempt. Adding the source closes the loop on one profile: we send the message, their webhook tells us it was opened, and both sit on the same timeline.

Why certified only

Airbyte marks a source certified when Airbyte maintains and supports it. Community sources are contributor-maintained with no such commitment.

That matters more than it looks. If a community connector breaks, the backfill breaks while the webhook keeps running, so new events keep arriving and history quietly does not. The profile reads as healthy and is incomplete. We would rather ship fewer sources than one that fails in a way you cannot see.

Recharge, Gorgias and Calendly all have webhooks and all have Airbyte sources, but those sources are community-maintained, so they are not on this list.

Vendors that cannot be collected by webhook

Some systems publish no outbound webhook at all. Databases, warehouses and object stores are pull-only by design, and so is every major ad platform: Google Ads, Google Analytics 4, Bing Ads, Amazon Ads, LinkedIn Ads, Snapchat and TikTok.

Those are still available as scheduled sources, on a sync interval rather than a live stream. The connector catalogue marks which of the two you are getting, because the difference decides whether a journey can be triggered by the event or only reported on afterwards.

On this page