语音笔记到Slack和Nuclino
高级
这是一个Internal Wiki, Multimodal AI领域的自动化工作流,包含 16 个节点。主要使用 Set, Merge, Slack, NocoDb, Webhook 等节点。 使用Claude Sonnet将语音笔记处理为AI回复,发送至Nuclino和Slack
前置要求
- •Slack Bot Token 或 Webhook URL
- •HTTP Webhook 端点(n8n 会自动生成)
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "tyNhfZniBI7ZcpQ8",
"meta": {
"instanceId": "25cd9c9e1e996c71452f1ab7a15c1f1aa174615661f703590b37f8d95476bb1b",
"templateCredsSetupCompleted": true
},
"name": "语音笔记到Slack和Nuclino",
"tags": [
{
"id": "4223SvVX6wz9nuSf",
"name": "For Public Sharing",
"createdAt": "2025-07-29T16:47:02.871Z",
"updatedAt": "2025-07-29T16:47:02.871Z"
},
{
"id": "1L7YdbJxHwcmVOqD",
"name": "Nuclino",
"createdAt": "2025-07-29T16:47:11.199Z",
"updatedAt": "2025-07-29T16:47:11.199Z"
}
],
"nodes": [
{
"id": "fa7ac259-a269-4960-8767-fc1c45352440",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-48,
-368
],
"webhookId": "23eefb69-ae58-46e6-9fcc-a53f6175845e",
"parameters": {
"path": "23eefb69-ae58-46e6-9fcc-a53f6175845e",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "cc06c5ca-cd5c-4755-8e0e-375f159e8874",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
224,
-64
],
"parameters": {
"text": "={{ $json.prompt }}",
"options": {
"systemMessage": "You are a helpful assistant to the user.\n\nYou will receive prompts via a workflow system and must respond with a detailed, accurate, and well-structured answer following a **single-turn format**.\n\nYour response **must be in standard Markdown** and follow **this exact structure**:\n\n```\n**SUMMARY** \n{One-line plain-English summary of the final response}\n\n**PROMPT** \n{A concise, human-readable summary of the original prompt or request}\n\n**RESPONSE** \n{A detailed, structured answer. Use clear headings, bullet points, and paragraphs. If applicable, include:\n- Tables comparing tools, products, or approaches\n- An executive summary section at the start\n- A “Sources” section at the end with relevant URLs or references}\n```\n\n---\n\n### Content Guidelines\n\n* Prioritize **clarity**, **depth**, and **accuracy**.\n* When comparing options, include both:\n\n * A **summary comparison table**\n * A **brief executive summary**\n* Include **direct URLs for all tools, documentation, and sources** in a separate `Sources` section.\n* Ensure the Markdown renders correctly on Slack, GitHub, Obsidian, Notion, and other common markdown renderers.\n\n---\n\n### Voice and Style\n\n* Use a **direct, factual, analytical** tone.\n* Structure long responses with `##` section headers, bullet points, numbered lists, and tables.\n* Avoid vague or generic advice.\n* Assume the reader is technically literate and wants **actionable insights** and **verifiable sources**.\n\n---\n\n**Always include all three sections: `SUMMARY`, `PROMPT`, and `RESPONSE`. Never respond with HTML, JSON, or any other format.**\n"
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "19765382-5c21-4152-afe3-4e9a9ed904db",
"name": "OpenRouter 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
0,
160
],
"parameters": {
"model": "anthropic/claude-sonnet-4",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "ll4HQlhrNWJRj8la",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "d6cf3a0b-033a-4627-8929-6f326a45a013",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
272,
-288
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e825ab7e-cc54-4695-a825-a3d1553510e5",
"name": "note_title",
"type": "string",
"value": "={{ $json.body.data.title }}"
},
{
"id": "4225bf89-fa21-4491-8b8a-4df7bbf2e819",
"name": "prompt",
"type": "string",
"value": "={{ $json.body.data.transcript }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e7c9fc3c-e3ef-4c49-988b-62e96dcb6f96",
"name": "编辑字段1",
"type": "n8n-nodes-base.set",
"position": [
896,
-304
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7b71ef88-32ed-4cea-a291-b314ac19505b",
"name": "note_title",
"type": "string",
"value": "={{ $('Edit Fields').item.json.note_title }}"
},
{
"id": "fd4bd3e4-702b-49a4-83c7-bb1ef316c106",
"name": "prompt",
"type": "string",
"value": "={{ $('Edit Fields').item.json.prompt }}"
},
{
"id": "fc6e2202-d7f7-4e2c-9539-88eaf0a5dac4",
"name": "output",
"type": "string",
"value": "={{ $json.output }}"
},
{
"id": "f2e05227-be85-45b5-a4f9-bd6e483b48bf",
"name": "created",
"type": "string",
"value": "={{ $('Webhook').item.json.body.timestamp }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8fc4497f-aa4e-4d00-bfc5-efe85fdbaf1b",
"name": "保存提示词",
"type": "n8n-nodes-base.nocoDb",
"position": [
1136,
-432
],
"parameters": {
"table": "mg36i2thdctcg5b",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "c76za9u4d0lhiyx",
"fieldValue": "={{ $json.prompt }}"
}
]
},
"operation": "create",
"projectId": "p624vvyd3bqxgi8",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "sb8UbIwHyyMJvHYN",
"name": "NocoDB"
}
},
"typeVersion": 3
},
{
"id": "c559778f-c3cd-4005-84b0-ea2a1bfe65f4",
"name": "保存输出",
"type": "n8n-nodes-base.nocoDb",
"position": [
1456,
-400
],
"parameters": {
"table": "mn2ttgi7atggy1t",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "cafb7x2p0a3cstt",
"fieldValue": "={{ $('AI Agent').item.json.output }}"
},
{
"fieldName": "cu62cluoip9v7v5",
"fieldValue": "={{ $('Edit Fields1').item.json.prompt }}"
},
{
"fieldName": "c4megtoozksi8kk",
"fieldValue": "Voicenotes.com Automation (N8N)"
}
]
},
"operation": "create",
"projectId": "p624vvyd3bqxgi8",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "sb8UbIwHyyMJvHYN",
"name": "NocoDB"
}
},
"typeVersion": 3
},
{
"id": "8d03d732-60a2-4624-9d5d-4dcf0062370a",
"name": "发送消息",
"type": "n8n-nodes-base.slack",
"position": [
1216,
96
],
"webhookId": "cc4ed9ea-6622-4343-89a7-767419e0b049",
"parameters": {
"text": "=*New AI Response - {{ $json.data.title }}*\n\n*PROMPT*\n\n{{ $('Merge').item.json.prompt }}\n\n*RESPONSE:*\n\n{{ $('Merge').item.json.output }}\n\n*NUCLINO NOTE URL:*\n\n{{ $json.data.url }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C097VFQFB1U",
"cachedResultName": "daniel-prompt-outputs"
},
"otherOptions": {
"mrkdwn": true,
"unfurl_links": true,
"unfurl_media": true
},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "FbSAmFYjQv36LOgh",
"name": "Your Slack Notifier"
}
},
"typeVersion": 2.3
},
{
"id": "da293418-9893-40e3-805d-f23751383e2b",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
656,
-112
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
},
{
"id": "650182fa-48dd-4c38-aa2c-61f28179c1e5",
"name": "HTTP 请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
928,
64
],
"parameters": {
"url": "https://api.nuclino.com/v0/items",
"method": "POST",
"options": {
"batching": {
"batch": {}
}
},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "workspaceId",
"value": "your-workspace-id"
},
{
"name": "title",
"value": "={{ $json.note_title }}"
},
{
"name": "collectionID",
"value": "your-collection-id"
},
{
"name": "=content",
"value": "=## {{ $json.note_title }}\n\n### Created\n\n{{ $json.created }}\n\n## Prompt\n\n{{ $json.prompt }}\n\n## AI Response\n\n{{ $json.output }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "VLCscE6V0tbZEObU",
"name": "Nuclino"
}
},
"typeVersion": 4.2
},
{
"id": "4ff911de-3724-46e6-aa42-486ad49e3118",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
-496
],
"parameters": {
"width": 224,
"height": 128,
"content": "## 标记为提示词的语音笔记"
},
"typeVersion": 1
},
{
"id": "2d5944c2-d29e-48f0-8e56-9dabd2c2c042",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
160
],
"parameters": {
"width": 224,
"height": 112,
"content": "## 发送到AI代理"
},
"typeVersion": 1
},
{
"id": "71a9c891-e223-44b0-9237-434bff494fe4",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-288
],
"parameters": {
"width": 224,
"content": "## 连接提示词+响应"
},
"typeVersion": 1
},
{
"id": "6a39c1b4-15b3-49cb-80c3-52be751b47da",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
-480
],
"parameters": {
"content": "## 保存到NocoDB进行归档"
},
"typeVersion": 1
},
{
"id": "331b03e4-d678-4a34-a290-0285af14d7fe",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
-112
],
"parameters": {
"width": 208,
"height": 112,
"content": "## 在Nuclino中创建文档"
},
"typeVersion": 1
},
{
"id": "db3a2bb4-6140-4efc-bf7c-7cd366cc9904",
"name": "便利贴5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1200,
-80
],
"parameters": {
"width": 208,
"height": 112,
"content": "## 通过Slack通知"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Merge": [
{
"json": {
"output": "**SUMMARY** \nA standard calendar year has 365 days, while a leap year has 366 days due to an extra day added in February.\n\n**PROMPT** \nRequest for the number of days in a calendar year.\n\n**RESPONSE** \n\n## Standard Calendar Year\n\nA calendar year typically contains **365 days**. This is based on the Gregorian calendar system used in most of the world today.\n\n## Leap Years\n\nEvery four years (with some exceptions), we have a **leap year** containing **366 days**. The extra day is added to February, making it 29 days instead of the usual 28.\n\n### Leap Year Rules\n\n- **Divisible by 4**: Generally a leap year\n- **Divisible by 100**: Not a leap year (exception to the rule above)\n- **Divisible by 400**: Is a leap year (exception to the exception)\n\n### Examples\n- 2024: Leap year (366 days)\n- 2023: Standard year (365 days)\n- 2100: Not a leap year despite being divisible by 4 (divisible by 100 but not 400)\n- 2000: Leap year (divisible by 400)\n\n## Summary\n\n| Year Type | Days | Frequency |\n|-----------|------|-----------|\n| Standard Year | 365 | ~75% of years |\n| Leap Year | 366 | ~25% of years (every 4 years with exceptions) |\n\nThe leap year system exists to keep our calendar aligned with Earth's orbital period around the Sun, which is approximately 365.25 days.",
"prompt": "How many days are there in the calendar year?",
"created": "2025-07-29T11:38:52+00:00",
"note_title": "How many days are in the calendar year"
}
}
],
"Webhook": [
{
"json": {
"body": {
"data": {
"id": "dwzI0tU6",
"title": "How many days are in the calendar year",
"transcript": "How many days are there in the calendar year?"
},
"event": "recording.created",
"timestamp": "2025-07-29T11:38:52+00:00"
},
"query": {},
"params": {},
"headers": {
"host": "n8n.yourinstance.com",
"cf-ray": "966c551ddb0b1509-PDX",
"cdn-loop": "cloudflare; loops=1",
"cf-visitor": "{\"scheme\":\"https\"}",
"connection": "keep-alive",
"user-agent": "GuzzleHttp/7",
"cf-ipcountry": "US",
"content-type": "application/json",
"authorization": "Bearer",
"cf-warp-tag-id": "c16bc4c8-eefc-48f0-be27-e2fb4f0f9d38",
"content-length": "204",
"accept-encoding": "gzip, br",
"x-forwarded-for": "52.40.2.161",
"cf-connecting-ip": "52.40.2.161",
"x-forwarded-proto": "https"
},
"webhookUrl": "https://n8n.yourwebsite.com/webhook-test/dsssssssss",
"executionMode": "test"
}
}
],
"Edit Fields": [
{
"json": {
"prompt": "How many days are there in the calendar year?",
"created": "2025-07-29T11:38:52+00:00",
"note_title": "How many days are in the calendar year"
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "e59f3122-f648-436d-beb6-1a2805c723ae",
"connections": {
"Merge": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
},
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Save Output": {
"main": [
[]
]
},
"Save Prompt": {
"main": [
[
{
"node": "Save Output",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "Save Prompt",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内部知识库, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Voicenotes - 发送提示
基于Voicenotes、Claude Sonnet和邮件发送的语音转文本AI助手
Set
Gmail
Noco Db
+5
15 节点Daniel Rosehill
个人效率
上下文摄取管道
使用OpenRouter AI和Milvus为RAG系统从语音笔记提取上下文
Set
Webhook
Convert To File
+7
15 节点Daniel Rosehill
工程
Qwen3-VL-8B-Thinking旅行规划器
基于Skyscanner、Booking.com和Gmail的AI优化旅行行程生成器
Set
Code
Gmail
+7
18 节点Cheng Siong Chin
个人效率
基于AI的会议研究与每日议程(Google日历、Attio CRM和Slack)
基于AI的会议研究与每日议程:使用Google日历、Attio CRM和Slack
If
Set
Code
+15
30 节点Harry Siggins
AI 摘要总结
来自多个招聘网站的求职自动化
使用 5 个招聘平台和 AI 简历生成器自动化求职与申请
If
Set
Code
+14
34 节点Gerald Denor
个人效率
自动化会议准备
使用 GPT-5 和 Gemini 研究从日历到 Slack 通过 Attio CRM 自动准备会议
If
Set
Code
+16
39 节点Harry Siggins
AI 摘要总结