Back to Blog

Try n8n free for 10 days

After trial, plans start from $7/mo. No charge until day 11.

n8nNotionAirtableintegrationautomation

Sync Notion & Airtable with n8n: Complete 2026 Guide

n8nautomation TeamApril 28, 2026
TL;DR: You can sync data between Notion and Airtable using n8n workflows in minutes. This guide covers one-way sync, bidirectional sync, and real-time automation using webhooks and scheduled triggers. Perfect for teams managing data across both platforms.

Syncing Notion and Airtable with n8n lets you combine Notion's flexible workspace features with Airtable's powerful database and view options. Whether you're managing project data, client records, or content pipelines, keeping both platforms in sync eliminates manual copying and ensures your team always works with the latest information.

This guide shows you exactly how to build n8n workflows that sync data between Notion and Airtable—one-way, bidirectional, and in real-time.

Why Sync Notion and Airtable?

Teams often use Notion for documentation and collaboration while relying on Airtable for structured data management. Here's why syncing them makes sense:

  • Unified data source: Keep client records, project tasks, or content calendars consistent across both tools without manual updates.
  • Leverage strengths: Use Notion's wiki-style pages and Airtable's relational databases, forms, and advanced views together.
  • Team flexibility: Let different teams work in their preferred tool while maintaining a single source of truth.
  • Automation: Trigger actions in one platform based on changes in the other—like creating Airtable records when new Notion database items appear.

With n8nautomation.cloud, you can run these sync workflows 24/7 without managing servers or worrying about downtime.

Prerequisites and Setup

Before building your sync workflow, you'll need:

  • n8n instance: A running n8n setup (self-hosted or managed hosting like n8nautomation.cloud)
  • Notion account: With API access enabled and an integration created
  • Airtable account: With an API key or personal access token
  • Database structures: Both your Notion database and Airtable base should have compatible field types

Setting Up Credentials in n8n

  1. In n8n, go to Credentials from the left sidebar.
  2. Add Notion API credentials:
    • Create an integration at notion.so/my-integrations
    • Copy the Internal Integration Token
    • Share your Notion database with this integration
  3. Add Airtable API credentials:
    • Go to airtable.com/create/tokens
    • Create a personal access token with appropriate scopes
    • Copy the token into n8n

Tip: Document your Notion database ID and Airtable base/table IDs before starting. You'll need these when configuring nodes.

One-Way Sync: Notion to Airtable

This workflow checks your Notion database on a schedule and adds new records to Airtable.

Workflow Structure

  1. Schedule Trigger — Runs every 15 minutes (or your preferred interval)
  2. Notion node (Get Database Items) — Retrieves all items from your Notion database
  3. Airtable node (Get Records) — Fetches existing Airtable records
  4. Code node (Filter New Items) — Compares data and identifies items not yet in Airtable
  5. Airtable node (Create Record) — Adds new records to Airtable

Step-by-Step Setup

  1. Add a Schedule Trigger node and set it to run every 15 minutes.
  2. Add a Notion node:
    • Set Resource to Database Page
    • Set Operation to Get Many
    • Select your Notion database from the dropdown
    • Enable Return All to fetch all records
  3. Add an Airtable node:
    • Set Operation to List
    • Select your Airtable base and table
    • This gives you existing records to compare against
  4. Add a Code node to filter new items:
    • Compare Notion items against Airtable records using a unique identifier (like email, ID, or title)
    • Return only items that don't exist in Airtable
  5. Add another Airtable node:
    • Set Operation to Create
    • Map Notion fields to Airtable columns
    • Use expressions to transform data formats if needed

Field Mapping Example

If your Notion database has Name, Email, and Status properties, map them like this in the Airtable Create node:

  • Name: {{ $json.properties.Name.title[0].plain_text }}
  • Email: {{ $json.properties.Email.email }}
  • Status: {{ $json.properties.Status.select.name }}

Tip: Use n8n's expression editor to preview data structure. Click the field input, then use the variable selector to explore available properties.

One-Way Sync: Airtable to Notion

This reverses the flow, syncing new Airtable records into Notion.

Workflow Structure

  1. Schedule Trigger — Runs every 15 minutes
  2. Airtable node (List Records) — Gets all records from your base
  3. Notion node (Get Database Items) — Fetches existing Notion database pages
  4. Code node (Filter New Items) — Identifies Airtable records not in Notion
  5. Notion node (Create Database Page) — Creates new Notion pages

Key Configuration Points

  1. In the Airtable List node, filter by a Last Modified field if you want to sync only recent changes.
  2. In the Notion Create node:
    • Set Resource to Database Page
    • Set Operation to Create
    • Select your target Notion database
    • Map Airtable fields to Notion properties using the correct property types
  3. Use the Code node to handle data transformation—Airtable and Notion use different formats for dates, selects, and multi-selects.

Handling Notion Property Types

Notion requires specific JSON formats for different property types:

  • Title: {"title": [{"text": {"content": "Your text"}}]}
  • Rich Text: {"rich_text": [{"text": {"content": "Your text"}}]}
  • Select: {"select": {"name": "Option name"}}
  • Date: {"date": {"start": "2026-04-28"}}

Build these structures in your Code node before passing to the Notion Create node.

Bidirectional Sync Between Both Platforms

Bidirectional sync keeps both platforms updated regardless of where changes occur. This requires tracking which records have been synced and handling conflicts.

Workflow Approach

  1. Create two separate workflows (Notion → Airtable and Airtable → Notion)
  2. Add a sync timestamp field in both platforms to track last sync time
  3. Use the timestamp to identify records modified since the last sync
  4. Add conflict resolution logic (e.g., "last write wins" or manual review)

Preventing Infinite Loops

When building bidirectional sync, you risk creating loops where updates trigger back-and-forth syncs forever. Prevent this by:

  • Using a sync flag: Add a checkbox field called Syncing in both platforms. Set it to true before syncing, skip records where it's true, then set to false after completion.
  • Timestamp comparison: Only sync records where Last Modified is newer than Last Synced.
  • Unique identifiers: Store the Airtable record ID in Notion and vice versa. Check these before creating new records.
Note: Bidirectional sync adds complexity. Start with one-way sync and confirm it works correctly before implementing bidirectional updates.

Real-Time Sync with Webhooks

Instead of polling with scheduled triggers, use webhooks for near-instant synchronization when data changes.

Airtable to Notion (Real-Time)

  1. Create a workflow with a Webhook trigger node
  2. Copy the webhook URL from n8n
  3. In Airtable, set up an automation:
    • Trigger: When record is created or When record is updated
    • Action: Send webhook request to your n8n webhook URL
    • Include the record data in the payload
  4. In your n8n workflow, add a Notion node to create or update the corresponding page

Notion to Airtable (Real-Time)

Notion doesn't support outbound webhooks natively, but you can poll frequently (every 1-5 minutes) for a near-real-time experience:

  1. Use a Schedule Trigger set to every 1-2 minutes
  2. Query Notion for records modified in the last 2 minutes using a filter:
    • Add a filter for Last edited timePast 2 minutes
  3. Process only the changed records and sync them to Airtable

For true real-time Notion updates, you'd need to build a custom integration monitoring Notion's API, but rapid polling works well for most use cases.

Common Issues and Solutions

Error: "Notion database not shared with integration"

This happens when your Notion integration doesn't have access to the database. Fix:

  1. Open your Notion database
  2. Click the ••• menu → Connections
  3. Add your integration from the list

Duplicate Records Being Created

Your filtering logic isn't correctly identifying existing records. Solutions:

  • Ensure you're comparing the correct unique field (email, external ID, etc.)
  • Check for case sensitivity in string comparisons
  • Add a dedicated Sync ID field to both platforms

Field Type Mismatches

Notion Select fields don't match Airtable options, or dates format incorrectly. Fix:

  • Use a Code node to transform data before sending
  • Map Airtable single-line text to Notion Rich Text (not Title)
  • Convert Airtable dates to ISO 8601 format for Notion: YYYY-MM-DD

Workflow Times Out or Fails with Large Data

Syncing hundreds or thousands of records can overwhelm a workflow. Solutions:

  • Use the Split In Batches node to process records in groups of 50-100
  • Add Wait nodes between batches to avoid rate limits
  • Consider running initial syncs manually, then use incremental syncs for ongoing updates

Tip: Test your sync workflow with a small subset of data first. Create a test database with 5-10 records and verify everything works before scaling up.

Rate Limit Errors

Both Notion and Airtable have API rate limits. Notion allows 3 requests per second, Airtable allows 5 requests per second per base.

To handle rate limits:

  • Add a Wait node between operations (200-500ms)
  • Use Split In Batches to control throughput
  • Enable error retry in the node settings (3 retries with exponential backoff)

Running these workflows on a managed platform like n8nautomation.cloud ensures they run consistently without local system restarts or maintenance interruptions. You get automatic backups of your workflows and 24/7 uptime starting at $7/month.

Best Practices for Production Sync

  • Add error notifications: Connect an IF node to check for errors and send alerts via Slack or email when syncs fail
  • Log sync activity: Write sync results to a Google Sheet or database for auditing
  • Use descriptive naming: Name your workflows clearly ("Notion→Airtable Clients Sync") for easier management
  • Version control: Export your workflows regularly as JSON backups
  • Monitor execution history: Check n8n's execution log weekly to catch silent failures

With the right setup, syncing Notion and Airtable with n8n creates a powerful data pipeline that eliminates manual work and keeps your team's information perfectly aligned across both platforms.

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.