This workflow corresponds to n8n.io template #13457 — we link there as the canonical source.
This workflow follows the Airtable → OpenAI 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "fbd978ea-7c9c-4a1f-a3b1-e8a61e2d7ced",
"name": "New Company Trigger",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
0,
0
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "url",
"value": "https://airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/viwA8xmWvnROh0JLu"
},
"tableId": {
"__rl": true,
"mode": "url",
"value": "https://airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/viwA8xmWvnROh0JLu"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerField": "Created",
"authentication": "airtableTokenApi",
"additionalFields": {}
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d64c1a43-47e2-49f5-abbe-827d9efffb72",
"name": "Research Company with AI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
208,
0
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4o"
},
"options": {
"textFormat": {
"textOptions": {
"type": "json_schema",
"schema": "{\n \"type\": \"object\",\n \"properties\": {\n \"website\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\"website\", \"summary\"]\n}"
}
}
},
"responses": {
"values": [
{
"content": "=Research the following company: {{ $json.fields.Name }}\n\nRespond with their website, and 1-2 sentence summary of their activities. Look at up to 2-3 sources.\n\nRespond in a JSON format, with keys \"website\" and \"summary\"."
}
]
},
"builtInTools": {
"webSearch": {
"searchContextSize": "medium"
}
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "6cf81375-32dc-435e-b1ab-197cdbe28d50",
"name": "Update Company Record",
"type": "n8n-nodes-base.airtable",
"position": [
560,
0
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appXXXXXXXXXXXXXX",
"cachedResultUrl": "https://airtable.com/appXXXXXXXXXXXXXX",
"cachedResultName": "Contacts"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblXXXXXXXXXXXXXX",
"cachedResultUrl": "https://airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX",
"cachedResultName": "Companies"
},
"columns": {
"value": {
"id": "={{ $('New Company Trigger').item.json.id }}",
"Website": "={{ $json.output[0].content[0].text.website }}",
"Company Details": "={{ $json.output[0].content[0].text.summary }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Website",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Details",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Company Details",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Contacts",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Contacts",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "doc-note-1771263655469",
"name": "Workflow Description",
"type": "n8n-nodes-base.stickyNote",
"position": [
-700,
-150
],
"parameters": {
"width": 600,
"height": 869,
"content": "## Workflow Overview\n\nThis workflow automatically researches companies and enriches your Airtable database whenever a new company is added. The AI agent searches the web to find the company's website and generates a concise 1-2 sentence summary of their business activities, then updates the Airtable record with these findings.\n\n### First Setup\n\n**Airtable Configuration:**\n- Ensure your Companies table has a **Created time** field (this triggers the workflow)\n- Create an Airtable Personal Access Token at [airtable.com/create/tokens](https://airtable.com/create/tokens)\n- Grant these scopes: `data.records:read`, `data.records:write`, and `schema.bases:read`\n- Add the credential in n8n under the Airtable Personal Access Token API option\n\n**OpenAI Setup:**\n- Register for an OpenAI account and obtain an API key\n- Add your OpenAI credentials in n8n\n\n**Workflow Configuration:**\n- Update the Airtable Trigger node with your own base and table URLs\n- Update the Airtable Update node with your base and table information\n- Ensure your table has fields for **Website** and **Company Details** (or modify the field mappings to match your schema)\n\nOnce published, the workflow runs automatically whenever a new company is added to your table."
},
"typeVersion": 1
},
{
"id": "contact-note-1771263708642",
"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\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\ud83d\udce7 hello@smoothwork.ai\n\u25b6\ufe0f [Check us on YouTube](https://www.youtube.com/@vasarmilan)\n\ud83d\udcde [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n\ud83d\udcbc [Add me on Linkedin](https://www.linkedin.com/in/mil%C3%A1n-v%C3%A1s%C3%A1rhelyi-3a9985123/)\n"
},
"typeVersion": 1
},
{
"id": "video-note-1771324743902",
"name": "Video Walkthrough",
"type": "n8n-nodes-base.stickyNote",
"position": [
-90,
-610
],
"parameters": {
"width": 420,
"height": 340,
"content": "# Video Walkthrough\n[](https://youtu.be/lQh1fuIrBN8)"
},
"typeVersion": 1
}
],
"connections": {
"New Company Trigger": {
"main": [
[
{
"node": "Research Company with AI",
"type": "main",
"index": 0
}
]
]
},
"Research Company with AI": {
"main": [
[
{
"node": "Update Company Record",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
airtableTokenApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
[](https://youtu.be/lQh1fuIrBN8)
Source: https://n8n.io/workflows/13457/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Instead of staring at a blank page, this workflow scrapes top-performing content, breaks down the psychological hooks, rewrites it for your specific audience, and drafts a custom text graphic. Once yo
Unlock the Power of Language with Personalized AI Learning! MOTION TUTOR is a revolutionary AI-powered language learning platform that adapts to your progress and guides you from basic vocabulary to c
Template Carnaval - time instagram. Uses toolWorkflow, lmChatOpenAi, memoryBufferWindow, agent. Event-driven trigger; 56 nodes.
This n8n template demonstrates how to automate YouTube content repurposing using AI. Upload a video to Google Drive and automatically generate transcriptions, A/B testable titles, AI thumbnails, short
ContentCalendar. Uses airtableTrigger, lmChatOpenRouter, airtable, outputParserStructured. Event-driven trigger; 41 nodes.