Airtable Connector

Verbinde deine Airtable-Bases über Tajo mit Brevo für CRM-Synchronisierung, Produktkatalogpflege und automatisierte Marketing-Workflows auf Basis strukturierter Daten.

Überblick

EigenschaftWert
PlattformAirtable
KategorieCustom
EinrichtungsaufwandEinfach
Offizielle IntegrationNein
Synchronisierte DatenDatensätze, Tabellen, Nutzer:innen
API-TypREST-API
AuthentifizierungPersonal Access Token / OAuth 2.0
Basis-URLhttps://api.airtable.com/v0/

Funktionen

  • Synchronisierung Tabelle zu Liste - Synchronisiere Datensätze aus Airtable-Tabellen direkt in Brevo-Kontaktlisten
  • Produktkatalog-Bridge - Nutze Airtable-Tabellen als Produktkataloge für E-Mail-Empfehlungen
  • CRM-Synchronisierung - Bidirektionale Synchronisierung zwischen Airtable-CRM und Brevo-Kontakten
  • Events aus Formularübermittlungen - Leite Airtable-Formulareinsendungen als Brevo-Events weiter
  • View-basierte Filterung - Synchronisiere bestimmte Airtable-Views in zielgerichtete Brevo-Listen
  • Webhook-Automatisierung - Löse Brevo-Kampagnen aus, wenn sich Airtable-Datensätze ändern

Voraussetzungen

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

  1. Ein Airtable-Konto (Free-Plan oder höher)
  2. Ein konfiguriertes Personal Access Token oder eine OAuth-App
  3. Zugriff auf die Bases und Tabellen, die du synchronisieren möchtest
  4. Ein Brevo-Konto mit API-Zugriff
  5. Ein Tajo-Konto mit aktivem Abonnement

Authentifizierung

Airtable unterstützt Personal Access Tokens und OAuth 2.0.

Option 1: Personal Access Token (Empfohlen)

  1. Gehe zu airtable.com/create/tokens
  2. Klicke auf Create new token
  3. Benenne es mit “Tajo Integration”
  4. Füge Scopes hinzu:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. Füge Zugriff auf bestimmte Bases oder alle Bases hinzu
  2. Klicke auf Create token

Option 2: OAuth 2.0

Für Integrationen mit mehreren Nutzer:innen verwende den OAuth-2.0-Flow:

  1. Registriere deine Integration unter airtable.com/create/oauth
  2. Konfiguriere die Redirect-URI: https://app.tajo.io/callbacks/airtable
  3. Fordere dieselben Scopes wie oben an

Token-Scoping

Personal Access Tokens können auf bestimmte Bases beschränkt werden. Gewähre aus Sicherheitsgründen nur Zugriff auf die Bases, die deine Integration benötigt, anstatt “All current and future bases” auszuwählen.

Verbindung zu Tajo herstellen

Terminal window
tajo connectors install airtable \
--token $AIRTABLE_TOKEN

Konfiguration

Grundeinrichtung

connectors:
airtable:
enabled: true
sync:
records: true
comments: false
tables:
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "Active Customers"
sync_to_list: 28
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Products"
sync_as: "catalog"

Feldzuordnung

Ordne Airtable-Felder Brevo-Kontaktattributen zu:

field_mapping:
# Airtable field -> Brevo attribute
Name: FIRSTNAME
Email: email
Phone: SMS
Company: COMPANY
Status: LEAD_STATUS
Revenue: TOTAL_REVENUE
"Last Contact": LAST_CONTACT_DATE
Tags: TAGS
Notes: NOTES
"Created Time": SIGNUP_DATE

View-basierte Synchronisierung

views:
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "High Value"
sync_to_list: 29
filter_by_view: true
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "Churned"
sync_to_list: 30
filter_by_view: true

API-Endpunkte

Tajo integriert die folgenden Endpunkte der Airtable Web API:

EndpunktMethodeZweck
/v0/{baseId}/{tableIdOrName}GETDatensätze in einer Tabelle auflisten
/v0/{baseId}/{tableIdOrName}POSTDatensätze anlegen
/v0/{baseId}/{tableIdOrName}PATCHDatensätze aktualisieren
/v0/{baseId}/{tableIdOrName}DELETEDatensätze löschen
/v0/{baseId}/{tableIdOrName}/{recordId}GETEinen einzelnen Datensatz abrufen
/v0/meta/basesGETZugängliche Bases auflisten
/v0/meta/bases/{baseId}/tablesGETTabellen einer Base auflisten
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETDatensatz-Kommentare auflisten
/v0/bases/{baseId}/webhooksPOSTEinen Webhook anlegen
/v0/bases/{baseId}/webhooksGETWebhooks auflisten

Code-Beispiele

Connector initialisieren

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('airtable', {
token: process.env.AIRTABLE_TOKEN
});

Tabelle mit Brevo synchronisieren

// Sync an Airtable table to a Brevo list
await tajo.connectors.sync('airtable', {
type: 'full',
resources: ['records'],
baseId: 'appXXXXXXXXXXXXXX',
tableName: 'Customers',
view: 'Active Customers',
targetList: 28
});
const status = await tajo.connectors.status('airtable');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T15:00:00Z',
// recordsSynced: 2340,
// tablesMonitored: 2,
// basesConnected: 1
// }

Webhooks verarbeiten

// Airtable webhooks notify of changes; fetch details with cursor
app.post('/webhooks/airtable', async (req, res) => {
const { base, webhook, timestamp } = req.body;
// Fetch changed records using webhook cursor
const changes = await tajo.connectors.getWebhookPayloads('airtable', {
baseId: base.id,
webhookId: webhook.id,
cursor: timestamp
});
for (const change of changes) {
await tajo.connectors.handleEvent('airtable', {
type: change.actionType,
payload: change
});
}
res.status(200).send('OK');
});

Datensatz aus Brevo erstellen

// Create an Airtable record when a Brevo contact converts
tajo.events.on('contact.attribute_updated', async (event) => {
if (event.attribute === 'LIFECYCLE_STAGE' && event.value === 'customer') {
await tajo.connectors.create('airtable', {
baseId: 'appXXXXXXXXXXXXXX',
tableName: 'Customers',
fields: {
Name: event.contact.name,
Email: event.contact.email,
Status: 'Customer',
'Converted Date': new Date().toISOString().split('T')[0]
}
});
}
});

Ratenbegrenzungen

Airtable erzwingt Ratenbegrenzungen pro Base:

Limit-TypWert
API-Rate-Limit5 Anfragen pro Sekunde pro Base
Datensätze pro AnfrageMax. 100 Datensätze (List), max. 10 Datensätze (Create/Update)
Webhook-Payloads50 Payloads pro listWebhookPayloads-Aufruf
AnfragegrößePayload max. ~2 MB

Batch-Operationen

Airtable erlaubt das Anlegen oder Aktualisieren von bis zu 10 Datensätzen pro Anfrage. Tajo bündelt größere Operationen automatisch in mehrere Anfragen und berücksichtigt dabei die Ratenbegrenzungen.

Fehlerbehebung

Häufige Probleme

ProblemUrsacheLösung
401 UnauthorizedUngültiges oder abgelaufenes TokenPersonal Access Token erneut generieren
403 ForbiddenToken fehlt Base-ZugriffBase dem Scope des Tokens hinzufügen
404 Not FoundUngültige Base- oder Tabellen-IDBase-ID und Tabellennamen prüfen
422 Invalid RequestFeldtyp passt nichtPrüfen, ob Airtable-Feldtypen zu deinen Daten passen
Ratenbegrenzung überschrittenMehr als 5 Anf./s pro BaseSynchronisationsfrequenz reduzieren oder Syncs zeitlich staffeln

Debug-Modus

connectors:
airtable:
debug: true
log_level: verbose
log_api_calls: true

Verbindung testen

Terminal window
tajo connectors test airtable
# ✓ API authentication successful
# ✓ Base access verified
# ✓ Table schema readable
# ✓ Record listing operational
# ✓ Webhook registration available

Best Practices

  1. Tokens auf bestimmte Bases beschränken - Gewähre nicht ohne Notwendigkeit Zugriff auf alle Bases
  2. Views für gefilterte Synchronisierung nutzen - Synchronisiere bestimmte Views statt vollständiger Tabellen, um das Datenvolumen zu reduzieren
  3. Datensatzoperationen bündeln - Gruppiere Creates und Updates in Batches von 10
  4. Paginierung handhaben - Airtable liefert 100 Datensätze pro Seite; iteriere mit offset
  5. Webhooks für Echtzeit nutzen - Registriere Webhooks statt auf Änderungen zu pollen
  6. Feldtypen exakt zuordnen - Passe Airtable-Feldtypen (Select, Number, Date) zu Brevo-Attributtypen

Sicherheit

  • Personal Access Tokens - Auf bestimmte Bases und Operationen beschränkt
  • OAuth 2.0 - Sicherer Autorisierungsflow mit Refresh-Tokens
  • Nur HTTPS - Die gesamte API-Kommunikation ist per TLS 1.2+ verschlüsselt
  • Zugriffskontrolle auf Base-Ebene - Tokens sind auf einzelne Bases beschränkt
  • Verschlüsselte Speicherung - Tokens werden in Tajo verschlüsselt gespeichert
  • Webhook-HMAC-Verifizierung - Authentizität von Webhook-Benachrichtigungen prüfen

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.