ActionSupabaseUpdated September 2026

How do I upsert a row in Supabase?

Short answer: You can upsert row in Supabase by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Supabase Upsert Row action to a workflow, map its 3 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.

Upsert Row in Supabase — start free
Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Table Name
table
stringRequiredTable Name. Example: users
Row Data (JSON)
data
stringRequiredMust include the primary key or unique column for conflict resolution
On Conflict Column
on_conflict
stringOptionalColumn to match for upsert (typically the primary key)
Sample request
{
"table": "e.g. users",
"data": "{\"id\": 1, \"name\": \"John\", \"email\": \"john@example.com\"}",
"on_conflict": "e.g. id"
}
Returns
[
{
"id": 1,
"name": "John",
"email": "john@example.com"
}
]

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Upsert Row.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Upsert Row.

What does the Upsert Row action do in Supabase?
Inserts a row, or updates it if a conflict occurs on the primary key or a unique constraint. The right tool for idempotent sync flows from another source-of-truth system.
What inputs does Upsert Row require?
Required: Table Name, Row Data (JSON). Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Supabase returns an error?
The run history shows the failed step with its input and the error message Supabase returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Upsert Row support batch operations?
Run Upsert Row inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within Supabase's rate limits.
More actions

Other Supabase actions.

Upsert Row in Supabase — start free