Whalesync
Two-way sync your Sanity documents with Airtable, Google Sheets, Notion, Supabase, Postgres, and more. Every document type in your deployed Studio schema becomes a table, drafts included. Hosted service, nothing to install in your Studio. 7-day free trial, no credit card.
By Whalesync
Whalesync
Two-way sync your Sanity content with Notion, Google Sheets, Airtable, Supabase, and more.
Start a free trial · Docs · Pricing
Run your Sanity content from the tools your team already uses
Whalesync keeps your Sanity datasets in two-way sync with Notion, Google Sheets, Airtable, Supabase, Postgres, HubSpot, Attio, and more. Every document type in your deployed Studio schema becomes a table and each document a row. Change a record on either side and the other side updates within seconds. Setup takes a few minutes with no code, and there is nothing to install in your Studio. 7-day free trial, no credit card.
Common setups
- Notion and Airtable: plan and write your marketing in a Notion database or Airtable base, add AI-generated fields, then publish it to Sanity.
- Google Sheets: imports, bulk edits, and a content calendar the whole team can see and edit.
- Supabase and Postgres: directories, listings, and product data from your database published through Sanity, or your Sanity content in your database for search and reporting.
- HubSpot, Attio, or Salesforce: CRM data published to the site.
Built for Sanity
Whalesync reads your document types from the schema your Studio deploys, nested objects like SEO settings, references between types, dates, slugs, and select lists included.
References. They sync as links to the related document, not just as text.
Nested objects. An seo object shows up as fields like seo / Meta title, so each part can be mapped on its own.
Drafts and publishing. A document's published version and its draft come through as one record, with a Status field: Draft, Published, or Changed (live, with unpublished edits). Set Status from your other app to publish, hold edits in a draft for review, or take a page down.
Rich text, images, and files. Portable Text syncs both ways as HTML, image and code blocks included. Images and files sync as CDN URLs, and writing a URL uploads it to Sanity.
Instant updates. Changes in Sanity come through on webhooks as they happen. A background pass picks up anything a webhook missed.
Auto-create tables. Point a sync at a Notion page or an empty Supabase database and Whalesync creates a table for every document type, with the fields to match.
Sync with confidence
Whalesync wants you to feel in control of your sync and protect your data. Deletes wait for your explicit approval. Sync a filtered subset of your data instead of a whole document type. Pause your sync at any time and it won't miss any changes when you resume. SOC 2 Type II certified and GDPR compliant.
Keep a read-only copy of your content with Live Export
If you only need a read-only copy of your Sanity content in Notion, Google Sheets, Airtable, or Supabase, Whalesync's Live Export feature can help. It creates the tables and refreshes them on a schedule, anywhere from every 10 minutes to once a day. Sanity stays the source of truth.
Build on top of your sync
MCP server. Connect Whalesync to Claude, ChatGPT, Cursor, or VS Code and have an agent set up, map, and monitor your Sanity syncs. Get your agent's help solving any issues with your data.
REST API. Create, monitor, pause, and retry syncs and Live Exports from your own code.
Sync webhooks. Whalesync can send an HTTP POST to your endpoint each time it creates, updates, or deletes a document in Sanity. Use it to trigger a site rebuild, clear a cache, or post to Slack.
Get started
Before you start, you need:
- A Sanity project with your Studio schema deployed. Run
npx sanity schema deployin your Studio project (Studio 3.88 or newer). - An account in the app you want to sync with, such as Notion, Google Sheets, or Airtable.
Steps:
- Go to app.whalesync.com/install/sanity and sign in, or create an account (7-day free trial, no credit card).
- In sanity.io/manage, open your project, go to API → Tokens, and add a token with the Editor role. Paste it into Whalesync.
- Pick the dataset to sync.
- Pick the other app you want to sync with and connect it.
- Select the document types you want to sync. Match them with existing tables in the other app, or have Whalesync create new ones.
- Check the field mapping, including Status, and click Save and continue.
- Click Activate sync. Whalesync will copy your existing documents, then keeps both sides in sync.
Full guide: docs.whalesync.com/connectors/sanity
Good to know
- The deployed schema is the schema. When you change your Studio schema, deploy it again and refresh the schema in Whalesync so the new fields appear.
- Every mapping includes Status. Whalesync uses it to tell an edit meant for the live document from one meant for a pending draft.
- References to more than one document type sync one way, out of Sanity.
- Content Releases are not synced.
Learn more
Whalesync is an independent product and is not affiliated with or endorsed by Sanity, Notion, Google, Airtable, Supabase, or any other service it connects to.