从Stack Overflow自动生成FAQ到Notion
高级
这是一个Document Extraction, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 If, Set, Merge, Slack, Notion 等节点。 使用GPT-4o-mini从Stack Overflow自动生成FAQ到Notion,附带Slack提醒
前置要求
- •Slack Bot Token 或 Webhook URL
- •Notion API Key
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "lBKKbdwQ12KKriEM",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "从 Stack Overflow 自动生成 FAQ 到 Notion,附带 Slack 提醒和 Google Sheet",
"tags": [],
"nodes": [
{
"id": "b5595d8e-b9ae-4b39-aa44-eb4729834068",
"name": "便签 - 工作流概览",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-1024
],
"parameters": {
"width": 541,
"height": 577,
"content": "## 🧩 从 Stack Overflow 自动生成 FAQ"
},
"typeVersion": 1
},
{
"id": "09a30fdb-1191-4dd0-a320-da7885a0ef02",
"name": "便签 - RSS 设置",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1173.5,
-345
],
"parameters": {
"color": 2,
"width": 427,
"height": 449,
"content": "## 📡 Stack Overflow 订阅源与过滤器"
},
"typeVersion": 1
},
{
"id": "ec540539-a6bc-44ed-8d2b-f729111c6bcf",
"name": "便签 - AI 设置",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-560
],
"parameters": {
"color": 2,
"width": 219,
"height": 651,
"content": "## 🧱 数据准备与集成"
},
"typeVersion": 1
},
{
"id": "96b6069f-edda-407b-b972-a9540cdb705c",
"name": "便签 - 格式化",
"type": "n8n-nodes-base.stickyNote",
"position": [
-709.5,
-323
],
"parameters": {
"color": 2,
"width": 651,
"height": 427,
"content": "## 🧠 AI 理解与 FAQ 生成"
},
"typeVersion": 1
},
{
"id": "47599144-192f-4490-aa46-8e20a205026b",
"name": "便签 - Notion 设置",
"type": "n8n-nodes-base.stickyNote",
"position": [
272,
-448
],
"parameters": {
"color": 2,
"width": 379,
"height": 597,
"content": "## 🗂️ 知识库记录"
},
"typeVersion": 1
},
{
"id": "6e4fa5ce-aeb7-4359-ad21-727e92f7e76f",
"name": "便签 - Slack 设置",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-144
],
"parameters": {
"color": 2,
"width": 347,
"height": 357,
"content": "## 💬 团队通知"
},
"typeVersion": 1
},
{
"id": "b47b56b1-4ae3-4e88-9e97-76ce454cda09",
"name": "OpenAI - 主题分类器",
"type": "@n8n/n8n-nodes-langchain.openAi",
"notes": "Classifies question topic (Frontend, Backend, DevOps, etc.) before FAQ generation.",
"position": [
-672,
-56
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": ""
},
"options": {
"maxTokens": 200,
"temperature": 0
},
"messages": {
"values": [
{
"content": "You are a technical classifier. Categorize this Stack Overflow question into one of the following: Frontend, Backend, DevOps, API, Database, AI/ML, or Other.\n\nReturn a JSON response in this exact format:\n{\n \"topic_category\": \"<category>\"\n}\n\nQuestion Title: {{ $json.title }}\nQuestion Summary: {{ $json.summary }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "fcc0YsAnyxvK2gD4",
"name": "OpenAi account 3"
}
},
"typeVersion": 1.4
},
{
"id": "81c6d665-83ce-454b-b570-e5ee63769e70",
"name": "错误触发器",
"type": "n8n-nodes-base.errorTrigger",
"position": [
-1104,
512
],
"parameters": {},
"typeVersion": 1
},
{
"id": "875a2618-4bec-4979-a9c3-fcab55406729",
"name": "Slack - 错误警报",
"type": "n8n-nodes-base.slack",
"notes": "Sends an error alert message if Topic Classifier, FAQ Generator, or Notion fails.",
"position": [
-832,
512
],
"webhookId": "32778282-35eb-4e4c-97cf-0217a8fb754a",
"parameters": {
"text": "=❌ *FAQ Automation Error Detected!*\n\n*Node:* {{ $json.node.name }}\n*Error:* {{ $json.error.message }}\n*Time:* {{ $json.timestamp }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": ""
},
"otherOptions": {
"includeLinkToWorkflow": false
}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.1
},
{
"id": "3667ae53-1e2d-4660-a37a-dbf9bf527b1b",
"name": "OpenAI - FAQ 生成器",
"type": "@n8n/n8n-nodes-langchain.openAi",
"notes": "Uses GPT-4o-mini to analyze Stack Overflow content and generate structured FAQ entries with product-specific guidance",
"position": [
-320,
-56
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "id",
"value": ""
},
"options": {
"maxTokens": 1000,
"temperature": 0.7
},
"messages": {
"values": [
{
"content": "=You are an expert technical writer creating internal FAQs for a SaaS product team.\n\nConvert the following Stack Overflow question into a comprehensive internal FAQ entry:\n\n**Question Title:** {{ $json.title }}\n**Question URL:** {{ $json.link }}\n**Content:** {{ $json.summary }} \n**Topic Category:** {{ $json.message.content.topic_category }}\n\nGenerate a JSON response with the following structure:\n{\n \"faq_title\": \"Clear, concise question title\",\n \"summary\": \"2-3 sentence summary of the problem and context\",\n \"answer_insights\": \"Key technical insights and solutions from the discussion\",\n \"product_guidance\": \"How this relates to our product, best practices, and internal documentation links (use placeholders like [ProductName] or [Internal Docs Link])\",\n \"tags\": [\"relevant\", \"tags\", \"for\", \"categorization\"]\n}\n\nFocus on actionable insights and make it relevant for internal engineering and support teams."
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "fcc0YsAnyxvK2gD4",
"name": "OpenAi account 3"
}
},
"typeVersion": 1.4
},
{
"id": "b7c22c01-a01c-4328-95c3-1c89af58c82a",
"name": "过滤问题",
"type": "n8n-nodes-base.if",
"position": [
-896,
-56
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "902e691f-7ea4-48f4-ad5d-7196787ee099",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.title }}",
"rightValue": "JavaScript"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "77daf4ad-9696-4981-8097-2d73c53ee7a4",
"name": "RSS Feed - Stack Overflow 监视器",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"notes": "Monitors Stack Overflow RSS feed for new questions tagged with specified keywords (python, javascript, devops). Triggers every 30 minutes.",
"position": [
-1120,
-56
],
"parameters": {
"feedUrl": "https://stackoverflow.com/feeds/tag?tagnames=javascript&sort=active",
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1
},
{
"id": "147082e7-ac15-4983-81b1-8883e51bd080",
"name": "格式化 AI 响应",
"type": "n8n-nodes-base.set",
"position": [
48,
-240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "84e7581a-9256-4075-bc2e-b4583cea72fc",
"name": "FAQ Title",
"type": "string",
"value": "={{ $json.message.content.faq_title }}"
},
{
"id": "52b3c12b-a7ce-40c1-87d2-b2370cd02a73",
"name": "Summary",
"type": "string",
"value": "={{ $json.message.content.summary }}"
},
{
"id": "4e61cf52-d96c-4253-b0b6-71a72c8bff45",
"name": "Answer Insights",
"type": "string",
"value": "={{ $json.message.content.answer_insights }}"
},
{
"id": "2e78b58f-80f3-4bd1-8cd8-27a945da1e1e",
"name": "Product Guidance",
"type": "string",
"value": "={{ $json.message.content.product_guidance }}"
},
{
"id": "2e21c42a-6d8b-4f1c-977d-526edcdd2225",
"name": "Tags",
"type": "array",
"value": "={{ $json.message.content.tags }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "636bc723-1f21-48c8-a27f-575685d4da6a",
"name": "Notion - 创建 FAQ 条目",
"type": "n8n-nodes-base.notion",
"notes": "Creates a new page in Notion Knowledge Base database with all FAQ fields populated",
"position": [
384,
-32
],
"parameters": {
"title": "={{ $json[\"FAQ Title\"] }}",
"pageId": {
"__rl": true,
"mode": "url",
"value": ""
},
"blockUi": {
"blockValues": [
{
"textContent": "={{ $json.Summary }}"
},
{
"textContent": "={{ $json[\"Answer Insights\"] }}"
}
]
},
"options": {}
},
"credentials": {
"notionApi": {
"id": "E9jA8DFWT2IxdpMU",
"name": "Notion account Vivek"
}
},
"typeVersion": 2
},
{
"id": "488cdd31-38b6-4a91-85ab-2d897d3e44e6",
"name": "合并数据",
"type": "n8n-nodes-base.merge",
"notes": "Combines OpenAI output with Notion response for Slack notification",
"position": [
48,
-64
],
"parameters": {
"mode": "combine",
"options": {},
"combinationMode": "mergeByPosition"
},
"typeVersion": 2.1
},
{
"id": "4b83b70c-c7ba-4a07-8143-e87930135d25",
"name": "Slack - 通知团队",
"type": "n8n-nodes-base.slack",
"notes": "Sends formatted notification to #product-faqs channel with FAQ summary, category, and links",
"position": [
704,
40
],
"webhookId": "39b29d92-37b0-4d79-a96a-a0b0800c546c",
"parameters": {
"text": "=🆕 *New FAQ Entry Added to Knowledge Base*\n\n*Question:* {{ $json.message.content.faq_title }}\n\n*Summary:* {{ $json.message.content.summary }}\n\n🧩 *Category:* {{ $('OpenAI - Topic Classifier').item.json.message.content.topic_category }}\n\n*Tags:* {{ $json.message.content.tags }}\n\n📄 *Read Full Entry:* {{ $('Notion - Create FAQ Entry').item.json.url }} \n\n🔗 *Original Source:* {{ $('RSS Feed - Stack Overflow Monitor').item.json.link }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": ""
},
"otherOptions": {
"includeLinkToWorkflow": false
}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.1
},
{
"id": "ad8eb9b3-6e61-419e-8d48-4f96d7ac3d14",
"name": "FAQ 记录到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
384,
-240
],
"parameters": {
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4.7
},
{
"id": "f5f82442-f2f5-49d7-abb5-8dede57c51b9",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
304
],
"parameters": {
"color": 2,
"width": 496,
"height": 352,
"content": "## 🚨 错误监控"
},
"typeVersion": 1
},
{
"id": "039a7397-7761-4eb2-bd9b-cfd56b46957b",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
-848
],
"parameters": {
"width": 352,
"height": 368,
"content": "## 🔐 凭据与安全"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "12161045-8a06-4a55-bcf8-e553b8577b33",
"connections": {
"Merge Data": {
"main": [
[
{
"node": "Slack - Notify Team",
"type": "main",
"index": 0
}
]
]
},
"Error Trigger": {
"main": [
[
{
"node": "Slack - Error Alert",
"type": "main",
"index": 0
}
]
]
},
"Filter Questions": {
"main": [
[
{
"node": "OpenAI - Topic Classifier",
"type": "main",
"index": 0
}
]
]
},
"Format AI Response": {
"main": [
[
{
"node": "Notion - Create FAQ Entry",
"type": "main",
"index": 0
},
{
"node": "FAQ Logging to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"OpenAI - FAQ Generator": {
"main": [
[
{
"node": "Merge Data",
"type": "main",
"index": 0
},
{
"node": "Format AI Response",
"type": "main",
"index": 0
}
]
]
},
"Notion - Create FAQ Entry": {
"main": [
[
{
"node": "Merge Data",
"type": "main",
"index": 1
}
]
]
},
"OpenAI - Topic Classifier": {
"main": [
[
{
"node": "OpenAI - FAQ Generator",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed - Stack Overflow Monitor": {
"main": [
[
{
"node": "Filter Questions",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 文档提取, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用GitHub、Notion和Slack自动化SDK版本漂移检测
使用GitHub、Notion、Google Sheets和Slack跟踪SDK文档漂移
If
Set
Code
+7
21 节点Rahul Joshi
工程
API速率限制与认证FAQ测试
使用GPT-4o-mini、Google表格和Slack提醒自动化API常见问题质量测试
If
Set
Code
+7
19 节点Rahul Joshi
文档提取
发布说明转常见问题存根(Jira/ClickUp)
使用GPT-4o从ClickUp自动生成发布说明到Notion和Slack
If
Code
Gmail
+8
20 节点Rahul Joshi
工程
销售代表绩效追踪器
基于HighLevel CRM、GPT-4o、Notion和Slack的自动化销售排行榜
If
Code
Slack
+7
21 节点Rahul Joshi
客户关系管理
从Gmail和Slack自动创建Zendesk工单并进行跟踪
从Gmail和Slack创建Zendesk工单,并使用Google Sheets进行跟踪
If
Code
Merge
+6
22 节点Rahul Joshi
内容创作
Stripe 税务摘要到 Google Sheets 并附带 Slack 提醒
从 Stripe 生成税务摘要,存储到 Google Sheets,并发送 Slack 提醒
If
Set
Code
+5
17 节点Rahul Joshi
内容创作
工作流信息
难度等级
高级
节点数量19
分类2
节点类型10
作者
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
外部链接
在 n8n.io 查看 →
分享此工作流