DatriseAI-first ETL

Twenty CRM to Supabase Integration

AI-first ETL from Twenty CRM into Supabase. Governed entities, incremental sync, typed landing tables.

How Datrise loads Twenty CRM into Supabase

Datrise syncs Twenty CRM's people, companies, opportunities, notes, tasks, and custom objects into Supabase as a typed table per source entity in your Supabase Postgres. Flexible or custom fields land in jsonb columns, and timestamps such as created, updated, and status changes are typed as timestamptz.

Sync is incremental: Datrise uses a watermark on updated-at, applied with INSERT … ON CONFLICT DO UPDATE, so re-runs update only what changed. Optional declarative partitioning for high-volume tables. Datrise lands into a dedicated schema and leaves row-level security to you, so synced tables don't inherit public access by accident.

Ideal for app builders who want CRM data alongside their Supabase product data.

Endpoints

Twenty CRM: Open-source CRM with a customizable object model.

Supabase: Postgres platform with auth, storage, and realtime APIs.

How Twenty CRM entities map to Supabase

Twenty CRM entitySupabase objectNotes
peopletwenty_peopleid PK · custom fields → jsonb columns
companiestwenty_companiesid PK · linked to twenty_people
opportunitiestwenty_opportunitiesid PK · linked to twenty_people
notestwenty_notesid PK · linked to twenty_people

FAQ

How does Datrise handle Twenty CRM's custom fields in Supabase?

Flexible values are stored as jsonb columns, so new fields don't require a migration; strongly-typed fields — dates, numbers, and references — are promoted to native Supabase types.

How does the Twenty CRM to Supabase sync stay up to date?

It runs incrementally — Datrise uses a watermark on updated-at, applied with INSERT … ON CONFLICT DO UPDATE.

Related pipelines

Early access

Connect Twenty CRM to Supabase the easy way

Skip brittle scripts and manual exports. Join the waitlist to get a guided setup, AI-assisted mapping, and reliable incremental sync for this integration.