---
title: "Airtable konektor"
description: "Kompletný sprievodca integráciou Airtable na synchronizáciu bází, tabuliek a záznamov s kontaktmi a zoznamami Brevo cez Tajo."
url: https://tajo.io/sk/docs/connectors/custom/airtable/
markdown: https://tajo.io/sk/docs/connectors/custom/airtable.md
lang: sk-SK
robots: noindex
---

Požiadajte o skorý prístup

Zadajte svoje meno a pracovnú e-mailovú adresu. Pošleme vám odkaz na potvrdenie žiadosti o prístup k Tajo.

# Airtable konektor

Stav konektora: Plánované Zatiaľ nevytvorené. Tajo tento konektor dnes neprevádzkuje.

| Zdrojové pole | Cieľové pole | Ukážková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Prepoj svoje Airtable bázy s Brevo pre CRM synchronizáciu, správu produktového katalógu a automatizované marketingové workflowy poháňané štruktúrovanými dátami cez Tajo.

## Prehľad

| Vlastnosť | Hodnota |
| --- | --- |
| **Platforma** | Airtable |
| **Kategória** | Vlastná |
| **Zložitosť nastavenia** | Ľahké |
| **Oficiálna integrácia** | Nie |
| **Synchronizované dáta** | Záznamy, Tabuľky, Používatelia |
| **Typ API** | REST API |
| **Autentifikácia** | Personal Access Token / OAuth 2.0 |
| **Base URL** | `https://api.airtable.com/v0/` |

## Funkcie

- **Synchronizácia tabuľky so zoznamom** - Synchronizuj záznamy tabuľky Airtable priamo do zoznamov kontaktov v Brevo
- **Most produktového katalógu** - Použi tabuľky Airtable ako produktové katalógy pre e-mailové odporúčania
- **CRM synchronizácia** - Obojsmerná synchronizácia medzi CRM Airtable a kontaktmi Brevo
- **Udalosti odoslania formulára** - Preposielaj odoslania formulárov Airtable ako udalosti v Brevo
- **Filtrovanie podľa zobrazenia** - Synchronizuj konkrétne zobrazenia Airtable do cielených zoznamov Brevo
- **Webhook automatizácia** - Spúšťaj kampane Brevo pri zmene záznamov v Airtable

## Predpoklady

Predtým, než začneš, uisti sa, že máš:

1. Airtable účet (Free plán alebo vyšší)
2. Nakonfigurovaný Personal Access Token alebo OAuth aplikáciu
3. Prístup k bádam a tabuľkám, ktoré chceš synchronizovať
4. Brevo účet s API prístupom
5. Tajo účet s aktívnym predplatným

## Autentifikácia

Airtable podporuje Personal Access Tokens a OAuth 2.0.

### Možnosť 1: Personal Access Token (odporúčané)

1. Choď na [airtable.com/create/tokens](https://airtable.com/create/tokens)
2. Klikni na **Create new token**
3. Pomenuj ho “Tajo Integration”
4. Pridaj scopes:

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

5. Pridaj prístup ku konkrétnym bázam alebo všetkým bázam
6. Klikni na **Create token**

### Možnosť 2: OAuth 2.0

Pre integrácie s viacerými používateľmi použi OAuth 2.0 flow:

1. Zaregistruj svoju integráciu na [airtable.com/create/oauth](https://airtable.com/create/oauth)
2. Nakonfiguruj redirect URI: `https://app.tajo.io/callbacks/airtable`
3. Požiadaj o rovnaké scopes ako vyššie

Rozsah tokenu

Personal Access Tokens môžu byť obmedzené na konkrétne bázy. Pre bezpečnosť udeľ prístup iba k bázam, ktoré tvoja integrácia potrebuje, namiesto výberu “All current and future bases.”

### Pripojenie k Tajo

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

## Konfigurácia

### Základné nastavenie

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

### Mapovanie polí

Namapuj polia Airtable na atribúty kontaktov v 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
```

### Synchronizácia podľa zobrazenia

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

Tajo sa integruje s nasledujúcimi endpointmi Airtable Web API:

| Endpoint | Metóda | Účel |
| --- | --- | --- |
| `/v0/{baseId}/{tableIdOrName}` | GET | Zoznam záznamov v tabuľke |
| `/v0/{baseId}/{tableIdOrName}` | POST | Vytvorenie záznamov |
| `/v0/{baseId}/{tableIdOrName}` | PATCH | Aktualizácia záznamov |
| `/v0/{baseId}/{tableIdOrName}` | DELETE | Odstránenie záznamov |
| `/v0/{baseId}/{tableIdOrName}/{recordId}` | GET | Získanie jedného záznamu |
| `/v0/meta/bases` | GET | Zoznam dostupných báz |
| `/v0/meta/bases/{baseId}/tables` | GET | Zoznam tabuliek v báze |
| `/v0/{baseId}/{tableIdOrName}/listRecordComments` | GET | Zoznam komentárov k záznamu |
| `/v0/bases/{baseId}/webhooks` | POST | Vytvorenie webhooku |
| `/v0/bases/{baseId}/webhooks` | GET | Zoznam webhookov |

## Ukážky kódu

### Inicializácia konektora

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

### Synchronizácia tabuľky do 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
// }
```

### Spracovanie webhookov

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

### Vytvorenie záznamu z 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]
      }
    });
  }
});
```

## Obmedzenia rýchlosti

Airtable uplatňuje obmedzenia rýchlosti na bázu:

| Typ limitu | Hodnota |
| --- | --- |
| **API rate limit** | 5 požiadaviek za sekundu na bázu |
| **Záznamy na požiadavku** | Max 100 (zoznam), max 10 (vytvorenie/aktualizácia) |
| **Webhook payloady** | 50 payloadov na volanie `listWebhookPayloads` |
| **Veľkosť požiadavky** | Max ~2 MB payload |

Dávkové operácie

Airtable umožňuje vytvorenie alebo aktualizáciu až 10 záznamov na požiadavku. Tajo automaticky rozdeľuje väčšie operácie do viacerých požiadaviek pri dodržaní limitov.

## Riešenie problémov

### Bežné problémy

| Problém | Príčina | Riešenie |
| --- | --- | --- |
| 401 Unauthorized | Neplatný alebo vypršaný token | Znovu vygeneruj Personal Access Token |
| 403 Forbidden | Token nemá prístup k báze | Pridaj bázu do rozsahu svojho tokenu |
| 404 Not Found | Neplatné ID bázy alebo tabuľky | Overte ID bázy a názov tabuľky |
| 422 Invalid Request | Nezhoda typov polí | Skontroluj, či typy polí Airtable zodpovedajú tvojim dátam |
| Prekročenie limitu | Viac ako 5 požiadaviek/sek na bázu | Zredukuj frekvenciu synchronizácie alebo rozlož synchronizácie báz |

### Debug režim

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

### Test pripojenia

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

## Odporúčané postupy

1. **Obmedz tokeny na konkrétne bázy** - Neposkytuj prístup ku všetkým bázam, ak to nie je potrebné
2. **Použi zobrazenia pre filtrovanú synchronizáciu** - Synchronizuj konkrétne zobrazenia namiesto celých tabuliek na zníženie objemu dát
3. **Dávkuj operácie so záznamami** - Zoskup vytváranie a aktualizácie v dávkach po 10
4. **Spravuj stránkovanie** - Airtable vracia 100 záznamov na stránku; iteruj pomocou `offset`
5. **Použi webhooky pre real-time** - Zaregistruj webhooky namiesto pollingu zmien
6. **Presne namapuj typy polí** - Zosúlaď typy polí Airtable (select, number, date) s typmi atribútov Brevo

## Bezpečnosť

- **Personal Access Tokens** - Obmedzené na konkrétne bázy a operácie
- **OAuth 2.0** - Bezpečný autorizačný flow s refresh tokenmi
- **Iba HTTPS** - Všetka API komunikácia šifrovaná cez TLS 1.2+
- **Kontrola prístupu na úrovni bázy** - Tokeny obmedzené na individuálne bázy
- **Šifrované úložisko** - Tokeny šifrované v pokoji v Tajo
- **Overenie webhookov HMAC** - Overovanie pravosti webhook notifikácií

## Súvisiace zdroje

- [Notion konektor](https://tajo.io/sk/docs/connectors/custom/notion)
- [GitHub konektor](https://tajo.io/sk/docs/connectors/custom/github)
- [Customer Sync skill](https://tajo.io/sk/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sk/docs/contact-management)
