Chapter 11

Notion/Airtable/Google Sheets Integration

Ch11 Notion / Airtable / Google Sheets Integration

Notion, Airtable, and Google Sheets are the backbone of knowledge management, no-code databases, and collaborative reporting in modern teams. n8n provides native nodes for all three, enabling page creation, record CRUD, view filtering, and bulk writes. This chapter covers each node's core features and builds two complete projects: auto-capturing CRM leads into Notion and syncing form submissions to Google Sheets with Feishu notifications.

Notion Node: Pages and Database Operations

Authenticate with a Notion Internal Integration Token: create an integration at notion.so/my-integrations, grant it content permissions, then connect it to the target database from the "..." menu. In n8n, create a "Notion API" credential with this token.

Key Operations

Finding the Database ID: Open the database in your browser — the 32-character hex string in the URL is the Database ID. Or click "Search" in the n8n node's Database field to auto-discover databases shared with your integration.

Airtable Node: Flexible Low-Code Database

Authenticate with a Personal Access Token (PAT) from airtable.com/create/tokens. Configure the Base ID (from the Base URL, e.g. appXXXXXXXX) and Table Name.

Operations:

// Filter this month's leads with status "Following Up"
AND(
  IS_SAME({Created Date}, TODAY(), 'month'),
  {Status} = "Following Up"
)

Google Sheets Node: Universal Online Spreadsheet

Uses Google OAuth2 — create credentials in Google Cloud Console and complete the OAuth flow in n8n.

Key operations:

// Append Row node parameters
{
  "operation": "appendOrUpdate",
  "sheetName": "Leads",
  "columns": {
    "mappingMode": "defineBelow",
    "value": {
      "Name": "={{ $json.name }}",
      "Company": "={{ $json.company }}",
      "Timestamp": "={{ $now.toISO() }}"
    }
  }
}

Bidirectional Sync Architecture

Key principles for keeping multiple platforms in sync:

Project: Auto-Capture CRM Leads to Notion

Webhook (form submission) → Code node (data cleaning: trim whitespace, normalize phone numbers, map source channel names) → Notion Create Page (create lead record with name, company, contact, budget) → Notion Get Page (find next available salesperson via round-robin from a "Sales Team" database) → Notion Update Page (assign owner to lead) → HTTP Request (Feishu notification to salesperson with Notion page link).

Project: Form → Google Sheets → Feishu Notification

A lightweight data collection pipeline suitable for non-technical teams:

  1. Webhook Trigger: Receive Google Forms / Tally submission
  2. Google Sheets Append Row: Append submission to the master sheet
  3. Google Sheets Read Rows: Read today's total submission count
  4. HTTP Request: Push Feishu group message with new submission alert and today's stats

Why self-hosted n8n wins over Zapier/Make here: No task count limits, customer data never leaves your server, and at high volumes (tens of thousands of records per month) the cost difference is dramatic.

Rate this chapter
4.8  / 5  (27 ratings)

💬 Comments