AutomationFlowsAI & RAG › AI Agent Chat with Airtable Integration

AI Agent Chat with Airtable Integration

Original n8n title: 🔥 AI Agent with Airtable

🔥 AI Agent with Airtable. Uses agent, lmChatOpenAi, memoryBufferWindow, chatTrigger. Chat trigger; 11 nodes.

Chat trigger trigger★★★☆☆ complexityAI-powered11 nodesAgentOpenAI ChatMemory Buffer WindowChat TriggerAirtable Tool
AI & RAG Trigger: Chat trigger Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Airtabletool recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "\ud83d\udd25 AI Agent with Airtable",
  "nodes": [
    {
      "parameters": {
        "options": {
          "systemMessage": "=You are a helpful assistant\n\n- use airtable for getting Customer information from workspace (app5DqpHK079EzzQj)\n\nairtable default setting \n- baseid: app5DqpHK079EzzQj\n- tableid: Customer\n\nmake sure to ListTool first then the executeTool\n\n\u8f38\u51fa\u898f\u5247\n\u5730\u5340\uff1a\u53f0\u7063  \n\u6642\u9593\uff1aUTC8\n\u8f38\u51fa\u8a9e\u8a00\uff1a\u7e41\u9ad4\u4e2d\u6587"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        420,
        -40
      ],
      "id": "ff2e814a-0fba-458a-a9c5-8665fc5ee661",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "content": "## Airtable \u5de5\u5177 \n",
        "height": 220,
        "width": 640
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        520,
        120
      ],
      "id": "e1cc8938-db1b-4e3b-ba20-1afd5bb2a1d3",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4o",
          "mode": "list",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        280,
        180
      ],
      "id": "9730e910-2086-43a1-84e9-b4c54ea1cb65",
      "name": "OpenAI 4o",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## AI Agent + Airtable \u5de5\u5177\n",
        "height": 520,
        "width": 1060,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        120,
        -160
      ],
      "id": "b90e70d8-ea68-4c97-abc5-abe26fc54313",
      "name": "Sticky Note1"
    },
    {
      "parameters": {},
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        420,
        180
      ],
      "id": "ed55eacf-b74f-423c-bb72-9889d5db2a09",
      "name": "\u8a18\u61b6"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        180,
        -40
      ],
      "id": "82824763-eafa-4c05-9709-b55b56ca1089",
      "name": "\u6536\u5230\u5c0d\u8a71\u8a0a\u606f"
    },
    {
      "parameters": {
        "authentication": "airtableOAuth2Api",
        "operation": "create",
        "base": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "table": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "\u516c\u53f8\u540d\u7a31": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "\u96fb\u8a71": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('__', ``, 'string') }}",
            "\u96fb\u5b50\u90f5\u4ef6": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "Notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "\u516c\u53f8\u540d\u7a31",
              "displayName": "\u516c\u53f8\u540d\u7a31",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u8a71",
              "displayName": "\u96fb\u8a71",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u5b50\u90f5\u4ef6",
              "displayName": "\u96fb\u5b50\u90f5\u4ef6",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "options",
              "options": [
                {
                  "name": "\u5c1a\u672a\u62dc\u8a2a",
                  "value": "\u5c1a\u672a\u62dc\u8a2a"
                },
                {
                  "name": "\u6f5b\u5728\u6a5f\u6703",
                  "value": "\u6f5b\u5728\u6a5f\u6703"
                },
                {
                  "name": "\u6d3d\u8ac7\u4e2d",
                  "value": "\u6d3d\u8ac7\u4e2d"
                },
                {
                  "name": "\u6210\u4ea4",
                  "value": "\u6210\u4ea4"
                }
              ],
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Notes",
              "displayName": "Notes",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        800,
        200
      ],
      "id": "39fdf130-484f-48ba-8ad5-781326f3c16e",
      "name": "Create Record",
      "credentials": {
        "airtableOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "airtableOAuth2Api",
        "base": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "table": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "id": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Record_ID', ``, 'string') }}",
        "options": {}
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        680,
        200
      ],
      "id": "efcc35d6-bd74-4d58-952e-eaac125ee287",
      "name": "Get Record",
      "credentials": {
        "airtableOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "airtableOAuth2Api",
        "operation": "update",
        "base": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "table": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "\u516c\u53f8\u540d\u7a31": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "\u96fb\u8a71": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('__', ``, 'string') }}",
            "\u96fb\u5b50\u90f5\u4ef6": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "Notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "\u516c\u53f8\u540d\u7a31",
              "displayName": "\u516c\u53f8\u540d\u7a31",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u8a71",
              "displayName": "\u96fb\u8a71",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u5b50\u90f5\u4ef6",
              "displayName": "\u96fb\u5b50\u90f5\u4ef6",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "options",
              "options": [
                {
                  "name": "\u5c1a\u672a\u62dc\u8a2a",
                  "value": "\u5c1a\u672a\u62dc\u8a2a"
                },
                {
                  "name": "\u6f5b\u5728\u6a5f\u6703",
                  "value": "\u6f5b\u5728\u6a5f\u6703"
                },
                {
                  "name": "\u6d3d\u8ac7\u4e2d",
                  "value": "\u6d3d\u8ac7\u4e2d"
                },
                {
                  "name": "\u6210\u4ea4",
                  "value": "\u6210\u4ea4"
                }
              ],
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Notes",
              "displayName": "Notes",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        920,
        200
      ],
      "id": "7ec63b98-1cdc-462a-873b-c546009f3efe",
      "name": "Update Record",
      "credentials": {
        "airtableOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "airtableOAuth2Api",
        "operation": "create",
        "base": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "table": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "\u516c\u53f8\u540d\u7a31": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "\u96fb\u8a71": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('__', ``, 'string') }}",
            "\u96fb\u5b50\u90f5\u4ef6": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('____', ``, 'string') }}",
            "Notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "\u516c\u53f8\u540d\u7a31",
              "displayName": "\u516c\u53f8\u540d\u7a31",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u8a71",
              "displayName": "\u96fb\u8a71",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "\u96fb\u5b50\u90f5\u4ef6",
              "displayName": "\u96fb\u5b50\u90f5\u4ef6",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "options",
              "options": [
                {
                  "name": "\u5c1a\u672a\u62dc\u8a2a",
                  "value": "\u5c1a\u672a\u62dc\u8a2a"
                },
                {
                  "name": "\u6f5b\u5728\u6a5f\u6703",
                  "value": "\u6f5b\u5728\u6a5f\u6703"
                },
                {
                  "name": "\u6d3d\u8ac7\u4e2d",
                  "value": "\u6d3d\u8ac7\u4e2d"
                },
                {
                  "name": "\u6210\u4ea4",
                  "value": "\u6210\u4ea4"
                }
              ],
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Notes",
              "displayName": "Notes",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        1040,
        200
      ],
      "id": "f342d2c2-e09a-4419-9c86-b91895956cef",
      "name": "Delete Record",
      "credentials": {
        "airtableOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "airtableOAuth2Api",
        "operation": "search",
        "base": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "table": {
          "__rl": true,
          "value": "https://airtable.com/app5DqpHK079EzzQj/tbldGkpPw10LpKQmZ/viwKBHqMBCZBGQ5UU",
          "mode": "url"
        },
        "filterByFormula": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}",
        "options": {}
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        580,
        200
      ],
      "id": "ea2eb74a-5fc2-4683-a8ba-8655eecb393a",
      "name": "List Record",
      "credentials": {
        "airtableOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "AI Agent": {
      "main": [
        []
      ]
    },
    "OpenAI 4o": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "\u8a18\u61b6": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "\u6536\u5230\u5c0d\u8a71\u8a0a\u606f": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Record": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Record": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update Record": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete Record": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "List Record": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b6e4dca5-ce45-4194-954b-6e2c880964b6",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "1hsDpzv9ejfo1NGF",
  "tags": [
    {
      "createdAt": "2025-01-21T07:13:36.575Z",
      "updatedAt": "2025-01-21T07:13:36.575Z",
      "id": "yM2YsERN8eAqo2ZC",
      "name": "ai-agent"
    },
    {
      "createdAt": "2025-03-17T08:20:06.861Z",
      "updatedAt": "2025-03-17T08:20:06.861Z",
      "id": "pvRmfUcHdkTEgrk9",
      "name": "yt"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

🔥 AI Agent with Airtable. Uses agent, lmChatOpenAi, memoryBufferWindow, chatTrigger. Chat trigger; 11 nodes.

Source: https://github.com/qwedsazxc78/ai-automation-n8n/blob/bc074b119e8c8f42b3ceaf6f05d016d893869008/n8n/9-ai-agent-with-mcp/ai-agent.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

✨ Intro This workflow shows how to go beyond a “plain” AI chatbot by:

Telegram, OpenAI, OpenAI Chat +13
AI & RAG

Build an MCP server with Airtable. Uses chatTrigger, agent, memoryBufferWindow, mcpClientTool. Chat trigger; 13 nodes.

Chat Trigger, Agent, Memory Buffer Window +4
AI & RAG

Build an MCP server with Airtable. Uses chatTrigger, agent, memoryBufferWindow, mcpClientTool. Chat trigger; 13 nodes.

Chat Trigger, Agent, Memory Buffer Window +4
AI & RAG

This template is designed for anyone who wants to integrate MCP with their AI Agents using Airtable. Whether you're a developer, a data analyst, or an automation enthusiast, if you're looking to lever

Chat Trigger, Agent, Memory Buffer Window +4
AI & RAG

This workflow creates an intelligent chatbot that uses your Airtable database as a knowledge base. The AI agent can automatically query your Airtable records to provide accurate, contextual responses

OpenAI Chat, Airtable Tool, Chat Trigger +2