Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

Supabase Connector

Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.

Illustration · Beispieldaten

Sync-Beispiel

Einen Datensatz prüfen

Quelle

Supabase

Connector-Status: Geplant

Ziel

Ihr anderes Tool

Connector-Status: Eigenes Tool

QuellfeldZielfeldBeispielwert
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Entwerfen
  2. Einen Datensatz prüfen
  3. Diese Version freigeben

Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.

Verbinde dein Supabase-Projekt, um Datenbank-Datensätze, Nutzer:innen-Authentifizierungsdaten, File-Storage-Events und Echtzeit-Änderungen für die Automation deines Customer Engagements zu synchronisieren.

Überblick

EigenschaftWert
PlattformSupabase
KategorieDatabase & Backend
EinrichtungsaufwandEinfach
Offizielle IntegrationNein
Synchronisierte DatenNutzer:innen, Tabellen, Storage, Events
Verfügbare Skills11
API-TypREST (PostgREST) + Realtime WebSocket
Offizielle Docssupabase.com/docs

Funktionen

  • Automatisch generierte REST-API, CRUD-Operationen auf jeder Postgres-Tabelle via PostgREST, kein Code erforderlich
  • Auth-User-Synchronisation, Synchronisiere Supabase-Auth-Nutzer:innen (E-Mail, Telefon, Social Logins) mit deiner Engagement-Plattform
  • Echtzeit-Subscriptions, Lausche in Echtzeit auf INSERT-, UPDATE-, DELETE-Events auf jeder Tabelle
  • Row Level Security, Jeglicher API-Zugriff respektiert Postgres-RLS-Richtlinien für sichere Multi-Tenant-Daten
  • Storage-Integration, Tracke File-Uploads und verwalte Assets über Storage Buckets
  • Edge Functions, Rufe serverlose Deno-Funktionen für Custom-Logik und Webhooks auf
  • Full-Text Search, Nutze die Volltextsuche-Funktionen von Postgres über die API

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Ein Supabase-Projekt (app.supabase.com)
  2. Die API-URL und API-Schlüssel deines Projekts (zu finden unter Settings → API)
  3. Ein Tajo-Konto mit API-Zugriff

API-Schlüssel

Supabase stellt zwei Schlüssel bereit: anon (öffentlich, respektiert RLS) und service_role (umgeht RLS, Admin-Zugriff). Nutze service_role für serverseitige Integrationen und anon für den Client.

Authentifizierung

Supabase nutzt API-Schlüssel-Authentifizierung. Jede Anfrage erfordert den apikey-Header und optional einen Authorization-Bearer-Token für nutzerspezifischen Zugriff.

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

Grundeinrichtung

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

Feld-Mapping

Mappe Supabase-Tabellenspalten auf Engagement-Plattform-Attribute:

Standard-Nutzer:innen-Mappings

Parameter Type Description
email required
string

Nutzer:innen-E-Mail aus Supabase Auth (eindeutiger Identifier)

phone optional
string

Telefonnummer fürs SMS-/WhatsApp-Engagement

user_metadata.full_name optional
string

Anzeigename aus den Auth-User-Metadaten

user_metadata.avatar_url optional
string

URL des Profilbilds

created_at optional
timestamp

Zeitstempel der Account-Erstellung

last_sign_in_at optional
timestamp

Letzter Login fürs Engagement-Scoring

app_metadata.provider optional
string

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

confirmed_at optional
timestamp

Zeitstempel der E-Mail-Bestätigung

Custom-Tabellen-Mapping

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

Die Supabase-REST-API wird automatisch aus deinem Datenbankschema unter https://<ref>.supabase.co/rest/v1/ generiert.

EndpointMethodeBeschreibung
/rest/v1/{table}GETZeilen mit Filterung, Sortierung, Pagination abfragen
/rest/v1/{table}POSTZeilen einfügen (unterstützt Bulk und Upsert)
/rest/v1/{table}PATCHZeilen anhand von Filtern aktualisieren
/rest/v1/{table}DELETEZeilen anhand von Filtern löschen
/rest/v1/rpc/{function}POSTPostgres-Funktion aufrufen
/auth/v1/signupPOSTNeue Nutzer:in anlegen
/auth/v1/token?grant_type=passwordPOSTMit Passwort einloggen
/auth/v1/userGETAktuelle Nutzer:in abrufen
/auth/v1/admin/usersGETAlle Nutzer:innen auflisten (service_role)
/storage/v1/object/{bucket}/{path}POSTDatei hochladen
/storage/v1/object/list/{bucket}POSTDateien im Bucket auflisten
/functions/v1/{function_name}POSTEdge Function aufrufen

Filter-Operatoren

OperatorBeschreibungBeispiel
eqGleich?status=eq.active
neqUngleich?status=neq.deleted
gt, gteGrößer als?amount=gt.100
lt, lteKleiner als?created_at=lt.2024-01-01
like, ilikePattern-Match?name=ilike.%john%
inIn Array?status=in.(active,trial)
isNull-Prüfung?deleted_at=is.null

Events

Auth-Events

EventTriggerAnwendungsfall
user.signed_upNeue Nutzer:innen-RegistrierungWelcome-Serie
user.signed_inLoginActivity-Tracking
user.updatedProfiländerungenDaten-Synchronisation
user.deletedAccountlöschungCleanup-Workflows

Datenbank-Events (Realtime)

EventTriggerAnwendungsfall
INSERTNeue Zeile hinzugefügtBenachrichtigungen zu neuen Bestellungen/Kund:innen
UPDATEZeile geändertStatus-Change-Workflows
DELETEZeile entferntChurn-Erkennung

Webhook-Events

EventTriggerAnwendungsfall
auth.user.createdNutzer:innen-Signup via WebhookOnboarding auslösen
storage.object.createdDatei hochgeladenAsset-Verarbeitung

Code-Beispiele

Connector initialisieren

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

Nutzer:innen mit Kontakten synchronisieren

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

Auf Echtzeit-Änderungen lauschen

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

Abfragen und segmentieren

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

Die Rate Limits von Supabase hängen von deinem Tarif ab. Free: 500 Anfragen/Minute. Pro: 1.000 Anfragen/Sekunde. Für Enterprise-Limits wende dich an Supabase.

TarifRate LimitRealtime-Verbindungen
Free500 Anfr./Min200 gleichzeitig
Pro1.000 Anfr./Sek500 gleichzeitig
Team2.000 Anfr./Sek1.000 gleichzeitig
EnterpriseIndividuellIndividuell

Fehlerbehebung

Häufige Probleme

ProblemUrsacheLösung
401 UnauthorizedUngültiger oder abgelaufener API-SchlüsselAPI-Schlüssel im Supabase Dashboard → Settings → API prüfen
403 ForbiddenRLS-Richtlinie blockiert Zugriffservice_role-Schlüssel für Admin-Operationen nutzen oder RLS-Richtlinien prüfen
Keine Realtime-EventsRealtime nicht für Tabelle aktiviertUnter Database → Replication → Tabelle zur Publication hinzufügen
Leere Query-ErgebnisseRLS filtert alle ZeilenSicherstellen, dass RLS-Richtlinien Lesezugriff für die authentifizierte Rolle erlauben
Storage-Upload schlägt fehlBucket-RichtlinienPrüfen, ob Storage-Bucket öffentlich ist oder korrekte RLS-Richtlinien hat

Debug-Modus

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

Verbindung 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. service_role-Schlüssel nur serverseitig nutzen, Lege ihn nie in Client-Code offen
  2. RLS auf allen Tabellen aktivieren, Auch mit service_role: Gestalte mit RLS für Defense in Depth
  3. Realtime für eventgetriebene Synchronisation, Effizienter als Polling auf Änderungen
  4. Operationen bündeln, Nutze Bulk-Inserts und den in-Filter für Operationen mit hohem Volumen
  5. User-Metadaten mappen, Speichere engagement-relevante Felder beim Signup in user_metadata
  6. Edge Functions für Webhooks nutzen, Verarbeite eingehende Webhooks mit Supabase Edge Functions für niedrige Latenz

Sicherheit

  • API-Schlüssel-Authentifizierung, Alle Anfragen erfordern gültige API-Schlüssel
  • Row Level Security (RLS), Postgres-nativer Zugriffsschutz pro Zeile
  • JWT-Verifikation, Auth-Tokens sind signierte JWTs und werden bei jeder Anfrage verifiziert
  • SSL/TLS, Alle Verbindungen während der Übertragung verschlüsselt
  • SOC 2 Type II, Supabase ist SOC-2-konform
  • Network Restrictions, Optionales IP-Allowlisting in kostenpflichtigen Tarifen

Verwandte Ressourcen

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Diese Seite als Markdown: supabase.md

Markdown wird geladen …
In Claude öffnen In ChatGPT öffnen