Airtable कनेक्टर

अपने Airtable bases को Brevo से कनेक्ट करें और Tajo के माध्यम से structured data पर आधारित CRM synchronization, product catalog management, और स्वचालित marketing workflows का लाभ उठाएं।

अवलोकन

PropertyValue
PlatformAirtable
CategoryCustom
Setup ComplexityEasy
Official IntegrationNo
Data SyncedRecords, Tables, Users
API TypeREST API
AuthenticationPersonal Access Token / OAuth 2.0
Base URLhttps://api.airtable.com/v0/

विशेषताएं

  • Table-to-list sync - Airtable table records को सीधे Brevo contact lists में sync करें
  • Product catalog bridge - Airtable tables को email recommendations के लिए product catalog के रूप में उपयोग करें
  • CRM synchronization - Airtable CRM और Brevo contacts के बीच द्विदिशीय sync
  • Form submission events - Airtable form submissions को Brevo events के रूप में forward करें
  • View-based filtering - विशिष्ट Airtable views को targeted Brevo lists में sync करें
  • Webhook automation - जब Airtable records बदलें तो Brevo campaigns trigger करें

पूर्वावश्यकताएं

शुरू करने से पहले, सुनिश्चित करें कि आपके पास हैं:

  1. एक Airtable account (Free plan या उससे ऊपर)
  2. एक Personal Access Token या OAuth app कॉन्फ़िगर किया हुआ
  3. उन bases और tables तक पहुंच जिन्हें आप sync करना चाहते हैं
  4. API access वाला एक Brevo account
  5. सक्रिय subscription वाला एक Tajo account

प्रमाणीकरण

Airtable Personal Access Tokens और OAuth 2.0 को support करता है।

विकल्प 1: Personal Access Token (अनुशंसित)

  1. airtable.com/create/tokens पर जाएं
  2. Create new token पर क्लिक करें
  3. इसे “Tajo Integration” नाम दें
  4. scopes जोड़ें:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. विशिष्ट bases या सभी bases तक access जोड़ें
  2. Create token पर क्लिक करें

विकल्प 2: OAuth 2.0

Multi-user integrations के लिए, OAuth 2.0 flow का उपयोग करें:

  1. airtable.com/create/oauth पर अपना integration register करें
  2. redirect URI कॉन्फ़िगर करें: https://app.tajo.io/callbacks/airtable
  3. ऊपर दिए गए समान scopes का अनुरोध करें

Token Scoping

Personal Access Tokens को विशिष्ट bases तक scope किया जा सकता है। सुरक्षा के लिए, “All current and future bases” चुनने के बजाय केवल उन्हीं bases तक access दें जिनकी आपके integration को आवश्यकता है।

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"

Field Mapping

Airtable fields को Brevo contact attributes से map करें:

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

View-आधारित Sync

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 Endpoints

Tajo निम्नलिखित Airtable Web API endpoints के साथ integrate करता है:

EndpointMethodउद्देश्य
/v0/{baseId}/{tableIdOrName}GETकिसी table में records list करें
/v0/{baseId}/{tableIdOrName}POSTrecords बनाएं
/v0/{baseId}/{tableIdOrName}PATCHrecords अपडेट करें
/v0/{baseId}/{tableIdOrName}DELETErecords हटाएं
/v0/{baseId}/{tableIdOrName}/{recordId}GETएकल record पुनः प्राप्त करें
/v0/meta/basesGETaccessible bases list करें
/v0/meta/bases/{baseId}/tablesGETकिसी base में tables list करें
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETrecord comments list करें
/v0/bases/{baseId}/webhooksPOSTwebhook बनाएं
/v0/bases/{baseId}/webhooksGETwebhooks list करें

कोड उदाहरण

कनेक्टर शुरू करें

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

Table को Brevo से Sync करें

// Airtable table को Brevo list से sync करें
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 परिवर्तनों की सूचना देते हैं; cursor के साथ विवरण लाएं
app.post('/webhooks/airtable', async (req, res) => {
const { base, webhook, timestamp } = req.body;
// webhook cursor का उपयोग करके बदले गए records लाएं
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 से Record बनाएं

// जब Brevo contact convert हो तो Airtable record बनाएं
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]
}
});
}
});

Rate Limits

Airtable प्रति base rate limits लागू करता है:

Limit TypeValue
API rate limitप्रति base 5 requests प्रति सेकंड
Records per requestअधिकतम 100 records (list), अधिकतम 10 records (create/update)
Webhook payloadsप्रति listWebhookPayloads कॉल 50 payloads
Request sizeअधिकतम payload ~2MB

Batch Operations

Airtable प्रति request 10 records तक बनाने या अपडेट करने की अनुमति देता है। Tajo स्वचालित रूप से बड़े operations को rate limits का पालन करते हुए कई requests में batch कर देता है।

समस्या निवारण

सामान्य समस्याएं

समस्याकारणसमाधान
401 Unauthorizedअमान्य या expired tokenPersonal Access Token को फिर से generate करें
403 ForbiddenToken के पास base access नहीं हैbase को अपने token के scope में जोड़ें
404 Not Foundअमान्य base या table IDbase ID और table name सत्यापित करें
422 Invalid RequestField type mismatchसुनिश्चित करें कि Airtable field types आपके data से मेल खाते हैं
Rate limit exceededप्रति base 5 req/s से अधिकsync frequency घटाएं या base syncs को stagger करें

Debug Mode

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

Connection Test करें

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

सर्वोत्तम प्रथाएं

  1. Tokens को विशिष्ट bases तक scope करें - आवश्यक न होने तक सभी bases तक access न दें
  2. Filtered sync के लिए views का उपयोग करें - data volume घटाने के लिए पूरी tables के बजाय विशिष्ट views sync करें
  3. Batch record operations - creates और updates को 10 के batches में group करें
  4. Pagination संभालें - Airtable प्रति page 100 records लौटाता है; offset के साथ iterate करें
  5. Real-time के लिए webhooks का उपयोग करें - परिवर्तनों के लिए polling के बजाय webhooks register करें
  6. Field types को सटीक रूप से map करें - Airtable field types (select, number, date) को Brevo attribute types से match करें

सुरक्षा

  • Personal Access Tokens - विशिष्ट bases और operations तक scoped
  • OAuth 2.0 - refresh tokens के साथ सुरक्षित authorization flow
  • HTTPS Only - सभी API communication TLS 1.2+ के माध्यम से encrypted
  • Base-Level Access Control - Tokens व्यक्तिगत bases तक scoped
  • Encrypted Storage - Tokens Tajo में at rest encrypted
  • Webhook HMAC Verification - webhook notification की प्रामाणिकता सत्यापित करें

संबंधित संसाधन

Subscribe to updates

developer-docs

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

auto-detect
AI सहायक

नमस्ते! डॉक्यूमेंटेशन के बारे में कुछ भी पूछें।