Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

Supabase-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

Illustratie · voorbeelddata

Voorbeeld van synchronisatie

Eén record controleren

Bron

Supabase

Connectorstatus: Gepland

Bestemming

Je andere tool

Connectorstatus: Eigen tool

BronveldDoelveldVoorbeeldwaarde
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Opstellen
  2. Eén record controleren
  3. Deze versie goedkeuren

Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.

Verbind je Supabase-project om databaserecords, gebruikersauthenticatiedata, file storage-events en realtime wijzigingen te synchroniseren voor automatisering van klantbetrokkenheid.

Overzicht

EigenschapWaarde
PlatformSupabase
CategorieDatabase & Backend
SetupcomplexiteitEenvoudig
Officiële integratieNee
Gesynchroniseerde dataGebruikers, Tabellen, Storage, Events
Beschikbare skills11
API-typeREST (PostgREST) + Realtime WebSocket
Officiële docssupabase.com/docs

Functies

  • Auto-gegenereerde REST API, CRUD-operaties op elke Postgres-tabel via PostgREST, geen code nodig
  • Auth-gebruikersynchronisatie, Synchroniseer Supabase Auth-gebruikers (email, telefoon, social logins) naar je engagementplatform
  • Realtime subscriptions, Luister realtime naar INSERT-, UPDATE- en DELETE-events op elke tabel
  • Row Level Security, Alle API-toegang respecteert Postgres RLS-policies voor veilige multi-tenant data
  • Storage-integratie, Volg file uploads en beheer assets in Storage-buckets
  • Edge Functions, Roep serverless Deno-functies aan voor custom logic en webhooks
  • Full-text search, Maak gebruik van Postgres full-text search via de API

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Supabase-project (app.supabase.com)
  2. De API URL en API keys van je project (te vinden in Settings → API)
  3. Een Tajo-account met API-toegang

API Keys

Supabase biedt twee keys: anon (publiek, respecteert RLS) en service_role (omzeilt RLS, admin-toegang). Gebruik service_role voor server-side integraties en anon voor client-side.

Authenticatie

Supabase gebruikt API key-authenticatie. Elke request vereist de apikey-header en optioneel een Authorization bearer token voor user-scoped toegang.

Terminal window
# Using anon key (respects RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
-H "apikey: <SUPABASE_ANON_KEY>" \
-H "Authorization: Bearer <SUPABASE_ANON_KEY>"
# Using service_role key (bypasses RLS)
curl 'https://<project_ref>.supabase.co/rest/v1/customers' \
-H "apikey: <SUPABASE_SERVICE_ROLE_KEY>" \
-H "Authorization: Bearer <SUPABASE_SERVICE_ROLE_KEY>"

Configuratie

Basisinstelling

connectors:
supabase:
enabled: true
project_url: "https://xyzcompany.supabase.co"
api_key: "${SUPABASE_SERVICE_ROLE_KEY}"
# Data sync options
sync:
users: true
tables:
- customers
- orders
- products
storage: true
realtime: true
# Map Supabase Auth users to contacts
user_mapping:
email: email
phone: SMS
user_metadata.full_name: FIRSTNAME
created_at: SIGNUP_DATE

Veldmapping

Map Supabase-tabelkolommen naar attributen van het engagementplatform:

Standaard gebruikersmappings

Parameter Type Description
email required
string

Gebruikers-e-mail uit Supabase Auth (unieke identifier)

phone optional
string

Telefoonnummer voor SMS/WhatsApp-engagement

user_metadata.full_name optional
string

Displaynaam uit Auth user metadata

user_metadata.avatar_url optional
string

URL van profielafbeelding

created_at optional
timestamp

Tijdstempel van account-aanmaak

last_sign_in_at optional
timestamp

Meest recente login voor engagement-scoring

app_metadata.provider optional
string

Auth-provider (email, google, github, etc.)

confirmed_at optional
timestamp

Tijdstempel van e-mailbevestiging

Custom tabelmapping

table_mapping:
customers:
# Column → Attribute mapping
email: email
full_name: FIRSTNAME
company: COMPANY
plan: SUBSCRIPTION_PLAN
mrr: MONTHLY_REVENUE
created_at: SIGNUP_DATE
orders:
# Track as events
sync_as: events
event_name: "order_placed"
properties:
total: amount
status: order_status
items: line_items

API-endpoints

De Supabase REST API wordt automatisch gegenereerd vanuit je databaseschema op https://<ref>.supabase.co/rest/v1/.

EndpointMethodBeschrijving
/rest/v1/{table}GETRijen queryen met filtering, ordering, paginering
/rest/v1/{table}POSTRijen invoegen (ondersteunt bulk en upsert)
/rest/v1/{table}PATCHRijen bijwerken die aan filters voldoen
/rest/v1/{table}DELETERijen verwijderen die aan filters voldoen
/rest/v1/rpc/{function}POSTEen Postgres-functie aanroepen
/auth/v1/signupPOSTEen nieuwe gebruiker aanmaken
/auth/v1/token?grant_type=passwordPOSTInloggen met wachtwoord
/auth/v1/userGETHuidige gebruiker ophalen
/auth/v1/admin/usersGETAlle gebruikers opvragen (service_role)
/storage/v1/object/{bucket}/{path}POSTBestand uploaden
/storage/v1/object/list/{bucket}POSTBestanden in bucket opvragen
/functions/v1/{function_name}POSTEdge Function aanroepen

Filteringsoperatoren

OperatorBeschrijvingVoorbeeld
eqGelijk aan?status=eq.active
neqNiet gelijk aan?status=neq.deleted
gt, gteGroter dan?amount=gt.100
lt, lteKleiner dan?created_at=lt.2024-01-01
like, ilikePattern match?name=ilike.%john%
inIn array?status=in.(active,trial)
isNull check?deleted_at=is.null

Events

Auth-events

EventTriggerUse case
user.signed_upNieuwe gebruikersregistratieWelkomstreeks
user.signed_inGebruikersloginActiviteitstracking
user.updatedProfielwijzigingenDatasynchronisatie
user.deletedAccount verwijderdCleanup-workflows

Database-events (Realtime)

EventTriggerUse case
INSERTNieuwe rij toegevoegdNotificaties voor nieuwe order/klant
UPDATERij gewijzigdWorkflows voor statuswijziging
DELETERij verwijderdChurn-detectie

Webhook-events

EventTriggerUse case
auth.user.createdGebruikersregistratie via webhookOnboarding triggeren
storage.object.createdBestand geüploadAsset-verwerking

Codevoorbeelden

Connector initialiseren

import { TajoClient } from '@tajo/sdk';
import { createClient } from '@supabase/supabase-js';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
});
// Connect Supabase project
await tajo.connectors.connect('supabase', {
projectUrl: process.env.SUPABASE_URL,
serviceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
});

Gebruikers synchroniseren naar contacten

// Sync all Supabase Auth users as contacts
await tajo.connectors.sync('supabase', {
type: 'full',
resources: ['users'],
});
// Incremental sync (new/changed users only)
await tajo.connectors.sync('supabase', {
type: 'incremental',
resources: ['users'],
since: '2024-01-01T00:00:00Z',
});

Realtime wijzigingen beluisteren

// Subscribe to new orders for engagement triggers
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_SERVICE_ROLE_KEY
);
supabase
.channel('orders')
.on('postgres_changes',
{ event: 'INSERT', schema: 'public', table: 'orders' },
async (payload) => {
// Forward to Tajo as an event
await tajo.events.track({
email: payload.new.customer_email,
event: 'order_placed',
properties: {
order_id: payload.new.id,
total: payload.new.total,
items: payload.new.line_items,
},
});
}
)
.subscribe();

Queryen en segmenteren

// Query customers by plan for targeted campaigns
const { data: proUsers } = await supabase
.from('customers')
.select('email, full_name, plan, mrr')
.eq('plan', 'pro')
.gt('mrr', 100)
.order('mrr', { ascending: false });
// Sync to a Brevo list for campaign targeting
await tajo.lists.addContacts(PRO_LIST_ID, proUsers);

Rate limits

API-rate limits

Supabase-rate limits hangen af van je plan. Free tier: 500 requests/minuut. Pro: 1.000 requests/seconde. Neem contact op met Supabase voor Enterprise-limieten.

PlanRate LimitRealtime-verbindingen
Free500 req/min200 gelijktijdig
Pro1.000 req/s500 gelijktijdig
Team2.000 req/s1.000 gelijktijdig
EnterpriseCustomCustom

Probleemoplossing

Veelvoorkomende problemen

ProbleemOorzaakOplossing
401 UnauthorizedOngeldige of verlopen API keyControleer API keys in Supabase Dashboard → Settings → API
403 ForbiddenRLS-policy blokkeert toegangGebruik service_role-key voor admin-operaties of controleer RLS-policies
Geen realtime eventsRealtime niet ingeschakeld voor tabelSchakel in via Database → Replication → tabel toevoegen aan publication
Lege query-resultatenRLS filtert alle rijen wegVerifieer dat RLS-policies de geauthenticeerde rol leestoegang geven
Storage-upload misluktBucket-policiesControleer of Storage-bucket publiek is of correcte RLS-policies heeft

Debugmodus

connectors:
supabase:
debug: true
log_level: verbose
log_queries: true
log_realtime: true

Verbinding testen

Terminal window
tajo connectors test supabase
# ✓ API connection successful
# ✓ Auth endpoint accessible
# ✓ Tables readable (12 tables found)
# ✓ Storage accessible (3 buckets)
# ✓ Realtime connection established
# ✓ Edge Functions available (4 functions)

Best practices

  1. Gebruik service_role-key alleen server-side, Stel deze nooit bloot in client-code
  2. Schakel RLS in op alle tabellen, Ontwerp ook met service_role volgens RLS voor defense in depth
  3. Gebruik Realtime voor event-gedreven sync, Efficiënter dan pollen voor wijzigingen
  4. Batch-operaties, Gebruik bulk inserts en de in-filter voor operaties met hoog volume
  5. Map user metadata, Sla engagement-relevante velden op in user_metadata tijdens signup
  6. Gebruik Edge Functions voor webhooks, Verwerk binnenkomende webhooks met Supabase Edge Functions voor lage latency

Beveiliging

  • API key-authenticatie, Alle requests vereisen geldige API keys
  • Row Level Security (RLS), Postgres-native toegangscontrole per rij
  • JWT-verificatie, Auth-tokens zijn gesigneerde JWT’s, geverifieerd bij elke request
  • SSL/TLS, Alle verbindingen versleuteld tijdens transport
  • SOC 2 Type II, Supabase is SOC 2-compliant
  • Netwerkrestricties, Optionele IP-allowlisting op betaalde plannen

Gerelateerde bronnen

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

AI-assistent

Hallo! Stel me vragen over de documentatie.

Deze pagina als Markdown: supabase.md

Markdown laden…
Openen in Claude Openen in ChatGPT