Konektor Airtable
Propojte své báze Airtable s Brevo pro synchronizaci CRM, správu katalogu produktů a automatizované marketingové pracovní toky poháněné strukturovanými daty přes Tajo.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Airtable |
| Kategorie | Vlastní |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ne |
| Synchronizovaná data | Záznamy, Tabulky, Uživatelé |
| Typ API | REST API |
| Ověření | Osobní přístupový token / OAuth 2.0 |
| Základní URL | https://api.airtable.com/v0/ |
Funkce
- Synchronizace tabulky se seznamem – Synchronizujte záznamy tabulky Airtable přímo se seznamy kontaktů Brevo
- Most pro katalog produktů – Používejte tabulky Airtable jako katalogy produktů pro e-mailová doporučení
- Synchronizace CRM – Obousměrná synchronizace mezi CRM Airtable a kontakty Brevo
- Události z odeslání formuláře – Přeposílejte odeslání formulářů Airtable jako události Brevo
- Filtrování podle pohledů – Synchronizujte konkrétní pohledy Airtable do cílených seznamů Brevo
- Automatizace webhooků – Spouštějte kampaně Brevo při změnách záznamů v Airtable
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet Airtable (plán Free nebo vyšší)
- Nakonfigurovaný osobní přístupový token nebo OAuth aplikaci
- Přístup k bázím a tabulkám, které chcete synchronizovat
- Účet Brevo s přístupem k API
- Účet Tajo s aktivním předplatným
Ověření
Airtable podporuje osobní přístupové tokeny a OAuth 2.0.
Možnost 1: Osobní přístupový token (doporučeno)
- Přejděte na airtable.com/create/tokens
- Klikněte na Create new token
- Pojmenujte ho “Tajo Integration”
- Přidejte oprávnění:
data.records:readdata.records:writedata.recordComments:readschema.bases:readwebhook:manage- Přidejte přístup ke konkrétním bázím nebo ke všem bázím
- Klikněte na Create token
Možnost 2: OAuth 2.0
Pro integrace s více uživateli použijte flow OAuth 2.0:
- Zaregistrujte svou integraci na airtable.com/create/oauth
- Nakonfigurujte URI přesměrování:
https://app.tajo.io/callbacks/airtable - Požádejte o stejná oprávnění jako výše
Omezení rozsahu tokenu
Osobní přístupové tokeny lze omezit na konkrétní báze. Z bezpečnostních důvodů udělujte přístup pouze k bázím, které vaše integrace potřebuje, místo výběru „Všechny aktuální a budoucí báze”.
Připojení k Tajo
tajo connectors install airtable \ --token $AIRTABLE_TOKENKonfigurace
Základní nastavení
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"Mapování polí
Mapujte pole Airtable na atributy kontaktů Brevo:
field_mapping: # Pole Airtable -> Atribut Brevo 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_DATESynchronizace podle pohledů
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: trueKoncové body API
Tajo se integruje s následujícími koncovými body Airtable Web API:
| Koncový bod | Metoda | Účel |
|---|---|---|
/v0/{baseId}/{tableIdOrName} | GET | Výpis záznamů v tabulce |
/v0/{baseId}/{tableIdOrName} | POST | Vytvoření záznamů |
/v0/{baseId}/{tableIdOrName} | PATCH | Aktualizace záznamů |
/v0/{baseId}/{tableIdOrName} | DELETE | Smazání záznamů |
/v0/{baseId}/{tableIdOrName}/{recordId} | GET | Načtení jednoho záznamu |
/v0/meta/bases | GET | Výpis přístupných bází |
/v0/meta/bases/{baseId}/tables | GET | Výpis tabulek v bázi |
/v0/{baseId}/{tableIdOrName}/listRecordComments | GET | Výpis komentářů k záznamu |
/v0/bases/{baseId}/webhooks | POST | Vytvoření webhooku |
/v0/bases/{baseId}/webhooks | GET | Výpis webhooků |
Příklady kódu
Inicializace konektoru
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});Synchronizace tabulky do Brevo
// Synchronizace tabulky Airtable do seznamu Brevoawait 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// }Zpracování webhooků
// Webhooky Airtable oznamují změny; načtěte podrobnosti s kurzoremapp.post('/webhooks/airtable', async (req, res) => { const { base, webhook, timestamp } = req.body;
// Načtení změněných záznamů pomocí kurzoru webhooku 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');});Vytvoření záznamu z Brevo
// Vytvoření záznamu Airtable při konverzi kontaktu Brevotajo.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] } }); }});Omezení rychlosti
Airtable aplikuje omezení rychlosti na bázi:
| Typ limitu | Hodnota |
|---|---|
| Limit rychlosti API | 5 požadavků za sekundu na bázi |
| Záznamy na požadavek | Max 100 záznamů (výpis), max 10 záznamů (vytvoření/aktualizace) |
| Payloady webhooků | 50 payloadů na volání listWebhookPayloads |
| Velikost požadavku | Max payload ~2 MB |
Dávkové operace
Airtable umožňuje vytvoření nebo aktualizaci až 10 záznamů na požadavek. Tajo automaticky rozděluje větší operace do více požadavků při dodržení omezení rychlosti.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný nebo vypršelý token | Obnovte osobní přístupový token |
| 403 Forbidden | Token nemá přístup k bázi | Přidejte bázi do rozsahu svého tokenu |
| 404 Not Found | Neplatné ID báze nebo tabulky | Ověřte ID báze a název tabulky |
| 422 Invalid Request | Neshoda typů polí | Zkontrolujte, zda typy polí Airtable odpovídají vašim datům |
| Překročen limit rychlosti | Více než 5 požadavků/s na bázi | Snižte frekvenci synchronizace nebo rozložte synchronizace bází |
Režim ladění
connectors: airtable: debug: true log_level: verbose log_api_calls: trueTest připojení
tajo connectors test airtable# ✓ Ověření API úspěšné# ✓ Přístup k bázi ověřen# ✓ Schéma tabulky čitelné# ✓ Výpis záznamů funkční# ✓ Registrace webhooků dostupnáOsvědčené postupy
- Omezte tokeny na konkrétní báze – Neudělujte přístup ke všem bázím, pokud to není nutné
- Používejte pohledy pro filtrovanou synchronizaci – Synchronizujte konkrétní pohledy místo celých tabulek pro snížení objemu dat
- Dávkujte operace se záznamy – Seskupujte vytvoření a aktualizace do dávek po 10
- Zpracovávejte stránkování – Airtable vrací 100 záznamů na stránku; iterujte s
offset - Používejte webhooky pro real-time – Registrujte webhooky místo pollingu pro změny
- Přesně mapujte typy polí – Slaďte typy polí Airtable (výběr, číslo, datum) s typy atributů Brevo
Zabezpečení
- Osobní přístupové tokeny – Omezeny na konkrétní báze a operace
- OAuth 2.0 – Bezpečný autorizační flow s obnovovacími tokeny
- Pouze HTTPS – Veškerá komunikace API šifrována přes TLS 1.2+
- Řízení přístupu na úrovni bází – Tokeny omezeny na jednotlivé báze
- Šifrované úložiště – Tokeny šifrované v klidu v Tajo
- Ověření HMAC webhooků – Ověřte pravost oznámení webhooků