Konektor Airtable

Połącz swoje bazy Airtable z Brevo, aby synchronizować CRM, zarządzać katalogiem produktów i uruchamiać zautomatyzowane przepływy marketingowe oparte na ustrukturyzowanych danych przez Tajo.

Przegląd

WłaściwośćWartość
PlatformaAirtable
KategoriaNiestandardowa
Poziom konfiguracjiŁatwy
Integracja oficjalnaNie
Synchronizowane daneRekordy, Tabele, Użytkownicy
Typ APIREST API
UwierzytelnianiePersonal Access Token / OAuth 2.0
Bazowy URLhttps://api.airtable.com/v0/

Funkcje

  • Synchronizacja tabeli z listą - Synchronizuj rekordy tabel Airtable bezpośrednio z listami kontaktów Brevo
  • Mostek katalogu produktów - Używaj tabel Airtable jako katalogów produktów do rekomendacji e-mailowych
  • Synchronizacja CRM - Dwukierunkowa synchronizacja między CRM Airtable a kontaktami Brevo
  • Zdarzenia przesłania formularzy - Przekazuj przesłania formularzy Airtable jako zdarzenia Brevo
  • Filtrowanie oparte na widokach - Synchronizuj określone widoki Airtable z docelowymi listami Brevo
  • Automatyzacja webhook - Wyzwalaj kampanie Brevo, gdy rekordy Airtable się zmieniają

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Konto Airtable (plan Free lub wyższy)
  2. Skonfigurowany Personal Access Token lub aplikację OAuth
  3. Dostęp do baz i tabel, które chcesz synchronizować
  4. Konto Brevo z dostępem do API
  5. Konto Tajo z aktywną subskrypcją

Uwierzytelnianie

Airtable obsługuje Personal Access Tokens i OAuth 2.0.

Opcja 1: Personal Access Token (zalecane)

  1. Przejdź do airtable.com/create/tokens
  2. Kliknij Create new token
  3. Nazwij go „Tajo Integration”
  4. Dodaj zakresy:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. Dodaj dostęp do określonych baz lub wszystkich baz
  2. Kliknij Create token

Opcja 2: OAuth 2.0

Dla integracji wieloużytkownikowych użyj przepływu OAuth 2.0:

  1. Zarejestruj integrację na airtable.com/create/oauth
  2. Skonfiguruj URI przekierowania: https://app.tajo.io/callbacks/airtable
  3. Zażądaj tych samych zakresów co powyżej

Zakres tokenów

Personal Access Tokens mogą być ograniczone do określonych baz. Dla bezpieczeństwa przyznawaj dostęp tylko do baz, których potrzebuje integracja, zamiast wybierać „All current and future bases”.

Połączenie z Tajo

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

Konfiguracja

Podstawowa konfiguracja

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"

Mapowanie pól

Mapuj pola Airtable na atrybuty kontaktów Brevo:

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

Synchronizacja oparta na widokach

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

Endpointy API

Tajo integruje się z następującymi endpointami Airtable Web API:

EndpointMetodaCel
/v0/{baseId}/{tableIdOrName}GETLista rekordów w tabeli
/v0/{baseId}/{tableIdOrName}POSTUtwórz rekordy
/v0/{baseId}/{tableIdOrName}PATCHAktualizuj rekordy
/v0/{baseId}/{tableIdOrName}DELETEUsuń rekordy
/v0/{baseId}/{tableIdOrName}/{recordId}GETPobierz pojedynczy rekord
/v0/meta/basesGETLista dostępnych baz
/v0/meta/bases/{baseId}/tablesGETLista tabel w bazie
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETLista komentarzy do rekordów
/v0/bases/{baseId}/webhooksPOSTUtwórz webhook
/v0/bases/{baseId}/webhooksGETLista webhooków

Przykłady kodu

Inicjalizacja konektora

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

Synchronizuj tabelę z Brevo

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

Obsługa webhooków

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

Utwórz rekord z Brevo

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

Limity API

Airtable stosuje limity na bazę:

Typ limituWartość
Limit szybkości API5 żądań na sekundę na bazę
Rekordy na żądanieMaks. 100 rekordów (lista), maks. 10 rekordów (tworzenie/aktualizacja)
Dane webhook50 ładunków na wywołanie listWebhookPayloads
Rozmiar żądaniaMaks. ładunek ~2 MB

Operacje wsadowe

Airtable umożliwia tworzenie lub aktualizowanie do 10 rekordów na żądanie. Tajo automatycznie dzieli większe operacje na wiele żądań, respektując limity szybkości.

Rozwiązywanie problemów

Typowe problemy

ProblemPrzyczynaRozwiązanie
401 UnauthorizedNieprawidłowy lub wygasły tokenWygeneruj ponownie Personal Access Token
403 ForbiddenToken nie ma dostępu do bazyDodaj bazę do zakresu tokenu
404 Not FoundNieprawidłowe ID bazy lub tabeliZweryfikuj ID bazy i nazwę tabeli
422 Invalid RequestNiezgodność typów pólSprawdź, czy typy pól Airtable pasują do twoich danych
Przekroczono limitPonad 5 żądań/sek na bazęZmniejsz częstotliwość synchronizacji lub rozłóż synchronizacje baz

Tryb debug

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

Test połączenia

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

Najlepsze praktyki

  1. Ograniczaj tokeny do określonych baz - Nie przyznawaj dostępu do wszystkich baz, jeśli nie jest to konieczne
  2. Używaj widoków do filtrowania synchronizacji - Synchronizuj określone widoki zamiast pełnych tabel, aby zmniejszyć wolumen danych
  3. Wsadowe operacje na rekordach - Grupuj tworzenia i aktualizacje w partiach po 10
  4. Obsługuj paginację - Airtable zwraca 100 rekordów na stronę; iteruj z offset
  5. Używaj webhooków w czasie rzeczywistym - Rejestruj webhooki zamiast odpytywania o zmiany
  6. Precyzyjnie mapuj typy pól - Dopasowuj typy pól Airtable (select, number, date) do typów atrybutów Brevo

Bezpieczeństwo

  • Personal Access Tokens - Ograniczone do określonych baz i operacji
  • OAuth 2.0 - Bezpieczny przepływ autoryzacji z tokenami odświeżania
  • Tylko HTTPS - Cała komunikacja API zaszyfrowana przez TLS 1.2+
  • Kontrola dostępu na poziomie bazy - Tokeny ograniczone do poszczególnych baz
  • Szyfrowane przechowywanie - Tokeny szyfrowane w spoczynku w Tajo
  • Weryfikacja HMAC webhook - Weryfikuj autentyczność powiadomień webhook

Powiązane zasoby

Subscribe to updates

developer-docs

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

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.