Contact Book a call

Operations & Internal Tools

Connect Retool and Supabase

Screens in Retool, data in a Postgres database you own and can expose safely.

Connects
Retool and Supabase
Data flows
4 automated, two-way where safe
Built with
Retool, Supabase Postgres, Supabase Row Level Security
Timeline
Live in 3 to 5 business days from scope
Owned by
You. Accounts, credentials and code in your name.

In short

Connecting Retool to Supabase puts your operational data in a Postgres database you own, with Retool as the screens on top. SBD uses Supabase to publish only what outside services need, as in a WhatsApp catalogue build, and as the landing point when a system outgrows Retool and moves to custom code.

The workflows

What runs between Retool and Supabase.

Each line is one automated workflow. An event in one tool, the checks and mapping in between, the action in the other, and the person who hears about it.

  1. Public catalogue without exposing internal data

  2. WhatsApp catalogue kept current

  3. Copy the Retool data before moving

  4. A cut-over with the old app kept read-only

Every record passes through the same stages

  1. 1Receive

    Webhook or polling from the source tool, with a signed payload and a replay log.

  2. 2Validate

    Required fields present, types right, record key found. Anything else goes to the review queue.

  3. 3Map

    Fields translated to the destination schema. Enumerations, currencies and dates normalised.

  4. 4Upsert

    Written against the record key, so a retry updates rather than duplicates.

  5. 5Confirm

    Outcome logged. Alert if the count goes quiet. Reconciliation run nightly.

Read this first

Why the obvious route breaks.

A one-step Zap connects Retool and Supabase in an afternoon. This is what goes wrong once real volume and real edge cases arrive.

What it costs today

The gap, as the team feels it and as the engineer sees it.

In the team

  • Outside services need data the team does not want exposed
  • Business rules live in queries nobody can review
  • A workflow stopped and nobody was told
  • Per-user cost climbs as more people need access
  • Fear of losing data blocks any move

Under the hood

  • IPv6 direct connections versus IPv4-only Retool
  • Prepared statements and pooler modes
  • Secret keys bypass Row Level Security
  • Default 1,000-row cap on Data API reads
  • Keys written into queries in plain text

What we wire up

The data flows.

  1. 01
    When

    The team edits a product in the Retool app

    Then

    Copy only the public fields to a Supabase catalogue table

  2. 02
    When

    The Supabase catalogue table changes

    Then

    Sync the Meta commerce catalogue from Supabase, never from the Retool database

  3. 03
    When

    A move off Retool is approved

    Then

    Run a one-way sync that copies the Retool database into Supabase on demand, while the old app keeps working

  4. 04
    When

    Cut-over day

    Then

    Final sync, the Retool app set to read-only, and users switched to the new app in one step

Used for

  • Public catalogue without exposing internal data
  • WhatsApp catalogue kept current
  • Copy the Retool data before moving
  • A cut-over with the old app kept read-only
  • Retool on a database you own
  • Supabase as a Retool resource
  • Moving off Retool to custom code
  • Row Level Security for outside access
  • Audit log on every table
  • Demo database seeded for reviewers

Built with

  • Retool
  • Supabase Postgres
  • Supabase Row Level Security
  • Retool Workflows
  • Meta commerce catalogue

Data map

What becomes what, and what it is keyed on.

In RetoolIn SupabaseMatched onDirection
Products, categories and prices in RetoolSupabase catalogue table, public fields onlyProduct IDone-way
Recipient lists in RetoolKept internal, not publishedList IDone-way
Retool database tablesSupabase schema with keys and RLSPrimary key per tableone-way
Retool app actions after cut-overSupabase tables with an audit logRow IDtwo-way

Field-level mapping is agreed in the blueprint and written into the runbook. Two-way rows carry loop protection so a write from the sync never re-triggers the sync.

In every build

What you get with the sync, whichever pair.

Under the hood

  • Upserts keyed on the record

    Every write is matched on the source ID. A retry or a re-fire updates the existing record instead of creating a second one.

  • Retries with backoff

    Rate limits and timeouts are retried with increasing delays, then parked for review, never dropped.

  • Idempotent, loop-safe writes

    Two-way flows carry a marker so a change written by the sync does not re-trigger the sync.

  • Reconciliation

    A nightly job compares counts and totals on both sides and lists any record that differs.

  • Audit log

    Every run records input, mapping result, action taken and who or what triggered it. Searchable by record.

  • Error monitoring

    Loud failures alert within minutes. Quiet ones are caught by an outcome count that alerts when it stops moving.

  • Review queue

    Records the sync is not sure about land in a screen a person can read, correct and release.

  • Scoped credentials

    One credential per connection, limited to the objects it needs, stored encrypted, in your account.

For the team

  • Slack or email notifications

    The alerts go to a named person, not a channel nobody reads. You choose Slack, email, WhatsApp or all three.

  • A runbook

    One document per integration: what it does, what each alert means, and what to do in the first ten minutes.

  • Training

    A live session with the people who will use the review queue, recorded for whoever joins later.

  • Handover

    Admin access, billing and code sit in accounts in your name from day one. If we leave, it keeps running.

  • Sixty days of hypercare

    The engineers who built it stay on call after go-live, fix what breaks and tune what the team asks for.

  • A monthly report

    Runs, records synced, exceptions handled, and what changed. Plain language, one page.

Security and your data

Where the data goes, and who holds the keys.

Accounts
Every platform account is created in your name. We work through managed access you can revoke.
Credentials
Stored encrypted in the orchestration layer. Scoped per connection. Rotated on handover.
Data in transit
TLS everywhere. Webhooks verified by signature before anything is processed.
Data at rest
Only what the sync needs. No copies of your customer data on our machines.
AI steps
Where an integration uses a model, it is through a business API that does not train on your data.
Retention
Run logs kept 90 days by default, adjustable. Payloads redacted of card and ID numbers.
Agreements
DPA and NDA on request. Regional rules covered in our privacy policy.

Keys and sensitive data

How API keys, tokens and personal data are handled.

Engineering decisions

Decided before the first workflow is written.

Proof

Where we have done this.

The offer

Hire SBD to connect Retool and Supabase.

A fixed scope, agreed in a discovery call, and live in three to five business days. Accounts in your name. The engineers who built it on call for sixty days after.

  • ScopeOne call to agree the flows, the fields and the owner. Written up the same day.
  • Build4 workflows, the data map above, validation, upserts, retries and reconciliation.
  • Go-liveSandbox first, then a switch. Day three to five from scope for most pairs; longer only if a tool needs approval, such as WhatsApp templates.
  • HandoverRunbook, training session, alerts to a named owner, admin access and code in your accounts.
  • AfterSixty days of hypercare, then a care plan or run it yourself.

Questions

What people ask about this pair.

Can we keep using Retool Database instead?

Yes. Retool Database is Postgres, and Retool gives admins a connection string to reach it from outside. We still put anything outside services read into a separate Supabase database, so the working data and the published data never share credentials.

Why Supabase rather than any Postgres host?

Any Postgres works for Retool. Supabase adds Row Level Security tied to its keys, an API for outside services, scheduled jobs and storage, which is what the catalogue and migration builds needed. The data stays in standard Postgres either way.

Does moving to Supabase mean leaving Retool?

No. Plenty of teams should stay on Retool. Putting the data in Supabase first means a later move is a rebuild of screens rather than a data rescue, which is what made our three moves off Retool in 2026 practical. Internal tools start from $3,000.

Do Supabase reads have a row limit?

The Supabase Data API returns at most 1,000 rows per request by default, and the limit is set in project settings. Anything that reads a whole table, such as a catalogue sync, pages through it rather than trusting one read.

Related

Retool and Supabase

Keep Retool for the screens. Own the database underneath.

Retool connected to Supabase the right way, safe publishing to outside services, and a path off Retool when the system outgrows it, built in three to five business days.

Start with a discovery call
Retool and Supabase logos joined by a plus sign
Retool and Supabase, connected by SBD.

Cookie preferences

Choose what this site may use on your device. You can change this at any time from “Cookie settings” in the footer.

Strictly necessary

Keep the site working and remember the choices you make here. These cannot be switched off, and none of them track you.

Always on
What this includes (4)
NameProvider PurposeDuration
sbd-consentThis site Remembers your cookie choices12 months
Vercel Web AnalyticsVercel Inc. Counts page views in aggregate. Sets no cookie and stores nothing on your deviceNone
ticker-dismissed, sbd-note-offThis site Remembers that you closed a notice or language tipUntil the tab closes
sbd-voice-resume, sbd-voice-prefillThis site Carries a voice conversation across pages, only if you start oneUntil the tab closes

Analytics

Tell us which pages are read and where visitors leave, so we can improve them. IP addresses are anonymised and nothing is used for advertising.

What this includes (2)
NameProvider PurposeDuration
_gaGoogle Analytics (Google LLC) Distinguishes visitors with a random ID13 months
_ga_FPXDMQPRV1Google Analytics (Google LLC) Keeps the session state for this site13 months

Functional

Embedded services that set their own cookies. Without them the site still works; you get a link to open the service instead.

What this includes (1)
NameProvider PurposeDuration
Booking calendarCal.com Inc. Shows live availability and books the call on the booking pageSet by Cal.com

Advertising

Not used. This site has no advertising, retargeting or social media tracking, and we never sell data.

Not used

Questions about your data: hello@smallbaydigital.com