Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

Supabase Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

Illustration · eksempeldata

Eksempel på synkronisering

Gennemse én post

Kilde

Supabase

Connectorstatus: Planlagt

Destination

Dit andet værktøj

Connectorstatus: Eget værktøj

KildefeltDestinationsfeltEksempelværdi
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Udkast
  2. Gennemse én post
  3. Godkend denne version

Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.

Forbind dit Supabase-projekt for at synkronisere databaseposter, autentifikationsdata, fillagringshændelser og realtidsændringer til automatisering af kundeengagement.

Oversigt

EgenskabVærdi
PlatformSupabase
KategoriDatabase og backend
OpsætningskompleksitetLet
Officiel integrationNej
Synkroniserede dataBrugere, tabeller, lagring, hændelser
Tilgængelige skills11
API-typeREST (PostgREST) + Realtime WebSocket
Officiel dokumentationsupabase.com/docs

Funktioner

  • Auto-genereret REST API, CRUD-operationer på enhver Postgres-tabel via PostgREST, uden kode
  • Auth-brugersynkronisering, Synkronisér Supabase Auth-brugere (e-mail, telefon, sociale logins) til din engagementplatform
  • Realtidsabonnementer, Lyt til INSERT-, UPDATE-, DELETE-hændelser på enhver tabel i realtid
  • Row Level Security, Al API-adgang respekterer Postgres RLS-politikker for sikre multi-tenant-data
  • Lagrings-integration, Spor filuploads og administrér assets på tværs af Storage-buckets
  • Edge Functions, Aktivér serverløse Deno-funktioner til brugerdefineret logik og webhooks
  • Fuldtekstsøgning, Udnyt Postgres’ fuldtekstsøgningsfunktioner via API’et

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. Et Supabase-projekt (app.supabase.com)
  2. Dit projekts API-URL og API-nøgler (findes under Settings → API)
  3. En Tajo-konto med API-adgang

API-nøgler

Supabase leverer to nøgler: anon (offentlig, respekterer RLS) og service_role (omgår RLS, administratoradgang). Brug service_role til serverside-integrationer og anon til klientside.

Autentifikation

Supabase bruger API-nøgle-autentifikation. Hver forespørgsel kræver headeren apikey og valgfrit en Authorization-bearer-token til brugerscoped adgang.

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>"

Konfiguration

Grundlæggende opsætning

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

Feltmapping

Knyt Supabase-tabelkolonner til engagementplatformens attributter:

Standardmappings for brugere

Parameter Type Description
email required
string

Bruger-e-mail fra Supabase Auth (unik identifikator)

phone optional
string

Telefonnummer til SMS-/WhatsApp-engagement

user_metadata.full_name optional
string

Visningsnavn fra Auth-brugermetadata

user_metadata.avatar_url optional
string

URL til profilbillede

created_at optional
timestamp

Tidsstempel for kontooprettelse

last_sign_in_at optional
timestamp

Seneste login til engagementscoring

app_metadata.provider optional
string

Autentifikationsudbyder (email, google, github m.fl.)

confirmed_at optional
timestamp

Tidsstempel for e-mailbekræftelse

Brugerdefineret 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

Supabase REST API genereres automatisk fra dit databaseskema på https://<ref>.supabase.co/rest/v1/.

EndpointMetodeBeskrivelse
/rest/v1/{table}GETForespørg rækker med filtrering, sortering, paginering
/rest/v1/{table}POSTIndsæt rækker (understøtter bulk og upsert)
/rest/v1/{table}PATCHOpdatér rækker, der matcher filtre
/rest/v1/{table}DELETESlet rækker, der matcher filtre
/rest/v1/rpc/{function}POSTKald en Postgres-funktion
/auth/v1/signupPOSTOpret en ny bruger
/auth/v1/token?grant_type=passwordPOSTLog ind med adgangskode
/auth/v1/userGETHent aktuel bruger
/auth/v1/admin/usersGETVis alle brugere (service_role)
/storage/v1/object/{bucket}/{path}POSTUpload fil
/storage/v1/object/list/{bucket}POSTVis filer i bucket
/functions/v1/{function_name}POSTAktivér Edge Function

Filtreringsoperatorer

OperatorBeskrivelseEksempel
eqLig med?status=eq.active
neqIkke lig med?status=neq.deleted
gt, gteStørre end?amount=gt.100
lt, lteMindre end?created_at=lt.2024-01-01
like, ilikeMønstermatch?name=ilike.%john%
inI array?status=in.(active,trial)
isNull-tjek?deleted_at=is.null

Hændelser

Auth-hændelser

HændelseTriggerAnvendelse
user.signed_upNy brugerregistreringVelkomstserie
user.signed_inBrugerloginAktivitetstracking
user.updatedProfilændringerDatasynkronisering
user.deletedKontosletningOprydnings-workflows

Databasehændelser (Realtime)

HændelseTriggerAnvendelse
INSERTNy række tilføjetNotifikationer om ny ordre/kunde
UPDATERække ændretWorkflows ved statusændring
DELETERække fjernetChurn-detektion

Webhook-hændelser

HændelseTriggerAnvendelse
auth.user.createdBrugertilmelding via webhookUdløs onboarding
storage.object.createdFil uploadetAsset-behandling

Kodeeksempler

Initialisér konnektor

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,
});

Synkronisér brugere til kontakter

// 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',
});

Lyt til realtidsændringer

// 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();

Forespørg og segmentér

// 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);

Ratebegrænsninger

API-ratebegrænsninger

Supabase-ratebegrænsninger afhænger af din plan. Free tier: 500 forespørgsler/minut. Pro: 1.000 forespørgsler/sekund. Kontakt Supabase for Enterprise-grænser.

PlanRatebegrænsningRealtime-forbindelser
Free500 req/min200 samtidige
Pro1.000 req/sek500 samtidige
Team2.000 req/sek1.000 samtidige
EnterpriseTilpassetTilpasset

Fejlfinding

Almindelige problemer

ProblemÅrsagLøsning
401 UnauthorizedUgyldig eller udløbet API-nøgleTjek API-nøgler i Supabase Dashboard → Settings → API
403 ForbiddenRLS-politik blokerer adgangBrug service_role-nøgle til administratoroperationer, eller tjek RLS-politikker
Ingen realtime-hændelserRealtime ikke aktiveret for tabelAktivér i Database → Replication → tilføj tabel til publication
Tomme query-resultaterRLS filtrerer alle rækkerVerificér, at RLS-politikker tillader den autentificerede rolle at læse
Storage-upload fejlerBucket-politikkerTjek, at Storage-bucket er sat til offentlig eller har korrekte RLS-politikker

Fejlfindingstilstand

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

Test forbindelse

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. Brug kun service_role-nøglen på serverside, Eksponér den aldrig i klientkode
  2. Aktivér RLS på alle tabeller, Selv med service_role bør du designe med RLS for defense in depth
  3. Brug Realtime til hændelsesdrevet synkronisering, Mere effektivt end polling for ændringer
  4. Batch-operationer, Brug bulk-inserts og in-filteret til operationer med højt volumen
  5. Map brugermetadata, Gem engagementrelevante felter i user_metadata under tilmelding
  6. Brug Edge Functions til webhooks, Behandl indgående webhooks med Supabase Edge Functions for lav latens

Sikkerhed

  • API-nøgle-autentifikation, Alle forespørgsler kræver gyldige API-nøgler
  • Row Level Security (RLS), Postgres-native adgangskontrol per række
  • JWT-verifikation, Auth-tokens er signerede JWT’er, der verificeres ved hver forespørgsel
  • SSL/TLS, Alle forbindelser krypteres under overførsel
  • SOC 2 Type II, Supabase er SOC 2-compliant
  • Netværksrestriktioner, Valgfri IP-allowlisting på betalte planer

Relaterede ressourcer

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

AI-assistent

Hej! Spørg mig om dokumentationen.

Denne side som Markdown: supabase.md

Indlæser Markdown …
Åbn i Claude Åbn i ChatGPT