当前位置: 首页 > news >正文

n8n第十节 把Markdown格式的会议纪要发到企微

朋友们,有没有感觉整理纪要格式很乱,发到企微群里还得截图,别人看着也费劲。今天教你——用n8n工作流,把AI生成的Markdown格式会议纪要,原汁原味直接发到企业微信!

最大亮点:直接传Markdown格式!标题、列表、加粗全都在,比截图清晰100倍!

一、整体思路:三步搞定

有三个环节:

  1. 输入:把会议对话扔给AI
  2. 处理:AI帮你整理成漂亮的Markdown格式
  3. 输出:直接发到企微群

但这里面有个大坑:Markdown里面有换行、引号这些特殊字符,直接发JSON会报错!我们等会儿重点说怎么填这个坑。

二、具体实现:五个关键步骤

第1步:接住用户输入(聊天触发器)

我们得先有会议内容来触发工作流。

  1. 在n8n里搜索“When chat message received”

  2. 拖进来,它会自动生成一个链接
  3. 这个链接就是“收件箱”,谁把会议对话发到这个链接,工作流就启动

通俗理解:这就是个“邮箱地址”,别人把会议记录寄过来,我们就开始处理。

第2步:AI整理纪要(信息提取器)

拖进来后,得先点击开始,接收一下触发器的内容。

这是核心环节,关键配置三个地方:

① 告诉AI数据在哪

  • Text字段填:={{ $json.chatInput }},拖入聊天触发器的内容就行。

② 告诉AI输出啥格式
Schema Type选“fromJson”,然后写清楚我们要啥:

{ "会议主题": "xxx", "会议纪要": "xxx" }

③ 最关键的提示词
这才是让AI乖乖听话的秘诀:

你是个专业会议纪要整理助手,xxxxx 输出用Markdown格式 注意:里面的换行符、引号都要转义好。

为什么强调转义?因为下一步发企微时,如果AI输出的Markdown不转义,JSON就会崩!

第3步:召唤AI助手(Google Gemini)

这个AI就是我们的“智能会议小秘书”,负责把乱糟糟的会议对话整理成标准格式。

  1. 搜索“Google Gemini Chat Model”拖进来

  2. 连上你的Gemini API(没有的话用其他AI模型也行)

  3. 把这个节点连到下一步的“AI Language Model”接口

第4步:填坑!解决格式问题(HTTP请求)

添加http节点

填json内容

这就是我踩过的坑:一开始我直接这么写:

{ "msgtype": "markdown", "markdown": { "content": "{{ $json.output['会议纪要'] }}" } }

结果n8n直接报错:Problem in node 'HTTP Request': JSON parameter needs to be valid JSON

为啥报错?因为AI输出的Markdown长这样:

# 会议标题 这里有"引号" 还有换行

JSON看到引号和换行就懵逼了!

解决方案:问了下DeepSeek,说可以直接在表达式里转义:

{ "msgtype": "markdown", "markdown": { "content": "{{ $json.output['会议纪要'].replace(/\\n/g, '\\\\n').replace(/\"/g, '\\\\\"') }}" } }

解释一下

  • replace(/\\n/g, '\\\\n'):把所有的换行符\n变成\\n(JSON能认的换行符)
  • replace(/\"/g, '\\\\\"'):把所有的双引号"变成\"(JSON能认的引号)

注意:n8n里面要双重转义,所以是\\\\n不是\\n

第5步:发送到企微(配置Webhook)

  1. 方法选POST
  2. URL填你的企微机器人Webhook地址
  3. 发送Body选Yes,类型选JSON
  4. 把上面那个转义后的代码贴到JSON Body里

企微机器人怎么来?点击参考第三节的内容。

三、整条工作流展示

四、测试:看看效果咋样

效果展示

  • 企微里直接显示Markdown格式
  • 标题、列表、加粗都保留
  • 比截图清晰,还能复制文字

五、可能会遇到的问题

  1. AI输出不好看:调整提示词,说得更具体点
  2. 企微收不到:检查Webhook地址对不对
  3. JSON还是报错:检查转义代码,特别是反斜杠数量
  4. 中文乱码:确保都是UTF-8编码

小记

我其实在http的json格式那里还试了别的方法(走了弯路):想将md转为file,但有个问题是还得手动点下载到本地,要传走的话又要加载本地文件,感觉不方便,也不太合理,后面才看的企微官方文档,明明白白给了示例:

于是乎我恍然大悟,又回到修改json内容的步骤了。诶,n8n处处皆代码。

http://www.cnnetsun.cn/news/27440.html

相关文章:

  • 算法练习4--数组:长度最小的子数组
  • Spring Cloud Gateway为什么要推出 WebMVC 版本?深度解析两大版本的差异与选型
  • git和github的区别
  • 小白从零开始勇闯人工智能Linux初级篇(MySQL库)
  • Bootstrap 模态框详解
  • MinerU终极安全离线部署指南:完全断网环境解决方案
  • 练题100天——DAY24:罗马数字转整数+环形链表+大小端判断
  • 网站域名:关键的战略资产
  • Airflow 做 ETL,真不是“排个 DAG 就完事儿”:那些年我踩过的坑与悟出的道
  • 数据库连接池监控最佳实践:用 Prometheus + Grafana 打造可视化监控体系
  • Windows验机
  • 别让孩子视力提早“透支” ,这份护眼指南请收好
  • 儿童青少年近视干预科学指引,破解家长近视防控焦虑
  • 解析 .NET 核心基石:CTS、CLS 与 CLR 的核心价值与协同作用
  • Selinux权限的检测
  • 常见报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.example.dem
  • 甲骨文AI投资支出激增致股价创24年最大跌幅
  • TinyMCE4粘贴word超链接自动解析域名
  • TinyMCE6处理微信公众号音频视频嵌入
  • 昇腾 Ascend 自定义算子开发全攻略:从 TBE DSL 到 AICPU,打通 AI 加速最后一公里
  • 当电机开始“唱歌“:NVH工程师的降噪日常
  • AI界的“经济适用男“!80亿参数小模型完胜GPT-5,成本降低70%,CSDN程序员必藏的智能调度方案
  • FPGA教程系列-Vivado Aurora 8B/10B 例程解读
  • 227827827
  • MCU的启动流程你了解么?
  • 逻辑回归(Logistic Regression)进行多分类的实战
  • RNN(循环神经网络)原理
  • 人机协同重构创作生态——生成式AI赋能内容产业的变革与思考
  • Java 小白求职者在互联网大厂的面试实录:从 Spring Boot 到微服务架构
  • V助手舆情分析智能体:重塑舆情分析,从“人找信息”到“信息为人”