Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Supabase

Create, update, delete, search rows, upload files, and make custom API calls to Supabase.

Data and storageCredentials form8 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (8)
  4. execute_sql
  5. create_row
  6. custom_api_call
  7. delete_rows
  8. search_rows
  9. update_row
  10. upload-file
  11. upsert_row
  12. Env keys
  13. Details

Connect

Auth type: Credentials form (custom_auth). Fill in the fields the provider needs (listed below). They are stored encrypted in the vault.

An easy-connect button is offered too: Sign in with Supabase.

FieldTypeDescription
urlrequiredtextYour Supabase project URL (e.g., https://your-project-ref.supabase.co)
apiKeyrequiredsecretService Role Key (for full access) or Anonymous Key (for read-only)
  • In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
  • For every project in a workspace: Workspace settings, Integrations.
  • Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.

Call it from a workflow

Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.

Native workflow
// .workflow.js (native ctx)
export async function run(ctx) {
  const res = await ctx.integrations.invoke("supabase", "execute_sql", {
    "sql": "<sql query>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Supabase answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "supabase-execute-sql",
  name: "Supabase: Execute SQL",
  description: "Calls Supabase when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("supabase", {
      "action": "execute_sql",
      "sql": "<sql query>"
    }) as { success: boolean; error?: string };
    if (!res.success) throw new Error(res.error);
  },
});
From an app (connector proxy)
curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/supabase/execute_sql" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"sql":"<sql query>"}}'

Actions

execute_sqlin catalogbuilt in

Execute SQL. Execute raw SQL against the Supabase database (CREATE TABLE, ALTER, INSERT, SELECT, etc.). Uses the Supabase Management API via OAuth when available, or falls back to the PostgREST rpc endpoint.

InputTypeDescription
sqlrequiredtextThe SQL statement to execute

create_rowin catalog

Create Row. Create a new row in a table

InputTypeDescription
table_namerequiredid (picked from your account)Select a table from your database
row_datarequiredobject (depends on other props)Enter the data for each column
return_rowoptionalbooleanWhether to return the created row

custom_api_callin catalog

Custom API Call. Make a custom API call to a specific endpoint

InputTypeDescription
urlrequiredobject (depends on other props)url
methodrequiredone of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD"Method
headersrequiredobjectAuthorization headers are injected automatically from your connection.
queryParamsrequiredobjectQuery Parameters
body_typeoptionalone of "none" | "json" | "form_data" | "raw"Body Type
bodyoptionalobject (depends on other props)Body
response_is_binaryoptionalbooleanEnable for files like PDFs, images, etc.
failsafeoptionalbooleanNo Error on Failure
timeoutoptionalnumberTimeout (in seconds)
followRedirectsoptionalbooleanFollow redirects

delete_rowsin catalog

Delete Rows. Remove rows matching filter criteria from a table

InputTypeDescription
table_namerequiredid (picked from your account)Select a table from your database
filter_typerequiredone of "eq" | "neq" | "in" | "gt" | "gte" | "lt" | "lte" | "is_null" | "is_not_null" | "like" | "ilike"How to filter rows for deletion
filter_columnrequiredid (picked from your account)Select the column to filter on
filter_valueoptionaltextThe value to match against (not used for null checks)
filter_valuesoptionalarrayList of values for "in" filter type
count_deletedoptionalbooleanWhether to count the number of deleted rows
return_deletedoptionalbooleanWhether to return the deleted rows data

search_rowsin catalog

Search Rows. Search for rows in a table with filters and pagination

InputTypeDescription
table_namerequiredid (picked from your account)Select a table from your database
columnsoptionaltextColumns to return (comma-separated). Leave empty to return all columns.
filtersoptionalarrayList of filters to apply
pageoptionalnumberPage number for pagination (starts from 1)
pageSizeoptionalnumberNumber of records per page (max 1000)
countOptionoptionalone of "exact" | "planned" | "estimated"Algorithm to use for counting rows

update_rowin catalog

Update Row. Update rows in a table based on filter criteria

InputTypeDescription
table_namerequiredid (picked from your account)Select a table from your database
filter_typerequiredone of "eq" | "in" | "gt"How to identify rows to update
filter_columnrequiredid (picked from your account)Select the column to filter on
filter_valueoptionaltextThe value to match against (not used for "in list" filter)
filter_valuesoptionalarrayList of values for "in list" filter type
update_datarequiredobject (depends on other props)Select which columns to update (auto-generated fields excluded)
count_updatedoptionalbooleanWhether to count the number of updated rows
return_updatedoptionalbooleanWhether to return the updated rows data

upload-filein catalog

Upload File. Upload a file to Supabase Storage

InputTypeDescription
filePathrequiredtextFile path
bucketrequiredtextBucket
filerequiredfileBase64 or URL

upsert_rowin catalog

Upsert Row. Insert or update a row in a table

InputTypeDescription
table_namerequiredid (picked from your account)Select a table from your database
on_conflictrequiredid (picked from your account)Select the unique column to determine duplicates (required for upsert to work)
row_datarequiredobject (depends on other props)Enter data for the row (conflict detection handled separately)
count_upsertedoptionalbooleanWhether to count the number of upserted rows
return_upsertedoptionalbooleanWhether to return the upserted rows data

Env keys

When connected, these credential fields are exposed to the project's runtime as environment variables (Postgres DB + auth + storage (Supabase).). Server keys never reach the browser.

VariableFieldWhere
SUPABASE_URLurlserver only
SUPABASE_SERVICE_ROLE_KEYserviceRoleKeyserver only
VITE_SUPABASE_URLurlbrowser (VITE_)
VITE_SUPABASE_ANON_KEYanonKeybrowser (VITE_)

Details

Id
supabase
Category
Data and storage
Tags
database, postgres, backend-as-a-service, open-source
Package
@activepieces/piece-supabase@0.1.4
Tier
Built in

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (8)
  4. execute_sql
  5. create_row
  6. custom_api_call
  7. delete_rows
  8. search_rows
  9. update_row
  10. upload-file
  11. upsert_row
  12. Env keys
  13. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use