---
title: "Konektor Airtable"
description: "Kompletní průvodce integrací Airtable pro synchronizaci bází, tabulek a záznamů s kontakty a seznamy Brevo přes Tajo."
url: https://tajo.io/cz/docs/connectors/custom/airtable/
markdown: https://tajo.io/cz/docs/connectors/custom/airtable.md
lang: cs-CZ
robots: noindex
---

Požádejte o přednostní přístup

Zadejte své jméno a pracovní e-mailovou adresu. Pošleme vám odkaz pro potvrzení žádosti o přístup k Tajo.

# Konektor Airtable

Stav konektoru: Plánováno Zatím nevytvořeno. Tajo tento konektor dnes neprovozuje.

| Zdrojové pole | Cílové pole | Ukázková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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:

1. Účet Airtable (plán Free nebo vyšší)
2. Nakonfigurovaný osobní přístupový token nebo OAuth aplikaci
3. Přístup k bázím a tabulkám, které chcete synchronizovat
4. Účet Brevo s přístupem k API
5. Úč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)

1. Přejděte na [airtable.com/create/tokens](https://airtable.com/create/tokens)
2. Klikněte na **Create new token**
3. Pojmenujte ho “Tajo Integration”
4. Přidejte oprávnění:

```
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
```

5. Přidejte přístup ke konkrétním bázím nebo ke všem bázím
6. Klikněte na **Create token**

### Možnost 2: OAuth 2.0

Pro integrace s více uživateli použijte flow OAuth 2.0:

1. Zaregistrujte svou integraci na [airtable.com/create/oauth](https://airtable.com/create/oauth)
2. Nakonfigurujte URI přesměrování: `https://app.tajo.io/callbacks/airtable`
3. 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

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

## Konfigurace

### Základní nastavení

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

### Mapování polí

Mapujte pole Airtable na atributy kontaktů Brevo:

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

### Synchronizace podle pohledů

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

## Koncové 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

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

### Synchronizace tabulky do Brevo

```javascript
// Synchronizace tabulky Airtable do seznamu Brevo
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
// }
```

### Zpracování webhooků

```javascript
// Webhooky Airtable oznamují změny; načtěte podrobnosti s kurzorem
app.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

```javascript
// Vytvoření záznamu Airtable při konverzi kontaktu Brevo
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]
      }
    });
  }
});
```

## 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í

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

### Test připojení

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

1. **Omezte tokeny na konkrétní báze** – Neudělujte přístup ke všem bázím, pokud to není nutné
2. **Používejte pohledy pro filtrovanou synchronizaci** – Synchronizujte konkrétní pohledy místo celých tabulek pro snížení objemu dat
3. **Dávkujte operace se záznamy** – Seskupujte vytvoření a aktualizace do dávek po 10
4. **Zpracovávejte stránkování** – Airtable vrací 100 záznamů na stránku; iterujte s `offset`
5. **Používejte webhooky pro real-time** – Registrujte webhooky místo pollingu pro změny
6. **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ů

## Související zdroje

- [Konektor Notion](https://tajo.io/cz/docs/connectors/custom/notion)
- [Konektor GitHub](https://tajo.io/cz/docs/connectors/custom/github)
- [Dovednost synchronizace zákazníků](https://tajo.io/cz/docs/skills/data-sync/customer-sync)
- [API kontaktů Brevo](https://tajo.io/cz/docs/contact-management)
