Most businesses use Airtable as a souped-up spreadsheet. They enter data manually, sort it manually, follow up manually. The records just sit there — accurate but inert.

The shift happens when you connect Airtable to n8n. Suddenly a new row in your CRM base triggers a welcome email. A status change from "In Progress" to "Complete" fires a Slack notification and generates a client invoice. A form submission creates records, assigns a team member, and books an intro call — all without a human touching it.

This guide covers the Airtable–n8n connection, how Airtable's API works, and six production workflows that agencies and operators use to turn static databases into active systems.

How the Airtable API Works in n8n

Airtable exposes a REST API for every base you create. Each base has a unique ID (starts with app), each table has an ID (starts with tbl), and each record has an ID (starts with rec). n8n's Airtable node wraps all of this, but knowing the structure matters when you need to build dynamic lookups or cross-table logic.

Authentication uses an Airtable Personal Access Token (PAT). Create one at airtable.com/account → Developer Hub → Personal Access Tokens. Scope it to the specific bases you need — data.records:read and data.records:write are the core permissions. Add the token to n8n as a credential under the Airtable node.

Trigger Options: Polling vs Webhooks

Airtable's native webhook support is limited to Enterprise plans. For most teams, n8n polls Airtable on a schedule — checking every 1, 5, or 15 minutes for new or changed records. This covers 90% of use cases.

// Polling pattern for new records Trigger: Schedule (every 5 min) ↓ Node: Airtable → List Records → Table: Leads → Filter: filterByFormula=AND(Status='New',Created>DATEADD(NOW(),-10,'minutes')) → Sort: Created DESC → Max Records: 50 ↓ Node: IF → any records returned? → YES: continue to workflow → NO: Stop

The filterByFormula is standard Airtable formula syntax. The key formula for polling new records: filter by a Created field (use the Airtable formula type "Created time") to only fetch records newer than your last poll window. Don't process the entire table on every run — filter aggressively.

For Enterprise plans or high-frequency use cases, Airtable webhooks deliver record change events in real time. n8n receives the POST and processes immediately, no polling loop required.

Workflow 1: Inbound Lead Capture and CRM Sync

Your website form captures leads into Airtable. This workflow fires the moment a new lead row appears — enriches it, scores it, and syncs to your CRM, all before any human sees the record.

Trigger: Schedule (every 5 min) → Airtable List (Status='New') ↓ Node: HTTP Request → Clearbit/Hunter → enrich lead by email → Returns: company, industry, employee count, LinkedIn ↓ Node: Code → calculate lead score // +10 if company > 50 employees // +15 if email domain matches target ICP // +20 if referred by existing client // -5 if free email domain (gmail, hotmail) ↓ Node: Airtable → Update Record → Fields: Enriched=true, Score=, Company= ↓ Node: IF → Score >= 30? → YES: HubSpot → Create Contact + Deal → YES: Slack → Post to #sales-alerts → NO: Airtable → Update (Status='Low Priority')

The enrichment step transforms raw form submissions into qualified prospects before they hit your CRM. By the time a sales rep opens HubSpot, the lead already has company data, a score, and a priority flag. The average enrichment run takes under 3 seconds per record.

// Measured results from client deployment (B2B SaaS, 200 leads/month)

Workflow 2: Project Status Notifications

Agencies love Airtable for project tracking. This workflow monitors a Project Tracker base and fires Slack notifications whenever a project status changes — no more manually messaging clients or chasing teammates for updates.

// Detecting status changes requires a "snapshot" strategy Trigger: Schedule (every 15 min) ↓ Node: Airtable → List Records (table: Projects, all active) ↓ Node: Code → compare with last-run snapshot // Read snapshot from n8n static data or a "Snapshots" Airtable table // Find records where Status differs from snapshot // Identify: NEW, STATUS_CHANGED, OVERDUE ↓ Node: Switch → route by change type STATUS_CHANGED → Slack #team + email to client NEW PROJECT → assign team member + create Notion page OVERDUE → Slack DM to project owner + flag in Airtable ↓ Node: Code → update snapshot with current state

The snapshot pattern is the standard approach for change detection in polled systems. Store the previous state — either in n8n's built-in static data (persists across runs) or in a dedicated "Snapshots" Airtable table — and diff on every poll cycle. This gives you full change detection without webhooks.

Workflow 3: Client Onboarding Pipeline

When a new client is added to Airtable (from a Stripe payment or a won deal in your CRM), this workflow spins up their entire onboarding sequence: welcome email, Notion workspace creation, Slack channel setup, and an intro call booking link.

Trigger: Airtable List → filter: Status='New Client', Onboarded=false ↓ Node: Gmail → Send welcome email from template → Variables: clientName, serviceType, accountManager ↓ Node: HTTP Request → Notion API → Create page from template → Page: "[Client Name] — Project Hub" → Share with client's email ↓ Node: HTTP Request → Slack API → Create private channel → #client-[slug] with team members added → Post welcome message with Notion link ↓ Node: HTTP Request → Calendly API → Generate one-time booking link → Attach to follow-up email (sent 2h after welcome) ↓ Node: Airtable → Update Record → Onboarded=true, OnboardedAt=NOW(), NotionURL=, SlackChannel=#client-slug

The whole sequence runs in under 30 seconds and requires zero manual steps. Clients receive a professional onboarding experience — welcome email, workspace, and a booking link — within minutes of their record being created. The Airtable record becomes the single source of truth, with links back to every asset created.

For deeper onboarding automation patterns, see our full client onboarding automation guide — the same principles apply whether your source of truth is Airtable, HubSpot, or a spreadsheet.

Workflow 4: Automated Reporting from Airtable Data

Every Monday morning, this workflow pulls data from multiple Airtable bases, aggregates it, and emails a clean performance report to leadership — without anyone building or exporting anything manually.

Trigger: Schedule (Monday 08:00) ↓ Node: Airtable → List Records (Deals, closed this week) Node: Airtable → List Records (Projects, completed this week) Node: Airtable → List Records (Support Tickets, resolved this week) [all three in parallel] ↓ Node: Code → aggregate metrics { dealsWon: count + value sum, projectsDelivered: count + avg satisfaction score, ticketsResolved: count + avg resolution time, weeklyRevenue: sum of closed deal values } ↓ Node: Code → build HTML email report → Header: "Week of [date]" → Sections: Revenue, Projects, Support → Trend indicators vs prior week (from snapshot) ↓ Node: Gmail → Send to leadership@company.com ↓ Node: Slack → Post summary card to #leadership

The key to making this useful: include trend data, not just snapshots. Compare this week to last week, this month to last month. Readers want to know if things are improving or declining — a number without context is just noise. Store weekly summaries in a "Reports" Airtable table to build your historical baseline.

Workflow 5: Inventory and Stock Alert System

Product businesses using Airtable as their inventory database can trigger reorder alerts, supplier emails, and Slack notifications the moment stock drops below threshold — no ERP required.

Trigger: Schedule (twice daily: 09:00 and 17:00) ↓ Node: Airtable → List Records (table: Inventory) → Filter: filterByFormula=Quantity<=ReorderPoint ↓ Node: IF → any low-stock items? → NO: Stop → YES: continue ↓ Node: Split in Batches → process each low-stock item ↓ Node: IF → already alerted today? (check LastAlertDate) → YES: skip (avoid duplicate emails) → NO: continue ↓ Node: Gmail → Email to supplier with item details + reorder quantity ↓ Node: Slack → Post to #ops: "[Item] below threshold: Qty=12, Reorder=50" ↓ Node: Airtable → Update Record → LastAlertDate=TODAY(), AlertStatus='Notified'

The deduplication check (LastAlertDate) prevents alert storms where the same item triggers emails on every run. Idempotency is critical in any polling-based automation — always record that you've acted on a record, so subsequent runs skip it until the condition changes again.

Workflow 6: Cross-Base Record Sync

Large organisations split their data across multiple Airtable bases — one for sales, one for ops, one for finance. This workflow keeps them in sync: when a deal closes in the Sales base, it creates a corresponding project in the Ops base and a billing record in the Finance base.

Trigger: Airtable List (Sales base → Deals, Status changed to 'Won', Synced=false) ↓ Node: Code → build project record from deal data { clientName: deal.ClientName, value: deal.Value, startDate: TODAY(), endDate: DATEADD(TODAY(), deal.DurationWeeks, 'weeks'), accountManager: deal.Owner } ↓ Node: Airtable → Create Record (Ops base → Projects table) → Returns: new project record ID ↓ Node: Airtable → Create Record (Finance base → Invoices table) → Fields: Client, Amount, DueDate=30 days from now, Status='Draft' ↓ Node: Airtable → Update Record (Sales base → Deals table) → Synced=true, OpsProjectId=<id>, FinanceInvoiceId=<id>

Cross-base sync is one of the most-requested Airtable automations — Airtable's native Automations don't support it, but n8n handles it trivially. Store the cross-references (OpsProjectId, FinanceInvoiceId) back on the source record so you can navigate between bases without a lookup table.

Performance and Limits to Know

Airtable's API has rate limits that affect high-volume workflows. The main ones to know:

For most small-to-mid businesses, these limits are comfortably above what you'll hit. They become relevant when you're processing thousands of records per day — at which point n8n's batch processing and the Split in Batches node become essential tools.

Airtable vs a Real Database: When to Switch

Airtable is an excellent workflow backend — right up until it isn't. The tipping points:

The good news: migrating from Airtable to Postgres in n8n is painless. You swap the Airtable node for a Postgres node — the workflow logic stays identical. Build with Airtable now, migrate later if needed. Most businesses never hit the ceiling.

Getting Started: The 30-Minute Setup

If you want to run your first Airtable–n8n workflow today:

The first run is always the hardest — mostly because you're learning what Airtable's API actually returns versus what you expected. After that, the pattern repeats: get records, filter, act, update. Once you've built one workflow, the next one takes 20% of the time.

// want this built for you?