Skip to main content

Inventory reconciliation between Notion & Airtable with GPT-4o Slack alerts

Workflow preview

Inventory reconciliation between Notion & Airtable with GPT-4o Slack alerts preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

Overview

๐Ÿ“˜ Description

This workflow performs automated inventory reconciliation between Notion (physical counts) and Airtable (system counts), ensuring both databases stay synchronized. It fetches records from both systems, merges them into a unified comparison payload, validates the structure, and calculates discrepancies. If a mismatch is detected, the workflow automatically updates Airtable with the corrected count and notifies the operations team on Slack. If everything matches, a simple โ€œNo action neededโ€ Slack message is sent. Any malformed or incomplete payloads are logged into Google Sheets for audit tracking.

โš™๏ธ What This Workflow Does (Step-by-Step)

๐ŸŸข Manual Trigger โ€“ Execute Workflow Starts the reconciliation process on demand.

๐Ÿ“ฅ Fetch Records from Notion Retrieves physical stock data (cycle count) stored in Notion.

๐Ÿ“ฆ Fetch Records from Airtable Loads inventory data from Airtableโ€™s system-of-record table.

๐Ÿ”€ Merge Notion + Airtable Inputs Combines both datasets into a single payload for unified processing.

๐Ÿ” Validate Payload Structure (IF Node) Ensures that key fields (like id) exist. Valid โ†’ continue Invalid โ†’ logged to Google Sheets.

๐Ÿงพ Log Invalid Versioning Requests to Google Sheets Stores broken or incomplete payload entries for later review.

๐Ÿงฎ Build Combined Notion + Airtable Payload (Code Node) Constructs the structured comparison object: { notion: {...}, airtable: [...] }

๐Ÿ“Š Compare Notion Record With Airtable Record (Code Node) Performs core reconciliation logic: Matches items by name Compares physical vs. system count Calculates difference Determines if a correction is needed If mismatch โ†’ flagged for update.

๐Ÿ”Ž Check If Record Requires Update (IF Node) Branches logic into: Mismatch โ†’ Update Airtable + Alert Match โ†’ No action summary

๐Ÿ› ๏ธ Update Airtable Record With Corrected Count Writes the accurate physical count from Notion into Airtable.

๐Ÿง  Configure GPT-4o โ€“ Slack Summary Models Two models: For โ€œno action neededโ€ summaries For โ€œAirtable updatedโ€ discrepancy alerts

๐Ÿค– Generate Slack Summary / Generate Slack Summary1 AI produces short, precise, operations-friendly Slack messages based on whether a discrepancy existed.

๐Ÿ’ฌ Slack โ€“ Send Summary Notification / Send Update Notification Sends final Slack message to the operations user, confirming: Stock match status Updates made Item details Difference values

๐Ÿงฉ Prerequisites

  • Notion API integration
  • Airtable API credentials
  • Azure OpenAI GPT-4o
  • Slack API connection
  • Google Sheets OAuth

๐Ÿ’ก Key Benefits

โœ” Eliminates manual reconciliation errors โœ” Keeps Airtable continuously aligned with real physical counts โœ” Provides instant Slack visibility to operations teams โœ” Logs all invalid or malformed cases โœ” Centralizes Notion + Airtable consistency checks

๐Ÿ‘ฅ Perfect For

  • Operations teams managing multi-system inventory
  • Warehouse cycle count workflows
  • Audit-driven companies needing accurate stock data
  • Businesses using Notion + Airtable as parallel systems