{"workflow":{"id":13459,"name":"AI Agent to Chat with Airtable","views":34,"recentViews":0,"totalViews":34,"createdAt":"2026-02-17T10:44:44.635Z","description":"## Video Introduction\n[![Video Walkthrough](https://vasarmilan-public.s3.us-east-1.amazonaws.com/blog_thumbnails/thumbnail_recidrbznaXlmqFUI.jpg)](https://youtu.be/lQh1fuIrBN8)\n\n#### Want to automate your inbox or need a custom workflow? [📞 Book a Call](https://smoothwork.ai/book-a-call/) | [💬 DM me on Linkedin](https://www.linkedin.com/in/mil%C3%A1n-v%C3%A1s%C3%A1rhelyi-3a9985123/)\n\n---\n\n## Workflow Overview\n\nThis workflow creates an intelligent AI chat agent that allows you to query and retrieve data from your Airtable base using natural language conversations. Instead of manually searching through tables or writing complex formulas, simply ask questions like \"List all Microsoft employees\" or \"Show me contacts from California,\" and the agent will intelligently search the appropriate tables and provide accurate answers.\n\nThe agent is powered by OpenAI's GPT model and equipped with two specialized tools: one for searching your Contacts table and another for searching your Companies table. It maintains conversation context through built-in memory, allowing for follow-up questions and more natural interactions.\n\n## Key Features\n\n- **Natural language queries**: Ask questions in plain English instead of writing formulas\n- **Multi-table search**: Automatically searches both Contacts and Companies tables\n- **Intelligent tool selection**: The AI decides which table to query based on your question\n- **Conversation memory**: Remembers context for follow-up questions\n- **Web-based chat interface**: Interact with your data through a simple chat UI\n\n## Setup Requirements\n\n**Airtable Connection:**\n1. Create a Personal Access Token at [airtable.com/create/tokens](https://airtable.com/create/tokens)\n2. Add these scopes: `data.records:read`, `data.records:write`, and `schema.bases:read`\n3. Grant access to your bases and copy the token\n4. Add the token as an Airtable credential in n8n\n5. Update both Airtable tool nodes to point to your specific base and tables\n\n**OpenAI Connection:**\nConnect your OpenAI API credentials in the OpenAI Chat Model node. The workflow uses GPT-4.1-mini by default, but you can select any available model.\n\nOnce published, the workflow provides a chat URL where you can start asking questions about your Airtable data immediately.","workflow":{"meta":{"instanceId":"c8c9ba5d3eb26ae47a06d24ff164a01c0d73ed4753a74903c2bb609d434a0f6b","templateCredsSetupCompleted":true},"nodes":[{"id":"ac9787a4-30a4-4b0c-a436-96216c92c9f1","name":"When User Asks Question","type":"@n8n/n8n-nodes-langchain.chatTrigger","position":[0,0],"webhookId":"8a58bfe5-2db3-4033-b570-1b2eb229704d","parameters":{"public":true,"options":{}},"typeVersion":1.4},{"id":"ec8d0024-a6a9-4e99-b13a-674bc58e810c","name":"CRM Assistant Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[208,0],"parameters":{"options":{}},"typeVersion":3},{"id":"5c42efa4-f4da-453b-9fee-ee2814186e7c","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[80,208],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"IscXryYQZrfSUSkH","name":"OpenAi account"}},"typeVersion":1.3},{"id":"3c6433ae-da9b-4bc8-895b-bedcabe92207","name":"Conversation Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[224,208],"parameters":{},"typeVersion":1.3},{"id":"78ff4f41-2b27-4871-8bbd-f60b464a5a2b","name":"Search Contacts","type":"n8n-nodes-base.airtableTool","position":[368,208],"parameters":{"base":{"__rl":true,"mode":"list","value":"appXXXXXXXXXXXXXX","cachedResultUrl":"https://airtable.com/appXXXXXXXXXXXXXX","cachedResultName":"Contacts Database"},"table":{"__rl":true,"mode":"list","value":"tblXXXXXXXXXXXXXX","cachedResultUrl":"https://airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX","cachedResultName":"Contacts"},"options":{},"operation":"search"},"credentials":{"airtableTokenApi":{"id":"lkxZWCd27TyEahCT","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"32ee730c-f4e5-42e3-b0cc-dba03cd495fe","name":"Search Companies","type":"n8n-nodes-base.airtableTool","position":[480,144],"parameters":{"base":{"__rl":true,"mode":"list","value":"appXXXXXXXXXXXXXX","cachedResultUrl":"https://airtable.com/appXXXXXXXXXXXXXX","cachedResultName":"Companies Database"},"table":{"__rl":true,"mode":"list","value":"tblYYYYYYYYYYYYYY","cachedResultUrl":"https://airtable.com/appXXXXXXXXXXXXXX/tblYYYYYYYYYYYYYY","cachedResultName":"Companies"},"options":{},"operation":"search"},"credentials":{"airtableTokenApi":{"id":"lkxZWCd27TyEahCT","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"doc-note-1771263655471","name":"Workflow Description","type":"n8n-nodes-base.stickyNote","position":[-700,-150],"parameters":{"width":600,"height":854,"content":"## Workflow Overview\n\nThis workflow creates an intelligent AI chat agent that can query and retrieve data from your Airtable base using natural language. Simply ask questions about your contacts or companies, and the agent will search the appropriate tables and provide answers based on your data.\n\n### First Setup\n\n**Airtable Connection:**\n1. Create a Personal Access Token at [airtable.com/create/tokens](https://airtable.com/create/tokens)\n2. Add these scopes: `data.records:read`, `data.records:write`, and `schema.bases:read`\n3. Grant access to your bases and save the token\n4. Add the token to n8n as an Airtable credential\n\n**OpenAI Connection:**\nConnect your OpenAI API account credentials in the OpenAI Chat Model node.\n\n### Configuration\n\n**Airtable Tools:**\nReconfigure both Airtable tool nodes to point to your own Airtable base and tables:\n- Update the base URL to your Airtable base\n- Set the appropriate table for Contacts searches\n- Set the appropriate table for Companies searches\n\n**Chat Model:**\nThe workflow uses GPT-4.1-mini by default, but you can select a different OpenAI model in the settings if needed.\n\nOnce published, use the chat interface to ask questions about your data in plain English!"},"typeVersion":1},{"id":"contact-note-1771263708644","name":"Creator Contact Info","type":"n8n-nodes-base.stickyNote","position":[-700,-610],"parameters":{"color":5,"width":600,"height":440,"content":"# Contact Us:\n## Milan @ SmoothWork - [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n![Milan](https://gravatar.com/avatar/95700d17ba300a9f14c1b8cacf933df7720027b3adda9cbe6183d89142925422?r=pg&d=retro&size=100)\n\n\n### We help businesses eliminate busywork by building compact business tools tailored to your process.\n### Contact us for customizing this, or building similar automations.\n\n📧 hello@smoothwork.ai\n▶️ [Check us on YouTube](https://www.youtube.com/@vasarmilan)\n📞 [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n💼 [Add me on Linkedin](https://www.linkedin.com/in/mil%C3%A1n-v%C3%A1s%C3%A1rhelyi-3a9985123/)\n"},"typeVersion":1},{"id":"video-note-1771324743907","name":"Video Walkthrough","type":"n8n-nodes-base.stickyNote","position":[-90,-610],"parameters":{"width":420,"height":340,"content":"# Video Walkthrough\n[![image.png](https://vasarmilan-public.s3.us-east-1.amazonaws.com/blog_thumbnails/thumbnail_recidrbznaXlmqFUI.jpg)](https://youtu.be/lQh1fuIrBN8)"},"typeVersion":1}],"pinData":{},"connections":{"Search Contacts":{"ai_tool":[[{"node":"CRM Assistant Agent","type":"ai_tool","index":0}]]},"Search Companies":{"ai_tool":[[{"node":"CRM Assistant Agent","type":"ai_tool","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"CRM Assistant Agent","type":"ai_languageModel","index":0}]]},"Conversation Memory":{"ai_memory":[[{"node":"CRM Assistant Agent","type":"ai_memory","index":0}]]},"When User Asks Question":{"main":[[{"node":"CRM Assistant Agent","type":"main","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":9,"nodeTypes":{"n8n-nodes-base.stickyNote":{"count":3},"n8n-nodes-base.airtableTool":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.chatTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Milan Vasarhelyi - SmoothWork","username":"vasarmilan","bio":"We help you eliminate the busywork by building compact business tools tailored to your processes.\n\n📞: https://smoothwork.ai/book-a-call\n▶️: https://www.youtube.com/@vasarmilan","verified":true,"links":["https://smoothwork.ai"],"avatar":"https://gravatar.com/avatar/95700d17ba300a9f14c1b8cacf933df7720027b3adda9cbe6183d89142925422?r=pg&d=retro&size=200"},"nodes":[{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1247,"icon":"fa:comments","name":"@n8n/n8n-nodes-langchain.chatTrigger","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/"}]},"categories":["Core Nodes","Langchain"]}},"group":"[\"trigger\"]","defaults":{"name":"When chat message received"},"iconData":{"icon":"comments","type":"icon"},"displayName":"Chat Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":42,"name":"Internal Wiki"},{"id":47,"name":"AI Chatbot"}],"image":[]}}