This workflow corresponds to n8n.io template #10252 — we link there as the canonical source.
This workflow follows the Agent → Chainllm 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 →
{
"id": "OQEOWynAfK54HxNr",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Competitor Intelligence Agent: SERP Monitoring + Summary Insights with Thordata + OpenAI",
"tags": [
{
"id": "Kujft2FOjmOVQAmJ",
"name": "Engineering",
"createdAt": "2025-04-09T01:31:00.558Z",
"updatedAt": "2025-04-09T01:31:00.558Z"
},
{
"id": "ddPkw7Hg5dZhQu2w",
"name": "AI",
"createdAt": "2025-04-13T05:38:08.053Z",
"updatedAt": "2025-04-13T05:38:08.053Z"
},
{
"id": "qpxJxOMCv2x7Op5c",
"name": "SERP",
"createdAt": "2025-04-03T15:37:19.686Z",
"updatedAt": "2025-04-03T15:37:19.686Z"
}
],
"nodes": [
{
"id": "d370dfd6-2a22-4e90-816f-be5e3b84c4c4",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-304,
-288
],
"parameters": {
"text": "={{ $json.search_query }}",
"options": {},
"promptType": "define"
},
"retryOnFail": true,
"typeVersion": 2.2
},
{
"id": "7af03b55-ba2e-4408-80ff-b81c02286993",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-592,
-64
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "51f08152-e6e0-428a-b914-77cf14e13283",
"name": "Bing Search",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-416,
-64
],
"parameters": {
"url": "https://scraperapi.thordata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "engine",
"value": "bing"
},
{
"name": "q",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters1_Value', ``, 'string') }}"
},
{
"name": "json",
"value": "1"
}
]
},
"toolDescription": "HTTP request using Bing Search",
"headerParameters": {
"parameters": [
{}
]
},
"nodeCredentialType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "ecdb2eb4-373b-4929-b3b6-14b9063d1e91",
"name": "Google Search",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-256,
-64
],
"parameters": {
"url": "https://scraperapi.thordata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "engine",
"value": "google"
},
{
"name": "q",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters1_Value', ``, 'string') }}"
},
{
"name": "json",
"value": "1"
}
]
},
"toolDescription": "HTTP request using Google Search",
"headerParameters": {
"parameters": [
{}
]
},
"nodeCredentialType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "ddfeffd8-9c9a-42c4-be8d-36f2dbacb99c",
"name": "Yandex Search",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-48,
-64
],
"parameters": {
"url": "https://scraperapi.thordata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "engine",
"value": "yandex"
},
{
"name": "q",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters1_Value', ``, 'string') }}"
},
{
"name": "json",
"value": "1"
}
]
},
"toolDescription": "HTTP request using Yandex Search",
"headerParameters": {
"parameters": [
{}
]
},
"nodeCredentialType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "8fdd3ba1-7f2f-4cb5-8be7-810be5048240",
"name": "DuckDuckGo Search",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
144,
-64
],
"parameters": {
"url": "https://scraperapi.thordata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "engine",
"value": "duckduckgo"
},
{
"name": "q",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters1_Value', ``, 'string') }}"
},
{
"name": "json",
"value": "1"
}
]
},
"toolDescription": "HTTP request using DuckDuckGo Search",
"headerParameters": {
"parameters": [
{}
]
},
"nodeCredentialType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "d1a85744-8eb1-4a7a-9ac4-1dc11843c522",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1088,
-1136
],
"parameters": {
"color": 7,
"width": 160,
"content": ""
},
"typeVersion": 1
},
{
"id": "884c52b5-d8a2-4c67-b2a4-ca4ccacb7677",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1072,
-288
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6a142d04-f88e-436c-8a20-4f575de756b8",
"name": "Set the Input Fields",
"type": "n8n-nodes-base.set",
"position": [
-784,
-288
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4a779b05-0cb9-4d93-883c-90b8859edbca",
"name": "search_query",
"type": "string",
"value": "Google Search for Top SEO strategies for e-commerce in 2025"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8234accd-fa05-4795-96ef-99a158e673ff",
"name": "Summarize the content",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
448,
-464
],
"parameters": {
"text": "=Summarize the following content {{ $json.output }}.\n\nOutput just the summary. Do not provide your own suggestions or recommendations",
"batching": {},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 1.7
},
{
"id": "fe9c7ae5-70e8-4854-8c4d-f2dee9956024",
"name": "OpenAI Chat Model For Summarization",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
432,
-224
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "2438f8b8-02cf-4811-a65f-7c4601f252bc",
"name": "Keyword and Topic Analysis",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
464,
-32
],
"parameters": {
"text": "=Perform Keyword and Topic Analysis of the following {{ $json.output }}",
"options": {},
"schemaType": "manual",
"inputSchema": "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"KeywordTopicAnalysis\",\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"string\",\n \"description\": \"The original search query or keyword used in the SERP analysis.\"\n },\n \"primary_keywords\": {\n \"type\": \"array\",\n \"description\": \"List of primary focus keywords extracted from the analyzed content or SERP data.\",\n \"items\": { \"type\": \"string\" }\n },\n \"secondary_keywords\": {\n \"type\": \"array\",\n \"description\": \"Related or supporting keywords derived from semantic clustering or co-occurrence.\",\n \"items\": { \"type\": \"string\" }\n },\n \"keyword_metrics\": {\n \"type\": \"array\",\n \"description\": \"SEO metrics for each keyword, including difficulty and search volume.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyword\": { \"type\": \"string\" },\n \"search_volume\": { \"type\": \"integer\" },\n \"competition_score\": { \"type\": \"number\" },\n \"difficulty_score\": { \"type\": \"number\" },\n \"trend\": { \"type\": \"string\", \"enum\": [\"rising\", \"falling\", \"steady\"] }\n },\n \"required\": [\"keyword\"]\n }\n },\n \"focus_topics\": {\n \"type\": \"array\",\n \"description\": \"List of main content themes or topics derived from the SERP results or web pages.\",\n \"items\": { \"type\": \"string\" }\n },\n \"topic_clusters\": {\n \"type\": \"array\",\n \"description\": \"Groups of semantically related keywords and topics.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"cluster_name\": { \"type\": \"string\" },\n \"related_keywords\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } },\n \"search_intent\": {\n \"type\": \"string\",\n \"enum\": [\"informational\", \"navigational\", \"transactional\", \"commercial\"]\n }\n },\n \"required\": [\"cluster_name\", \"related_keywords\"]\n }\n },\n \"seo_strength_score\": {\n \"type\": \"integer\",\n \"description\": \"Overall SEO opportunity score (0\u2013100).\"\n },\n \"content_gap_summary\": {\n \"type\": \"string\",\n \"description\": \"Summary describing missing topics or keyword opportunities in current content.\"\n },\n \"competitor_insights\": {\n \"type\": \"array\",\n \"description\": \"Optional data about competitors ranking for the analyzed keyword(s).\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"domain\": { \"type\": \"string\" },\n \"ranking_position\": { \"type\": \"integer\" },\n \"page_title\": { \"type\": \"string\" },\n \"content_type\": { \"type\": \"string\" },\n \"keyword_overlap\": { \"type\": \"number\" }\n },\n \"required\": [\"domain\", \"ranking_position\"]\n }\n },\n \"ai_summary\": {\n \"type\": \"string\",\n \"description\": \"GPT-generated summary of the keyword and topic insights.\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"Timestamp when the analysis was performed.\"\n }\n },\n \"required\": [\"query\", \"primary_keywords\", \"focus_topics\", \"seo_strength_score\"]\n}\n"
},
"typeVersion": 1.2
},
{
"id": "c4b13e07-1fa9-4d33-9140-14375f1e5c6b",
"name": "OpenAI Chat Model for Keyword and Topic Analysis",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
464,
144
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "27bcba40-fa09-4561-8a79-67af2e479e16",
"name": "SEO Analyst",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
432,
-960
],
"parameters": {
"text": "=Analyze the following SERP results for competitor insights and keyword opportunities:\\n\\n {{ $json.output }}",
"options": {
"systemPromptTemplate": "You are an SEO analyst. Extract primary keywords, competitor names, content tone, and summarize SEO strength from SERP data. "
},
"schemaType": "manual",
"inputSchema": "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"CompetitorInsightsAndKeywordOpportunities\",\n \"type\": \"object\",\n \"description\": \"Structured output for analyzing SERP results to extract competitor insights, keyword opportunities, and SEO metrics.\",\n \"properties\": {\n \"query\": {\n \"type\": \"string\",\n \"description\": \"The search query or topic analyzed in the SERP.\"\n },\n \"analyzed_date\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"Timestamp when the analysis was performed.\"\n },\n \"competitors\": {\n \"type\": \"array\",\n \"description\": \"List of main competitors or domains identified in the SERP results.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"domain\": { \"type\": \"string\", \"description\": \"Competitor domain or brand name.\" },\n \"page_title\": { \"type\": \"string\", \"description\": \"Title of the competitor\u2019s ranking page.\" },\n \"ranking_position\": { \"type\": \"integer\", \"description\": \"SERP position for this result.\" },\n \"snippet\": { \"type\": \"string\", \"description\": \"Short description or meta snippet from the SERP.\" },\n \"content_type\": {\n \"type\": \"string\",\n \"enum\": [\"blog\", \"product_page\", \"landing_page\", \"news\", \"other\"],\n \"description\": \"Type of content represented by the competitor page.\"\n },\n \"estimated_traffic_share\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 100,\n \"description\": \"Estimated share of search traffic (%) for this result.\"\n },\n \"keyword_overlap\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Proportion of shared keywords with the target domain (0\u20131 scale).\"\n },\n \"strengths\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"description\": \"SEO strengths or advantages identified for this competitor.\"\n },\n \"weaknesses\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"description\": \"Content or optimization weaknesses detected.\"\n }\n },\n \"required\": [\"domain\", \"ranking_position\"]\n }\n },\n \"keyword_opportunities\": {\n \"type\": \"array\",\n \"description\": \"List of new or underutilized keywords identified from the SERP analysis.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyword\": { \"type\": \"string\" },\n \"search_volume\": { \"type\": \"integer\", \"description\": \"Estimated monthly search volume.\" },\n \"competition_score\": { \"type\": \"number\", \"description\": \"Keyword competition (0\u20131 scale).\" },\n \"difficulty_score\": { \"type\": \"number\", \"description\": \"Keyword difficulty (0\u2013100 scale).\" },\n \"intent\": {\n \"type\": \"string\",\n \"enum\": [\"informational\", \"navigational\", \"transactional\", \"commercial\"],\n \"description\": \"User search intent.\"\n },\n \"relevance_score\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Relevance to the analyzed query (0\u20131 scale).\"\n }\n },\n \"required\": [\"keyword\"]\n }\n },\n \"topic_clusters\": {\n \"type\": \"array\",\n \"description\": \"Clusters of semantically related topics derived from the SERP.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"cluster_name\": { \"type\": \"string\" },\n \"related_keywords\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } },\n \"dominant_competitor\": { \"type\": \"string\", \"description\": \"Competitor leading in this topic cluster.\" }\n },\n \"required\": [\"cluster_name\", \"related_keywords\"]\n }\n },\n \"content_gap_analysis\": {\n \"type\": \"object\",\n \"description\": \"Summary of missing or underrepresented topics in the current content compared to competitors.\",\n \"properties\": {\n \"gaps_identified\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } },\n \"recommendations\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } }\n }\n },\n \"seo_strength_score\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 100,\n \"description\": \"Overall SEO opportunity score (0\u2013100) based on keyword difficulty, gap size, and competitor weaknesses.\"\n },\n \"ai_summary\": {\n \"type\": \"string\",\n \"description\": \"GPT-generated executive summary of the key findings, keyword opportunities, and competitor insights.\"\n }\n },\n \"required\": [\"query\", \"competitors\", \"keyword_opportunities\", \"seo_strength_score\", \"ai_summary\"]\n}\n"
},
"typeVersion": 1.2
},
{
"id": "b5cac579-1031-488c-9caa-75af3c14250e",
"name": "OpenAI Chat Model for SEO Analyst",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
432,
-784
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "ccae56d4-2d58-4b87-bc57-e24857716860",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
640,
-224
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\"comprehensive_summary\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n \"abstract_summary\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "934a59b1-7061-4834-8b8e-7a37ebecf43d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-384
],
"parameters": {
"color": 6,
"width": 944,
"height": 480,
"content": "## SERP AI Agent\n\nPerforms the SERP search via Thordata SERP API\n"
},
"typeVersion": 1
},
{
"id": "3941d4f9-83e0-4bcb-87a4-311b1fe9a077",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
-592
],
"parameters": {
"color": 5,
"width": 512,
"height": 896,
"content": "## Data Enrichment\n\nPerform Comprehensive and Abstract Summaries. Also performs the Keyword and Topic analysis of the Agent Output content."
},
"typeVersion": 1
},
{
"id": "f9919d39-0cd5-489f-ad16-4baff0a648ae",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
-1072
],
"parameters": {
"color": 4,
"width": 512,
"height": 448,
"content": "## SEO Analyst\nAnalysis the following SERP results for competitor insights and keyword opportunities\n"
},
"typeVersion": 1
},
{
"id": "a3060af6-1f26-42ab-a69e-4be7a7dc4e01",
"name": "Append or update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1152,
-368
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"seo"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/151xx1ClNDoQ2g_SANQJmdN4EJroWWEsPM658dFWLMTQ/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "151xx1ClNDoQ2g_SANQJmdN4EJroWWEsPM658dFWLMTQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/151xx1ClNDoQ2g_SANQJmdN4EJroWWEsPM658dFWLMTQ/edit?usp=drivesdk",
"cachedResultName": "Competitor Intelligence Agent"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "d058cb5c-ee3a-4b50-be25-8562a1be4e68",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
944,
-384
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "b0286661-257a-43e7-ae77-3ddba37af384",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
-560
],
"parameters": {
"color": 3,
"width": 480,
"height": 496,
"content": "## Export Data Handling\n\nExports the output to the Google Spreedsheet"
},
"typeVersion": 1
},
{
"id": "32d8e326-65b6-4705-9a01-a8d6c35755c6",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1088,
-944
],
"parameters": {
"color": 7,
"width": 992,
"height": 528,
"content": "## **Purpose:**\n Automate SERP analysis to extract competitor insights, keyword gaps, and SEO opportunities using Thordata for search data and OpenAI for structured analysis.\n\n* **Workflow Steps:**\n\n 1. **Trigger (Schedule or Manual):** Starts the weekly SERP analysis.\n 2. **AI Agent:** Performs the SERP search and retrieves top-ranking results.\n 3. **OpenAI Node:** Analyzes SERP data with GPT and outputs results in the defined JSON schema.\n 4. **Google Sheets Node:** Sends summarized insights or logs data for historical tracking.\n\n* **Key Outputs:**\n\n * Competitor domains, ranking positions, and SEO strengths/weaknesses.\n * Keyword opportunities with search volume, difficulty, and intent.\n * Topic clusters and content gap recommendations.\n * Overall SEO Strength Score (0\u2013100).\n * AI-generated summary for quick reporting.\n\n* **Use Case:**\n Ideal for SEO teams, marketers, and agencies to monitor competitors, discover new keyword opportunities, and optimize content strategies weekly.\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "a4d805de-2a7e-466a-bdce-26a1bc60e212",
"connections": {
"Merge": {
"main": [
[
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Summarize the content",
"type": "main",
"index": 0
},
{
"node": "Keyword and Topic Analysis",
"type": "main",
"index": 0
},
{
"node": "SEO Analyst",
"type": "main",
"index": 0
}
]
]
},
"Bing Search": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"SEO Analyst": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Google Search": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Yandex Search": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"DuckDuckGo Search": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set the Input Fields": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Summarize the content": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Summarize the content",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Keyword and Topic Analysis": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"OpenAI Chat Model for SEO Analyst": {
"ai_languageModel": [
[
{
"node": "SEO Analyst",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model For Summarization": {
"ai_languageModel": [
[
{
"node": "Summarize the content",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set the Input Fields",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model for Keyword and Topic Analysis": {
"ai_languageModel": [
[
{
"node": "Keyword and Topic Analysis",
"type": "ai_languageModel",
"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.
googleSheetsOAuth2ApihttpBearerAuthopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow is designed for:
Source: https://n8n.io/workflows/10252/ — 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.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Digistars - Scrape & Crawl. Uses httpRequest, n8n-nodes-firecrawl-scraper, googleSheets, lmChatOpenAi. Event-driven trigger; 63 nodes.
leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.
This end-to-end AI-powered recruitment automation workflow helps HR and talent acquisition teams automate the complete hiring pipeline—from resume intake and parsing to GPT-4-based evaluation, TA appr
🧠 Automate end-to-end SEO blog creation and WordPress publishing using a GPT-5 multi-agent workflow with real-time research, metadata generation, and optional featured images.