Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

Supabase-koppling

Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.

Illustration · exempeldata

Exempel på synkronisering

Granska en post

Källa

Supabase

Kopplingens status: Planerad

Mål

Ditt andra verktyg

Kopplingens status: Eget verktyg

KällfältMålfältExempelvärde
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Utkast
  2. Granska en post
  3. Godkänn den här versionen

Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.

Anslut ditt Supabase-projekt för att synka databasposter, data för användarautentisering, fillagringshändelser och realtidsändringar för automation av kundengagemang.

Översikt

EgenskapVärde
PlattformSupabase
KategoriDatabas & Backend
InstallationskomplexitetEnkel
Officiell integrationNej
Data som synkasAnvändare, tabeller, lagring, händelser
Tillgängliga skills11
API-typREST (PostgREST) + Realtime WebSocket
Officiella dokumentsupabase.com/docs

Funktioner

  • Autogenererat REST API, CRUD-operationer på vilken Postgres-tabell som helst via PostgREST, ingen kod krävs
  • Synk av Auth-användare, Synka Supabase Auth-användare (e-post, telefon, sociala inloggningar) till din engagemangsplattform
  • Realtidsprenumerationer, Lyssna på INSERT, UPDATE, DELETE-händelser på vilken tabell som helst i realtid
  • Row Level Security, All API-åtkomst respekterar Postgres RLS-policyer för säker data med flera tenants
  • Lagringsintegration, Spåra filuppladdningar och hantera tillgångar över Storage-buckets
  • Edge Functions, Anropa serverlösa Deno-funktioner för anpassad logik och webhooks
  • Fulltextsökning, Utnyttja Postgres fulltextsökningsfunktioner via API:et

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett Supabase-projekt (app.supabase.com)
  2. Ditt projekts API-URL och API-nycklar (finns i Settings → API)
  3. Ett Tajo-konto med API-åtkomst

API-nycklar

Supabase tillhandahåller två nycklar: anon (publik, respekterar RLS) och service_role (kringgår RLS, adminåtkomst). Använd service_role för serversideintegrationer och anon för klientsida.

Autentisering

Supabase använder API-nyckelautentisering. Varje förfrågan kräver apikey-headern och valfritt en Authorization-bearer-token för användarscoped åtkomst.

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

Grundinställning

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

Fältmappning

Mappa Supabase-tabellkolumner till engagemangsplattformsattribut:

Standardmappningar för användare

Parameter Type Description
email required
string

Användarens e-post från Supabase Auth (unik identifierare)

phone optional
string

Telefonnummer för SMS/WhatsApp-engagemang

user_metadata.full_name optional
string

Visningsnamn från Auth-användarens metadata

user_metadata.avatar_url optional
string

URL till profilbild

created_at optional
timestamp

Tidsstämpel för kontoskapande

last_sign_in_at optional
timestamp

Senaste inloggning för engagemangspoäng

app_metadata.provider optional
string

Auth-leverantör (email, google, github, etc.)

confirmed_at optional
timestamp

Tidsstämpel för e-postbekräftelse

Mappning av anpassade tabeller

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 genereras automatiskt från ditt databasschema på https://<ref>.supabase.co/rest/v1/.

EndpointMetodBeskrivning
/rest/v1/{table}GETFråga rader med filtrering, sortering, sidindelning
/rest/v1/{table}POSTInfoga rader (stöder bulk och upsert)
/rest/v1/{table}PATCHUppdatera rader som matchar filter
/rest/v1/{table}DELETERadera rader som matchar filter
/rest/v1/rpc/{function}POSTAnropa en Postgres-funktion
/auth/v1/signupPOSTSkapa en ny användare
/auth/v1/token?grant_type=passwordPOSTLogga in med lösenord
/auth/v1/userGETHämta aktuell användare
/auth/v1/admin/usersGETLista alla användare (service_role)
/storage/v1/object/{bucket}/{path}POSTLadda upp fil
/storage/v1/object/list/{bucket}POSTLista filer i bucket
/functions/v1/{function_name}POSTAnropa Edge Function

Filtreringsoperatorer

OperatorBeskrivningExempel
eqLika med?status=eq.active
neqInte lika med?status=neq.deleted
gt, gteStörre än?amount=gt.100
lt, lteMindre än?created_at=lt.2024-01-01
like, ilikeMönstermatchning?name=ilike.%john%
inI array?status=in.(active,trial)
isNull-kontroll?deleted_at=is.null

Händelser

Auth-händelser

HändelseUtlösareAnvändningsfall
user.signed_upNy användarregistreringVälkomstserie
user.signed_inAnvändarinloggningAktivitetsspårning
user.updatedProfiländringarDatasynk
user.deletedKontoraderingRensningsarbetsflöden

Databashändelser (Realtime)

HändelseUtlösareAnvändningsfall
INSERTNy rad tillagdNotifieringar för ny beställning/kund
UPDATERad ändradArbetsflöden för statusändring
DELETERad borttagenChurnupptäckt

Webhook-händelser

HändelseUtlösareAnvändningsfall
auth.user.createdAnvändarregistrering via webhookUtlös onboarding
storage.object.createdFil uppladdadTillgångsbearbetning

Kodexempel

Initiera kopplingen

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

Synka användare till 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',
});

Lyssna på realtidsändringar

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

Fråga och segmentera

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

Hastighetsbegränsningar

API-hastighetsbegränsningar

Supabases hastighetsbegränsningar beror på din plan. Free tier: 500 förfrågningar/minut. Pro: 1 000 förfrågningar/sekund. Kontakta Supabase för Enterprise-gränser.

PlanHastighetsbegränsningRealtidsanslutningar
Free500 förfrågningar/min200 samtidiga
Pro1 000 förfrågningar/sek500 samtidiga
Team2 000 förfrågningar/sek1 000 samtidiga
EnterpriseAnpassadAnpassad

Felsökning

Vanliga problem

ProblemOrsakLösning
401 UnauthorizedOgiltig eller utgången API-nyckelKontrollera API-nycklar i Supabase Dashboard → Settings → API
403 ForbiddenRLS-policy blockerar åtkomstAnvänd service_role-nyckel för adminoperationer, eller kontrollera RLS-policyer
Inga realtidshändelserRealtime ej aktiverat för tabellAktivera i Database → Replication → lägg till tabell i publikation
Tomma frågeresultatRLS filtrerar bort alla raderVerifiera att RLS-policyer tillåter den autentiserade rollen att läsa
Lagringsuppladdning misslyckasBucket-policyerKontrollera att Storage-bucket är satt till publik eller har korrekta RLS-policyer

Felsökningsläge

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

Testa anslutning

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)

Bästa praxis

  1. Använd service_role-nyckel endast på serversidan, Exponera den aldrig i klientkod
  2. Aktivera RLS på alla tabeller, Även med service_role, designa med RLS för djupförsvar
  3. Använd Realtime för händelsedriven synk, Mer effektivt än polling efter ändringar
  4. Batcha operationer, Använd bulk-insättningar och in-filtret för operationer med stor volym
  5. Mappa användarmetadata, Lagra engagemangsrelevanta fält i user_metadata vid registrering
  6. Använd Edge Functions för webhooks, Behandla inkommande webhooks med Supabase Edge Functions för låg latens

Säkerhet

  • API-nyckelautentisering, Alla förfrågningar kräver giltiga API-nycklar
  • Row Level Security (RLS), Postgres-nativ åtkomstkontroll per rad
  • JWT-verifiering, Auth-tokens är signerade JWT:er som verifieras vid varje förfrågan
  • SSL/TLS, Alla anslutningar krypterade i transit
  • SOC 2 Type II, Supabase är SOC 2-kompatibel
  • Nätverksbegränsningar, Valfri IP-allowlisting på betalplaner

Relaterade resurser

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

AI-assistent

Hej! Fråga mig om dokumentationen.

Den här sidan som Markdown: supabase.md

Läser in Markdown …
Öppna i Claude Öppna i ChatGPT