Tooling

Reverse ETL

Hightouch, Census, RudderStack — pushing modeled warehouse data into SaaS tools.

The mirror of ETL / ELT & Ingestion. After your warehouse holds the trustworthy version of "active customer," reverse ETL syncs that to Salesforce / HubSpot / Intercom / Customer.io / your ad platforms — so non-technical teams operate on the same definitions defined in dbt or Semantic Layers & Metrics.

Hosted SaaS

  • Hightouch — the category leader; warehouse-first; deep connector list; SQL or model selectors; small free tier (3 syncs).
  • Census — same niche; extra strength in identity resolution; small free tier.
  • Polytomic — strong on "two-way sync" between SaaS apps; free tier.
  • Workato, Tray.io, Zapier — generalist iPaaS; not warehouse-first but get the job done for low-volume pushes.

Open source / self-host

  • RudderStack Reverse ETL — the OSS RudderStack server (Elastic License v2) includes warehouse-source reverse-ETL alongside its CDP collection layer; see Event Tracking & CDP.
  • Multiwoven (formerly Castled) — open-source reverse-ETL; AGPLv3; smaller connector list but actively developed.
  • Grouparoo — was open source; effectively retired after Airbyte acquisition in 2022. Mention only to redirect users to the alternatives above.

DIY patterns

  • dbt model → INSERT INTO external_table → cron — for a few simple syncs, a dbt run that writes to an external Postgres / Salesforce-shaped staging table plus a small Python script beats running a reverse-ETL platform.
  • Workflow engine + warehouse query — see Data Orchestration; Dagster / Prefect / Airflow can SELECT FROM warehouse and POST to vendor APIs natively.
  • Cube + webhook — a Semantic Layer query can fan out to webhooks via a simple consumer.

Common destinations

  • CRM: Salesforce, HubSpot, Pipedrive, Attio.
  • Marketing: Customer.io, Iterable, Braze, Klaviyo, Mailchimp.
  • Support: Intercom, Zendesk, Front.
  • Ads: Facebook / Google / TikTok Ads custom audiences.
  • Product: PostHog (groups), Mixpanel (cohort), Amplitude.
  • Slack, Notion — for ops handoffs.

Patterns to know

  • Idempotent upserts. Match on external_id (= warehouse PK) so re-syncs don't dupe.
  • Diff-based syncs. Don't push every row every run — most platforms compute a diff vs. the last sync. Watch out for soft-delete handling.
  • Rate limits. SaaS APIs throttle hard; the platform's job is back-off and queueing.
  • Consent & PII. Reverse ETL is the easiest place to leak PII to vendors. Filter unsubscribed / opted-out users in the model, not in the sync.
  • Audit per sync. Track row counts in / out / failed; surface failures to the data team, not the marketers.

Pick this if…

  • Default reverse ETL, hosted, free-tier: Hightouch or Census.
  • Already running RudderStack OSS: use its reverse-ETL features.
  • AGPL-friendly self-host: Multiwoven.
  • You only have 1–2 syncs: roll your own with Data Orchestration.
  • You need two-way sync, not one-way: Polytomic.

On this page