Конектор Airtable

Свържете вашите бази в Airtable с Brevo за CRM синхронизация, управление на продуктови каталози и автоматизирани маркетингови работни потоци, задвижвани от структурирани данни чрез Tajo.

Преглед

СвойствоСтойност
ПлатформаAirtable
КатегорияПерсонализирана
Сложност на настройкаЛесна
Официална интеграцияНе
Синхронизирани данниЗаписи, таблици, потребители
Тип на APIREST API
АвтентикацияPersonal Access Token / OAuth 2.0
Base URLhttps://api.airtable.com/v0/

Функции

  • Синхронизация таблица към списък – Синхронизирайте записи от таблици в Airtable директно към списъци с контакти в Brevo
  • Мост за продуктов каталог – Използвайте таблици в Airtable като продуктови каталози за имейл препоръки
  • CRM синхронизация – Двупосочна синхронизация между CRM в Airtable и контакти в Brevo
  • Събития за изпращане на форми – Препращайте изпращания на форми в Airtable като събития в Brevo
  • Филтриране на базата на изглед – Синхронизирайте конкретни изгледи в Airtable към насочени списъци в Brevo
  • Webhook автоматизация – Задействайте кампании в Brevo, когато записите в Airtable се променят

Предварителни условия

Преди да започнете, уверете се, че имате:

  1. Акаунт в Airtable (Free план или по-горе)
  2. Конфигуриран Personal Access Token или OAuth приложение
  3. Достъп до базите и таблиците, които искате да синхронизирате
  4. Акаунт в Brevo с API достъп
  5. Акаунт в Tajo с активен абонамент

Автентикация

Airtable поддържа Personal Access Tokens и OAuth 2.0.

Опция 1: Personal Access Token (препоръчително)

  1. Отидете на airtable.com/create/tokens
  2. Щракнете върху Create new token
  3. Наименувайте го “Tajo Integration”
  4. Добавете обхвати:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. Добавете достъп до конкретни бази или всички бази
  2. Щракнете върху Create token

Опция 2: OAuth 2.0

За интеграции с множество потребители използвайте OAuth 2.0 потока:

  1. Регистрирайте вашата интеграция на airtable.com/create/oauth
  2. Конфигурирайте redirect URI: https://app.tajo.io/callbacks/airtable
  3. Заявете същите обхвати като по-горе

Обхват на токена

Personal Access Tokens могат да бъдат обхватени към конкретни бази. За сигурност, предоставяйте достъп само до базите, от които вашата интеграция се нуждае, вместо да избирате “All current and future bases”.

Свързване към Tajo

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

Конфигурация

Основна настройка

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"

Мапване на полета

Мапвайте полета от Airtable към атрибути на контактите в 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

Синхронизация на базата на изглед

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 крайни точки

Tajo се интегрира със следните Airtable Web API крайни точки:

EndpointMethodЦел
/v0/{baseId}/{tableIdOrName}GETСписък на записите в таблица
/v0/{baseId}/{tableIdOrName}POSTСъздаване на записи
/v0/{baseId}/{tableIdOrName}PATCHОбновяване на записи
/v0/{baseId}/{tableIdOrName}DELETEИзтриване на записи
/v0/{baseId}/{tableIdOrName}/{recordId}GETИзвличане на един запис
/v0/meta/basesGETСписък на достъпните бази
/v0/meta/bases/{baseId}/tablesGETСписък на таблиците в база
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETСписък на коментарите за запис
/v0/bases/{baseId}/webhooksPOSTСъздаване на webhook
/v0/bases/{baseId}/webhooksGETСписък на webhooks

Примери за код

Инициализация на конектора

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

Синхронизация на таблица към 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
// }

Обработка на webhooks

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

Създаване на запис от 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]
}
});
}
});

Лимити на заявки

Airtable налага лимити на заявките за всяка база:

Тип лимитСтойност
API rate limit5 заявки в секунда за база
Записи на заявкаМаксимум 100 записа (списък), максимум 10 записа (създаване/обновяване)
Webhook payloads50 payloads на повикване на listWebhookPayloads
Размер на заявкатаМаксимален payload ~2MB

Групови операции

Airtable позволява създаване или обновяване на до 10 записа на заявка. Tajo автоматично групира по-големи операции в множество заявки, като спазва лимитите на заявките.

Отстраняване на проблеми

Често срещани проблеми

ПроблемПричинаРешение
401 UnauthorizedНевалиден или изтекъл токенГенерирайте нов Personal Access Token
403 ForbiddenТокенът няма достъп до базатаДобавете базата към обхвата на вашия токен
404 Not FoundНевалидно ID на база или таблицаПроверете ID на базата и името на таблицата
422 Invalid RequestНесъответствие на тип на полеПроверете дали типовете на полетата в Airtable съответстват на вашите данни
Надвишен лимит на заявкитеПовече от 5 заявки/сек за базаНамалете честотата на синхронизация или разпределете синхронизациите на базите

Debug режим

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

Тестване на връзката

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

Най-добри практики

  1. Обхватете токените за конкретни бази – Не предоставяйте достъп до всички бази, освен ако не е необходимо
  2. Използвайте изгледи за филтрирана синхронизация – Синхронизирайте конкретни изгледи вместо цели таблици, за да намалите обема на данните
  3. Групирайте операциите с записи – Групирайте създавания и обновявания в batch от по 10
  4. Обработвайте пагинацията – Airtable връща 100 записа на страница; итерирайте с offset
  5. Използвайте webhooks за реално време – Регистрирайте webhooks вместо допитване за промени
  6. Мапвайте типовете на полетата прецизно – Съпоставете типовете на полетата в Airtable (select, number, date) с типовете на атрибутите в Brevo

Сигурност

  • Personal Access Tokens – Обхванати към конкретни бази и операции
  • OAuth 2.0 – Сигурен поток за оторизация с refresh токени
  • Само HTTPS – Цялата API комуникация е криптирана чрез TLS 1.2+
  • Контрол на достъпа на ниво база – Токените са обхванати към индивидуални бази
  • Криптирано съхранение – Токените са криптирани в покой в Tajo
  • HMAC верификация на webhook – Проверка на автентичността на webhook нотификациите

Свързани ресурси

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здравейте! Попитайте ме за документацията.