Supabase Insert

Supabase Insert

Certified

Insert rows into a Supabase table

POST rows via Supabase REST. Uses Prefer: return=representation; select defaults to *. Upserts when onConflict is set, with resolution defaulting to merge-duplicates.

yaml
type: io.kestra.plugin.supabase.Insert

Insert a single record.

yaml
id: supabase_insert_single
namespace: company.team

tasks:
  - id: insert_user
    type: io.kestra.plugin.supabase.Insert
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      name: "John Doe"
      email: "john@example.com"
      status: "active"

Insert multiple records.

yaml
id: supabase_insert_multiple
namespace: company.team

tasks:
  - id: insert_users
    type: io.kestra.plugin.supabase.Insert
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      - name: "John Doe"
        email: "john@example.com"
        status: "active"
      - name: "Jane Smith"
        email: "jane@example.com"
        status: "active"

Insert with conflict resolution (upsert).

yaml
id: supabase_upsert
namespace: company.team

tasks:
  - id: upsert_user
    type: io.kestra.plugin.supabase.Insert
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      id: 123
      name: "John Doe Updated"
      email: "john.updated@example.com"
    onConflict: "id"
    resolution: "merge-duplicates"
Properties

Supabase API key

API key sent in Authorization and apikey headers; use service_role for writes and elevated policies, anon key is limited.

Rows to insert

Single object or array of objects; rendered then sent as JSON

Target table name

Supabase table to insert into; value is rendered before the request

Supabase project URL

Base project URL (e.g., https://your-project.supabase.com); the REST path /rest/v1 is appended automatically.

Conflict target columns

Comma-separated column names used for upsert conflict detection

Default{ "followRedirects": "true", "allowFailed": "false", "enabledTcpExtendedKeepAlive": "true", "defaultCharset": "UTF-8" }

HTTP request options

Definitions
allowFailedbooleanstring
Defaultfalse

If true, allow a failed response code (response code >= 400)

allowedResponseCodesarray
SubTypeinteger

List of response code allowed for this request

auth

The authentication to use.

type*Requiredobject
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*Requiredobject
tokenstring

The token for bearer token authentication.

type*Requiredobject
passwordstring

The password for HTTP Digest authentication.

usernamestring

The username for HTTP Digest authentication.

basicAuthPasswordDeprecatedstring

The password for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

basicAuthUserDeprecatedstring

The username for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

connectTimeoutDeprecatedstring
Formatduration

The time allowed to establish a connection to the server before failing.

connectionPoolIdleTimeoutDeprecatedstring
Formatduration

The time an idle connection can remain in the client's connection pool before being closed.

defaultCharsetstring
DefaultUTF-8

The default charset for the request.

enabledTcpExtendedKeepAlivebooleanstring
Defaulttrue

Whether to enable TCP Keep-Alive extended socket options (TCP_KEEPIDLE, TCP_KEEPINTERVAL, TCP_KEEPCOUNT).

Set to false when running on Windows workers, as these extended socket options are not supported by the Windows JDK and will cause connection failures.

followRedirectsbooleanstring
Defaulttrue

Whether redirects should be followed automatically.

logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED

The log level for the HTTP client.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

maxContentLengthDeprecatedinteger

The maximum content length of the response.

proxy

The proxy configuration.

addressstring

The address of the proxy server.

passwordstring

The password for proxy authentication.

portintegerstring

The port of the proxy server.

typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

usernamestring

The username for proxy authentication.

proxyAddressDeprecatedstring

The address of the proxy server.

proxyPasswordDeprecatedstring

The password for proxy authentication.

proxyPortDeprecatedinteger

The port of the proxy server.

proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

proxyUsernameDeprecatedstring

The username for proxy authentication.

readIdleTimeoutDeprecatedstring
Formatduration

The time allowed for a read connection to remain idle before closing it.

readTimeoutDeprecatedstring
Formatduration

The maximum time allowed for reading data from the server before failing.

ssl

The SSL request options

insecureTrustAllCertificatesbooleanstring

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

timeout

The timeout configuration.

connectTimeoutstring

The time allowed to establish a connection to the server before failing.

readIdleTimeoutstring
DefaultPT5M

The time allowed for a read connection to remain idle before closing it.

Reference (ref) of the pluginDefaults to apply to this task.

Defaultmerge-duplicates

Conflict resolution strategy

How to handle conflicts: merge-duplicates (default) or ignore-duplicates

Defaultpublic

Database schema

Postgres schema for the request; defaults to public and adds Accept-Profile/Content-Profile headers when set.

Columns returned

Comma-separated columns returned from inserted rows; defaults to *

HTTP status code

SubTypearray

Response headers

Number of rows inserted

SubTypeobject

Inserted rows returned

Raw response body

Formaturi

Executed request URI