Supabase · New row — When a row is added to a table in your Supabase project — checks a table on a schedule. Each row past the highest value it has seen in a column that only grows — the id, or created_at — starts a run, with the row's columns by their names.

Who can do this

Workspace Admins and Editors, on every plan.

Before you start

  • A Supabase connection in this workspace — see Connect Supabase. With the anon key, the trigger sees only rows your policies allow.
  • A column that only grows as rows are added: an identity id is best; created_at works too.

Steps

  1. Open the workflow in the designer and open the trigger picker — Browse all triggers, or Change how it starts on an existing trigger.
  2. Select New row — Supabase. Or type Supabase in Search triggers.
  3. In Connection, choose your Supabase connection, then the Table.
  4. In Increasing column, choose the id, or created_at.
  5. Under Checks, choose Every 5 minutes or Every 15 minutes.
  6. Open the Output tab and select Fetch a sample. The row with the highest value comes in, and Test run starts with it.
  7. Add the steps, test, then Publish.

What happens next

  • The first check after publishing only notes the highest value. Rows already there never start a run.
  • Each new row starts one run, with each column by its name — {{ trigger.guest_name }}.
  • Up to 100 new rows start runs in one check, lowest value first; the rest wait for the next check.
  • A check that finds nothing starts no run and costs nothing.

Good to know

  • Every 5 minutes is for paid plans. On Free it checks every 15 minutes whatever is chosen.
  • An id is safer than a time. Two rows written at the same moment share a created_at; one that arrives after the check that took the other is missed.
  • Updated rows do not start runs. Only rows past the highest value seen.
  • Runs start in Production and count in the month's allowance.

If something goes wrong

What you see Why What to do
Table is empty. Choose one from the list. or Increasing column is empty. Choose the id, or a created time. One of them is not chosen. Choose both.
Not checking since 10:45 with Supabase refused: … The key stopped working, or a policy now hides the table. Reconnect, then Check now. See When an app trigger stops checking.
A row was missed The column is a time and two rows shared it. Use the id as the increasing column.