---
title: "Supabase two-way sync with CRM, ERP & data warehouse | Stacksync"
description: "Real-time, two-way sync between Supabase and Salesforce, HubSpot, NetSuite, Stripe and 1,000+ systems. Map fields once; writes propagate both ways in milliseconds."
canonical: https://www.stacksync.com/supabase
last_modified: 2026-07-29
---

# Real-time two-way sync between Supabase and your CRM, ERP and data warehouse

You built the product on Supabase to move fast. Do the same for Salesforce, NetSuite and Stripe: map the fields once, and every write moves both ways in milliseconds.

[Sign up with Supabase](https://app.stacksync.com/) [Request a demo](https://www.stacksync.com/book-a-demo)

|  |  |
| --- | --- |
| 1,000+ | Connectors |
| <200ms | p95 propagation |
| $100 | Free credits |
| SOC 2 | ISO 27001 · HIPAA |

Trusted by fast-scaling teams, from YC startups to enterprise platform teams

Gladia IDEXX MedPro Eko Ubicloud Vimeo Codility ACERTUS Truora Rinsed Meter Golden Pear Funding

## Your agent already writes to Supabase. Now it writes to the business.

If Claude Code, Cursor or an edge function can run one UPDATE, it can close a deal in Salesforce. Same auth, same RLS, same audit trail, no SDK or MCP tool per system.

[Why agents work better on one synced database than on per-app MCP servers](https://www.stacksync.com/blog/ai-agent-data-layer-mcp-vs-synced-database)

~/acme-api · claude

dev@acme: ~/acme-api $ claude

Claude Code v2.1.0

postgres: supabase ✔ connected · 4 tools

❯ mark deal d_10427 as won

● postgres:execute_sql (deals)

update deals

set stage = 'won'

where id = 'd_10427';

propagating to 2 mapped systems…

✔ salesforce 180ms

✔ hubspot 210ms

2 writes committed · supabase is the source of truth

Use cases

## What teams ship first

Six patterns a two-person team can ship in a week. Any table in Supabase maps to any object in any connector.

### Build internal tools on external system data

One GDPR erasure cascades to every downstream system, with a row-level receipt for the auditor.

### CRM and DB sync

Closed-won seats and limits land in Supabase, so RLS enforces entitlements without a sync script.

### Real-time ERP visibility inside your database

Usage meters, Stripe invoices and data warehouse revrec stay aligned, and any drift is audit-visible.

### Database replication

Ship an integrations tab to your tenants. Per-tenant credentials on top of RLS, no second vendor.

[How embedded sync works](https://www.stacksync.com/embedded-sync)

### Enrich your CRM from your database

Churn, LTV and embeddings computed in the data warehouse, served from Supabase. pgvector can query them live.

### PLG to sales handoff

Push activation and seat counts into CRM properties. Pull deal stage and tier back to gate features behind RLS.

Pricing

## Free for Supabase builders

Normally $1,000/mo. Yours at $0 during launch week.

Launch week: 10,000 accounts only

Supabase Connect

$1,000 $0 / month

Plus $100 in sync credits on the house. No card, no sales call, the same self-serve start you got with Supabase.

7,840 of 10,000 claimed 2,160 left

[Claim my $100 in credits](https://app.stacksync.com/) [Talk to an engineer](https://www.stacksync.com/book-a-demo)

Takes about 2 minutes · cancel in one click · export every mapping you build

- 1 active two-way sync, real-time
- AI agents and MCP servers
- Workflows on any synced change
- 3 collaborators
- Migration review with a Stacksync engineer

“We went from treating data integration as a necessary evil that consumed our best engineers to having it just work, reliably, at scale, in real-time.”

Alex Marinov · VP of Technology, ACERTUS

Trusted by 1,000+ teams · SOC 2 Type II · ISO 27001

How it works

## Four steps, and no backend to maintain

01

### Connect

OAuth your project and the system. Schemas read automatically.

02

### Map

Tables to objects, fields to fields. Transforms run inline.

03

### Sync

Historical backfill, then continuous CDC both ways.

04

### Monitor

Row-level logs, latency and one-click replay.

## Sync Supabase with Salesforce from React

One client, the same auth as your Supabase project. If you know the Supabase client, you already know this one.

[Read the docs](https://docs.stacksync.com/)

```
import { createClient } from '@stacksync/client'const stacksync = createClient(  process.env.SUPABASE_URL,  process.env.STACKSYNC_API_KEY)export default function Deals() {  const [deals, setDeals] = useState([])  useEffect(() => {    stacksync.from('deals').select('*')      .then(({ data }) => setDeals(data))  }, [])  return <DealList items={deals} />}
```

```
import { createClient } from '@stacksync/client'export async function POST(request) {  const stacksync = createClient(    process.env.SUPABASE_URL,    process.env.STACKSYNC_API_KEY  )  const { id, stage } = await request.json()  // writes Supabase, propagates to Salesforce  const { data } = await stacksync    .from('deals')    .update({ stage })    .eq('id', id)  return Response.json(data)}
```

```
from stacksync import create_clientstacksync = create_client(    os.environ['SUPABASE_URL'],    os.environ['STACKSYNC_API_KEY'])# one write, both systemsstacksync.table('deals').update(    {'stage': 'won', 'amount': 48000}).eq('id', 'd_10427').execute()for row in stacksync.logs('deals').recent():    print(row['system'], row['latency_ms'])
```

```
import { createClient } from '@stacksync/client'Deno.serve(async (req) => {  const stacksync = createClient(    Deno.env.get('SUPABASE_URL'),    Deno.env.get('STACKSYNC_API_KEY')  )  const { record } = await req.json()  await stacksync.from('accounts').upsert({    id: record.id,    owner: record.owner_email  })  return new Response('ok')})
```

```
// claude_desktop_config.json{  "mcpServers": {    "stacksync": {      "command": "npx",      "args": ["-y", "@stacksync/mcp"],      "env": {        "STACKSYNC_API_KEY": "sk_live_...",        "SUPABASE_URL": "https://xyz.supabase.co"      }    }  }}// your agent now reads and writes// every connected system of record
```

```
-- Supabase stays the source of truthupdate deals   set stage = 'won',       amount = 48000 where id = 'd_10427';-- Stacksync picks up the change via CDC-- and writes it to every mapped systemselect system, object_id, latency_ms, status  from stacksync.write_log where table_name = 'deals' order by created_at desc limit 10;
```

Connectors

## Every connector you need

Pre-built, production-ready pairs between Supabase and the systems your team already runs. Pick one to see the connection in detail.

29+

connectors

[Salesforce](https://www.stacksync.com/supabase/salesforce) [HubSpot](https://www.stacksync.com/supabase/hubspot) [NetSuite](https://www.stacksync.com/supabase/netsuite) [SuiteAnalytics](https://www.stacksync.com/supabase/suite-analytics) [Zendesk](https://www.stacksync.com/supabase/zendesk) [Microsoft Dynamics 365 Sales](https://www.stacksync.com/supabase/microsoft-dynamics-365-sales) [Dynamics 365 F&O](https://www.stacksync.com/supabase/dynamics-365-finance-operations) [Attio](https://www.stacksync.com/supabase/attio) [Pipedrive](https://www.stacksync.com/supabase/pipedrive) [Zoho CRM](https://www.stacksync.com/supabase/zoho-crm) [Campfire](https://www.stacksync.com/supabase/campfire) [Rillet](https://www.stacksync.com/supabase/rillet) [Front](https://www.stacksync.com/supabase/front) [Shopify](https://www.stacksync.com/supabase/shopify) [TikTok Shop](https://www.stacksync.com/supabase/tiktok) [Amazon Seller Central](https://www.stacksync.com/supabase/amazon-seller-central) [SendGrid](https://www.stacksync.com/supabase/sendgrid) [Amazon RDS](https://www.stacksync.com/supabase/amazon-rds) [Snowflake](https://www.stacksync.com/supabase/snowflake) [MySQL](https://www.stacksync.com/supabase/mysql) [MariaDB](https://www.stacksync.com/supabase/mariadb) [SQL Server](https://www.stacksync.com/supabase/sql-server) [BigQuery](https://www.stacksync.com/supabase/bigquery) [MotherDuck](https://www.stacksync.com/supabase/motherduck) [Airtable](https://www.stacksync.com/supabase/airtable) [Twilio](https://www.stacksync.com/supabase/twilio) [Acumatica](https://www.stacksync.com/supabase/acumatica) [MongoDB](https://www.stacksync.com/supabase/mongodb) [Databricks](https://www.stacksync.com/supabase/databricks)

Security

## Security teams trust Stacksync

The integration layer is where compliance reviews stall. Row-level audit, residency and DPF certification for US, EU, UK and CH transfers, so procurement is a form, not a quarter.

[Learn more about security](https://www.stacksync.com/security)

|  |  |
| --- | --- |
|  | SOC 2 Type II |
| ISO 27001 | ISO 27001 |
| HIPAA BAA | HIPAA BAA |
| GDPR | GDPR |
| CCPA | CCPA |
|  | DPF US-EU-UK-CH |

→ Security with benefits

### SSO & SCIM

Okta, Azure and Google SSO, with SCIM provisioning.

### Alerts

Sync issues to email, Slack, PagerDuty or WhatsApp, with retry and revert.

### Secure connections

Connects to your systems your way.

OAuth 2 SSH tunnelling SSL certificates IP whitelisting VPN gateway VPC peering

## Ship it this afternoon, scales on auto pilot

[Sign up with Supabase](https://app.stacksync.com/) [Request a demo](https://www.stacksync.com/book-a-demo)
