# Supabase: insert row

The **Supabase: insert row** Point template inserts a row into a Supabase table through your project's REST API, using a service role key.

This point authenticates with its own service role key — it doesn't use any account-level integration configured elsewhere in Settings.

<Aside type="caution">
A service role key bypasses row-level security. If your table has RLS policies, don't use the project's anon key here — it doesn't have the rights to insert, and the request fails.
</Aside>

## Configure the point

1. Drag **Supabase: insert row** from the **Integrations** section of the left panel onto the canvas.
2. Double-click the point and enter a **Step Name**.
3. In **Project host**, enter your project's host from its URL, for example `abcdefghij.supabase.co`. Don't include `https://` or a trailing slash — Pushwoosh adds `https://` and the API path itself.
4. In **Service role key**, enter the key from **Project Settings > API > service_role**. It's stored masked, like a webhook secret header, and Supabase never returns it back to Pushwoosh.
5. In **Table**, enter the target table's name.
6. In **Columns**, add the column name mapped to the value to write — see [key/value fields](/product/customer-journey/journey-elements/integrations/#configuring-list-and-keyvalue-fields).
7. Click **Save**.

## Response

After the step runs, the new row's id is available in later steps as attribute **`supabase_row_id`** — use it the same way you'd use a [Webhook response attribute](/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables), for example to set a Tag with [Update user profile](/product/customer-journey/journey-elements/flow-controls/update-user-profile/#use-a-value-from-a-webhook-response).

A failed request drops the traveler from the journey — see [Errors and failed requests](/product/customer-journey/journey-elements/integrations/#errors-and-failed-requests).