---
title: "Конектор Airtable"
description: "Пълно ръководство за интеграция с Airtable за синхронизация на бази, таблици и записи с контактите и списъците в Brevo чрез Tajo."
url: https://tajo.io/bg/docs/connectors/custom/airtable/
markdown: https://tajo.io/bg/docs/connectors/custom/airtable.md
lang: bg-BG
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# Конектор Airtable

Статус на конектора: Планиран Все още не е изграден. Tajo не изпълнява този конектор днес.

| Поле източник | Целево поле | Примерна стойност |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

## Преглед

| Свойство | Стойност |
| --- | --- |
| **Платформа** | Airtable |
| **Категория** | Персонализирана |
| **Сложност на настройка** | Лесна |
| **Официална интеграция** | Не |
| **Синхронизирани данни** | Записи, таблици, потребители |
| **Тип на API** | REST API |
| **Автентикация** | Personal Access Token / OAuth 2.0 |
| **Base URL** | `https://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](https://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
```

5. Добавете достъп до конкретни бази или всички бази
6. Щракнете върху **Create token**

### Опция 2: OAuth 2.0

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

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

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

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

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

```bash
tajo connectors install airtable \
  --token $AIRTABLE_TOKEN
```

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

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

```yaml
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:

```yaml
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
```

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

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

| Endpoint | Method | Цел |
| --- | --- | --- |
| `/v0/{baseId}/{tableIdOrName}` | GET | Списък на записите в таблица |
| `/v0/{baseId}/{tableIdOrName}` | POST | Създаване на записи |
| `/v0/{baseId}/{tableIdOrName}` | PATCH | Обновяване на записи |
| `/v0/{baseId}/{tableIdOrName}` | DELETE | Изтриване на записи |
| `/v0/{baseId}/{tableIdOrName}/{recordId}` | GET | Извличане на един запис |
| `/v0/meta/bases` | GET | Списък на достъпните бази |
| `/v0/meta/bases/{baseId}/tables` | GET | Списък на таблиците в база |
| `/v0/{baseId}/{tableIdOrName}/listRecordComments` | GET | Списък на коментарите за запис |
| `/v0/bases/{baseId}/webhooks` | POST | Създаване на webhook |
| `/v0/bases/{baseId}/webhooks` | GET | Списък на webhooks |

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

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

```javascript
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

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

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

```javascript
// 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 limit** | 5 заявки в секунда за база |
| **Записи на заявка** | Максимум 100 записа (списък), максимум 10 записа (създаване/обновяване) |
| **Webhook payloads** | 50 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 режим

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

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

```bash
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 нотификациите

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

- [Конектор Notion](https://tajo.io/bg/docs/connectors/custom/notion)
- [Конектор GitHub](https://tajo.io/bg/docs/connectors/custom/github)
- [Customer Sync Skill](https://tajo.io/bg/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/bg/docs/contact-management)
