Siphon
Reverse-ETL · warehouse → every tool your team lives in

Siphon is reverse-ETL for teams who already bet on their warehouse. Define a high-value account, a churn risk, a usage spike once in SQL or dbt — then keep it synced, continuously, into Salesforce, HubSpot, Braze, your ad platforms, and Slack. No more CSV exports. No more one-off Zaps that rot. The model your analysts trust becomes the row a rep works, a campaign targets, and an ad audience reads from.

  • Runs on the warehouse you already trust — no second copy of the truth
  • Define once in SQL or dbt, land everywhere your teams actually work
  • Diff-based syncs send only what changed — never the whole table twice
Overview
Live
$2.4M
Volume
+18.2%
Growth
99.99%
Uptime

Reads from the warehouse you have. Writes to the tools you already pay for.

SnowflakeBigQueryDatabricksRedshiftPostgresdbtSalesforceHubSpotBrazeMarketoMeta AdsSlackSnowflakeBigQueryDatabricksRedshiftPostgresdbtSalesforceHubSpotBrazeMarketoMeta AdsSlack
The sync engine

Define it once.Keep it in syncforever.

The hard part of reverse-ETL was never the first push. It's the second day — when the table changed, the API rate-limited you, and three rows failed without a sound. Siphon's engine is built for the second day: it tracks exactly what changed, respects every destination's limits, and tells you the moment a row doesn't land.

Diff-based incremental syncs

Siphon snapshots your model and computes precisely which rows changed since the last run, then sends only those. A nine-million-row table costs you a few thousand API writes, not nine million. Destinations stay under quota, your bill stays flat, and a continuous five-minute sync stops being a fantasy and becomes the default.

Idempotent upserts on your key

Pick the column that identifies a record and every sync becomes safe to retry. Run it twice, run it after a crash — the destination lands in the same state either way. No duplicate contacts, no double-counted events, no 3am cleanup.

Rate-limit aware by design

The engine carries each destination's quotas and backs off, batches, and paces writes to fit inside them. A big sync degrades gracefully instead of getting your account throttled — or banned — in the middle of the night.

A dead-letter queue for every reject

When a destination refuses a row — bad email, missing field, a validation rule you forgot — it lands in a dead-letter queue with the exact API error attached, not a failure swallowed in a log. Fix the data, click replay, move on. The rest of the sync never stalls.

Field mapping without the spreadsheet

Map warehouse columns to destination fields in a visual editor or in code, transform values on the way out, and version every change. Your mapping is a reviewable pull request — not a config buried in someone's open browser tab.

What teams stop paying for once the warehouse drives the tools

200+
Destinations, from CRMs to ad platforms
5 min
Default cadence, down to near real-time
94%
Fewer API writes than full reloads
0
CSV exports emailed around the team
Where the data lands

One model in the warehouse. A dozen teams it sets in motion.

Reverse-ETL only earns its keep when it changes what people do. Here's what teams pipe out of Siphon on day one — each one a SQL model that becomes a live signal somewhere a human or a system can act on it.

CRM

Sales works the health score

Sync product-usage and account-health models straight onto the Salesforce or HubSpot record, so reps chase the at-risk and expansion-ready accounts without ever leaving the CRM they already live in.

Lifecycle

Marketing targets real behavior

Pipe behavioral segments and lifecycle stages into Braze, Iterable, or Marketo, so a campaign fires on what someone actually did in the product — not a stale list someone exported last quarter.

Ad audiences

Paid media stops guessing

Push warehouse-defined audiences and suppression lists into Google, Meta, and LinkedIn, then sync conversion values back for honest ROAS instead of platform-flattering estimates.

Ops

Finance closes on one number

Land usage, billing, and consumption models into NetSuite and your billing system, so revenue ops works from the same figures the warehouse already reconciled.

Service

Support sees the whole customer

Surface plan, usage, and risk right on the Zendesk or Intercom ticket, so an agent answers with full context instead of asking the customer to explain who they are.

Alerting

The team gets pinged, not surprised

Route threshold-crossing rows — a churn flag, a usage spike, a failed payment — into Slack the second they appear, so the right person acts in minutes instead of at next week's dashboard review.

Trust the pipe

Governed,observable,and impossibleto silently break.

Writing data into the systems your revenue runs on is no place for hope. Siphon treats every sync like production: versioned, permissioned, observed end to end, and loud the instant a model drifts or a destination starts turning rows away.

Sync logic in version control

Definitions, mappings, and schedules live as code you review and roll back. Your warehouse-to-tool logic finally gets the same git history as the rest of your stack — no more mystery changes nobody can account for.

Column-level lineage

Trace any field in Salesforce back through its mapping, its model, and the warehouse columns that fed it. When a rep asks why a number looks wrong, the answer is one click — not an afternoon of Slack archaeology.

Observability in every run

Each sync reports rows scanned, changed, written, and rejected, with latency and drift. Alerts fire to Slack or PagerDuty the moment a run fails or a model stops returning rows it used to return.

Governed PII, scoped access

Mask or hash sensitive columns before they ever leave the warehouse, and gate who can sync what to where with role-based controls and a full audit log. Activation shouldn't mean PII sprawl across every downstream tool.

From the data teams

The warehouse stopped being a dead end.

We had a gorgeous churn model living in a dashboard nobody on the sales floor ever opened. We piped it into Salesforce with Siphon in an afternoon and reps started working at-risk accounts that same week. The model finally left the warehouse and met the people who could do something with it.

L
Lena Petrov
Head of Data, Cohort Labs

Our old reverse-ETL reloaded entire tables every run and Braze throttled us constantly. Siphon's diff syncs cut our API writes by ninety-plus percent overnight, and the dead-letter queue means I see the four rows that failed myself — instead of hearing about it from a confused PM a week later.

M
Marcus Whitfield
Analytics Engineering Lead, Driftpay

Putting sync definitions in version control changed how we operate. A mapping change is now a pull request the whole team reviews, lineage tells me exactly which field feeds which CRM property, and nothing breaks in silence anymore. It feels like production software instead of a pile of brittle Zaps held together by hope.

P
Priya Raman
Director of Analytics, Northgate
Pricing

Priced on rows synced, not seats.

You shouldn't pay per analyst to move your own data. Siphon meters the rows that actually change and land in a destination — and diffs keep that number small on purpose.

Starter

For one team activating its first models.

$0/mo
  • Up to 1M synced rows/mo
  • 3 destinations
  • Hourly sync cadence
  • Diff-based incremental syncs
  • Community support
Most popular

Growth

For data teams running activation across the company.

$600/mo
  • Up to 50M synced rows/mo
  • Unlimited destinations
  • 5-minute sync cadence
  • dbt + version-controlled models
  • Dead-letter queue & replay
  • Column-level lineage
  • Priority support

Enterprise

For regulated, high-volume data organizations.

Custom
  • Unlimited synced rows
  • Near real-time CDC syncs
  • PII masking & data residency
  • SSO, RBAC & audit logs
  • VPC / private networking
  • Named solutions architect
  • 99.9% sync SLA

Straight answers for data teams.

What exactly is reverse-ETL, and how is it different from ETL?

ETL pulls data from your apps into the warehouse so you can analyze it. Reverse-ETL runs the other direction: it takes the models you've already built in the warehouse and syncs them back out into operational tools — CRM, marketing, ads, support — where people and systems act on them. Siphon is the layer that closes that loop, turning a warehouse table into a live record in Salesforce, an audience in Meta, or an alert in Slack.

Do you store a copy of my data?

No. Siphon connects directly to your warehouse, reads your models at sync time, computes the diff, and writes only the changed rows to your destinations. We keep sync metadata and logs to power observability and replay, but your warehouse stays the single source of truth — there's no second copy of your customer data sitting in our database.

How do diff-based syncs keep me under destination rate limits?

Instead of reloading the whole table every run, Siphon snapshots your model and sends only the rows that changed since the last sync. For most tables that's a tiny fraction of the total — usually over ninety percent fewer API writes — so you stay comfortably inside each destination's quota and can run a continuous five-minute cadence without getting throttled.

What happens when a destination rejects a row?

It goes to a dead-letter queue with the destination's exact error attached — a bad email, a missing required field, a failed validation rule — instead of vanishing into a silent failure. You fix the underlying data, click replay, and only the failed rows re-send. The rest of the sync is never blocked by a handful of rejects.

Can I define my models in dbt and version-control my syncs?

Yes. Siphon reads directly from your dbt models, and your sync definitions, field mappings, and schedules live as code you can review in a pull request and roll back. Warehouse-to-tool logic gets the same git history, review process, and CI discipline you already apply to the rest of your stack.

Are you ready for our security and compliance review?

Siphon is SOC 2 Type II certified, supports SSO, role-based access control, and full audit logging, and lets you mask or hash PII columns before they ever leave the warehouse. Enterprise plans add data residency and private networking, so you can activate sensitive data without it sprawling into every downstream tool.

Put your best modelwhere someonecan act on it.

Connect your warehouse, map a model to a destination, and see the first rows land in your CRM in minutes. Diff-based, governed, and observable from the very first sync — no CSV, no sales call to get started.