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": "GenM27",
"name": "\u627e\u51fa\u71b1\u641c vs GSC \u843d\u5dee",
"nodes": [
{
"parameters": {
"content": "\u26a0\ufe0f \u67b6\u69cb\u7bc4\u672c\uff08\u672a\u63a5 key\uff09\n\n\u9700 Google Search Console API + OAuth\u3002\n\u5206\u6790(Ollama)\u514d\u8cbb\u3002",
"height": 320,
"width": 380,
"color": 4
},
"id": "n-note",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
180,
100
]
},
{
"parameters": {},
"id": "n-manual",
"name": "When clicking Execute",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
240,
460
]
},
{
"parameters": {
"options": {},
"method": "GET",
"url": "https://www.googleapis.com/webmasters/v3/sites/YOUR_SITE/searchAnalytics/query",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_OAUTH_TOKEN"
}
]
}
},
"id": "n-fetch",
"name": "Fetch (API)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
680,
460
]
},
{
"parameters": {
"jsCode": "const d=JSON.stringify($input.first().json).slice(0,3000);\nconst prompt='\u4f60\u662f SEO \u9867\u554f\u3002\u6bd4\u8f03\u71b1\u641c\u8207 GSC \u9ad8\u66dd\u5149\u4f4e\u9ede\u64ca\uff0c\u627e\u51fa\u6a5f\u6703\u95dc\u9375\u5b57\u3002\\n\\n'+d;\nreturn [{json:{prompt}}];"
},
"id": "n-prep",
"name": "Build Prompt",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
900,
460
]
},
{
"parameters": {
"options": {
"timeout": 180000
},
"method": "POST",
"url": "http://host.docker.internal:11434/api/chat",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ model: 'qwen2.5:latest', messages: [ { role: 'system', content: '\u4f60\u662f\u53f0\u7063\u4eba\uff0c\u4e00\u5f8b\u4f7f\u7528\u53f0\u7063\u7e41\u9ad4\u4e2d\u6587\u8207\u53f0\u7063\u6163\u7528\u8a9e\u56de\u8986\uff0c\u7d55\u5c0d\u4e0d\u8981\u51fa\u73fe\u4efb\u4f55\u7c21\u9ad4\u5b57\u6216\u4e2d\u570b\u7528\u8a9e\u3002' }, { role: 'user', content: $json.prompt } ], stream: false }) }}"
},
"id": "n-ollama",
"name": "Summarize with Ollama",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1120,
460
]
},
{
"parameters": {
"jsCode": "const data = $input.first().json;\nlet v = '';\ntry { v = (data.message && data.message.content) || (data.content && data.content[0] && data.content[0].text) || data.response || ''; } catch (e) {}\nif (!v) v = JSON.stringify(data);\nreturn [{ json: { result: v } }];"
},
"id": "n-result",
"name": "Result",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1340,
460
]
}
],
"connections": {
"When clicking Execute": {
"main": [
[
{
"node": "Fetch (API)",
"type": "main",
"index": 0
}
]
]
},
"Fetch (API)": {
"main": [
[
{
"node": "Build Prompt",
"type": "main",
"index": 0
}
]
]
},
"Build Prompt": {
"main": [
[
{
"node": "Summarize with Ollama",
"type": "main",
"index": 0
}
]
]
},
"Summarize with Ollama": {
"main": [
[
{
"node": "Result",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
找出熱搜 vs GSC 落差. Uses httpRequest. Event-driven trigger; 6 nodes.
Source: https://github.com/YuriCrystal/n8n-marketing-flows/blob/46c8e2535430ebe1e9bb4d8b6b335465c4702ffb/templates/m27-keyword-gap.skeleton.json — 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.
This workflow pulls Google Maps business results from SerpApi based on search queries stored in Airtable, visits each business website to extract contact emails, and adds the enriched business records
This template automates the enrichment of business leads from a Google Sheet by: Triggering when a row is activated Searching for company information with Serper.dev Generating and validating potentia
The automation starts by retreiving the unused queries from a sheet, executes queries in the web using Serper API and extracts linkedin profiles of decision makers.
Stop manually checking keyword rankings and let automation do the work for you. This comprehensive SEO monitoring workflow automatically tracks your keyword positions, compares them against your targe
This workflow helps you automatically collect verified business leads from Google Search using SerpAPI — no coding required. It extracts company names, websites, emails, and phone numbers directly fro