Unified.to
All articles

Which unified API platform supports real-time webhooks?


January 30, 2026

Not all 'real-time webhooks' are the same.

Unified API platforms generally fall into three event-delivery models:

  1. Native webhooks – the source system pushes events immediately (when supported).
  2. Virtual webhooks – the platform polls the source API, detects changes, and pushes events on a configurable interval.
  3. Sync-based webhooks – the platform runs a scheduled sync, then notifies you that data may have changed.

Most vendors support some combination of these. The differences show up in latency, payload contents, data storage, and whether your app still needs polling or follow-up API calls.

This post explains:

  • how each model actually works,
  • which unified API platforms support which approach, and
  • why Unified.to's native + virtual webhook architecture is designed differently.

What 'Real-Time Webhooks' Actually Means

When teams ask whether a unified API supports real-time webhooks, they're usually trying to avoid three things:

  • stale or cached data,
  • building and maintaining polling infrastructure, and
  • webhook notifications that still require another API call to get the data.

Unfortunately, 'real-time' is often used to describe very different systems.

Native webhooks (true push)

Native webhooks are the ideal case:

  • the source system detects a change,
  • it pushes an event immediately, and
  • your app reacts in near-zero time.

Examples include Stripe payments, GitHub commits, or Shopify orders.

The limitation is coverage: most SaaS APIs either don't support webhooks at all or only support them for a subset of objects.

Virtual webhooks (poll → detect → deliver)

Virtual webhooks simulate native webhooks when the source system doesn't provide them.

Under the hood, the platform:

  • polls the source API on a configurable interval,
  • detects changes using timestamps, cursors, or deltas, and
  • pushes a webhook event when new or updated records are found.

From your app's perspective, this behaves like a normal webhook subscription. You don't build cron jobs, retry logic, or rate-limit handling.

Freshness is bounded by the polling interval, not by a batch sync schedule.

Sync-based webhooks (sync → notify)

Some platforms emit webhook events only after a scheduled sync:

  • data is pulled into a vendor-hosted store,
  • the sync completes, and
  • a webhook notifies you that data changed.

These webhooks often signal that something changed, not what changed. Your app typically needs to make another API call to fetch updated records.

Freshness is bounded by the sync cadence, which is commonly measured in hours or days.

How Unified API Platforms Compare

Below is a high-level comparison based on publicly documented behavior. Exact capabilities vary by integration and pricing tier.

Unified.to

  • Native webhooks: Supported when the source system provides them.
  • Virtual webhooks: Supported as a first-class fallback.
  • Trigger model: Native push when available; otherwise poll → detect → deliver.
  • Freshness: Virtual webhook intervals are configurable and can be as low as ~1 minute.
  • Payloads: Webhooks can include the updated records directly; no mandatory follow-up fetch.
  • Data storage: No customer records stored at rest; pass-through architecture.

Unified treats native and virtual webhooks as the same interface. Initial backfill and incremental updates are delivered through the same subscription, with explicit event types indicating initial vs ongoing data.

unlock_real_time_data_with_virtual_webhooks-0.png

Merge

  • Native webhooks: Supported as notifications.
  • Virtual webhooks: No explicit poll-detect webhook layer.
  • Trigger model: Scheduled sync into a vendor-hosted database, then notify.
  • Freshness: Depends on sync frequency (daily by default, more frequent on higher tiers).
  • Payloads: Webhooks notify that data changed; apps must fetch updated records.
  • Data storage: Customer data is stored and queried from Merge's database.

Merge webhooks are best understood as sync completion signals rather than real-time event delivery.

Apideck

  • Native webhooks: Supported when provided by the source system.
  • Virtual webhooks: Supported via polling and change detection.
  • Trigger model: Poll → detect → notify.
  • Freshness: Automated polling defaults are typically daily unless manually triggered or upgraded.
  • Payloads: Change events are emitted; developers commonly fetch updated records.
  • Data storage: Apideck avoids storing full resource data, using checksums for change detection.

Apideck supports virtual webhooks, but default freshness is tied to longer polling intervals unless explicitly configured.

Paragon

  • Native webhooks: Supported via integration triggers when available.
  • Virtual webhooks: Polling-based triggers are used when native webhooks don't exist.
  • Trigger model: Native push or polling (often ~1-minute checks).
  • Freshness: Near-real-time for triggers; varies by integration and workflow.
  • Payloads: Triggers typically start workflows; updated records may require fetching.
  • Data storage: Depends on feature — workflow triggers can be stateless, while Managed Sync stores data.

Paragon supports event-driven workflows, but its architecture differs depending on whether you're using triggers or Managed Sync.

Kombo

  • Native webhooks: Supported when upstream ATS/HRIS vendors provide them.
  • Virtual webhooks: Not provided as a poll-detect abstraction.
  • Trigger model: Scheduled sync into Kombo's database, then notify.
  • Freshness: Sync intervals commonly range from several hours; upstream webhooks reduce polling frequency.
  • Payloads: Webhooks notify of changes; apps fetch updated records using timestamps.
  • Data storage: Customer data is replicated into Kombo's database.

Kombo's data-changed events indicate that records were updated in its store, not that records are being pushed in real time.

Truto

  • Native webhooks: Supported for platform and some record events.
  • Virtual webhooks: Not clearly documented as a general poll-detect layer.
  • Trigger model: Scheduled sync jobs (RapidBridge) with webhook delivery.
  • Freshness: Bounded by job schedule.
  • Payloads: Sync jobs can emit records in batches.
  • Data storage: Depends on feature; RapidBridge involves managed sync jobs.

Truto's RapidBridge is best understood as scheduled sync with webhook delivery rather than real-time eventing.

Why These Differences Matter

Product latency

If your UI, automation, or alerts depend on timely updates, the difference between a one-minute poll-detect webhook and a daily sync is immediately visible to users.

AI and agent workflows

AI agents and event-driven pipelines work best when updated records arrive directly in webhook payloads. Sync-based notifications often introduce extra fetch steps and stale context.

System complexity

Virtual webhooks replace polling infrastructure. Sync-based webhooks usually don't — you still manage sync state, retries, and deduplication.

Security and compliance

Architectures that store customer data introduce additional compliance scope, audit surface area, and long-term migration risk. Pass-through models avoid this by design.

How Unified.to Approaches Real-Time Webhooks

Unified.to uses a hybrid model:

  • Native webhooks when the source system supports them.
  • Virtual webhooks when it doesn't — with configurable polling, change detection, retries, and delivery handled internally.

Both are exposed through the same webhook interface and deliver unified payloads. Customer records are fetched live from the source and delivered without relying on a stored replica.

The result is near-real-time eventing across hundreds of integrations, without batch sync jobs, cached data, or custom polling logic in your application.

Final Takeaway

When evaluating unified API platforms, don't ask 'Do you support webhooks?'

Ask instead:

  • How are those webhooks generated?
  • How fresh is the data by default?
  • Do webhook events include the updated records?
  • Do you store my customers' data?
  • Do I still need polling or follow-up fetches?

Those answers determine whether 'real-time' actually means real-time — or just a notification after a sync.

If you're building AI workflows, automation, or user-facing features where freshness matters, Unified is designed to remove polling, sync jobs, and integration debt from your stack.

Start a free trial to test real-time webhooks on your own integrations or talk to us to see your real-time use case live.

All articles