n8n怎么搭建工作流实现企业微信可以一键群发,有用户名单的情况下
2条回答 默认 最新
檀越@新空间 2026-01-15 12:19关注中午好🌞🌞🌞
本答案参考通义千问要在 n8n 中搭建一个工作流,实现企业微信的一键群发功能,并且在有用户名单的情况下进行自动化发送,你可以按照以下步骤进行操作。这个流程会使用 n8n 的 企业微信节点(Enterprise WeChat Node) 和 数据处理节点(如“Set”、“Split In Batches”等) 来实现。
一、前提条件
- 拥有企业微信账号:你必须是企业微信的管理员或有权限创建应用。
- 创建企业微信应用:
- 登录企业微信管理后台 → 应用管理 → 创建自定义应用。
- 获取 AgentId、Secret 等必要信息。
- 安装 n8n 并配置企业微信节点:
- 在 n8n 中安装
n8n-nodes-enterprise-wechat节点。 - 配置企业微信的 API 地址、AgentId、Secret 等参数。
- 在 n8n 中安装
二、实现目标
- 输入一组用户 ID 或用户名列表。
- 使用 n8n 工作流自动向这些用户发送消息到企业微信。
三、解决方案步骤(详细说明)
1. 准备用户数据
- 用户数据可以是 JSON 格式,例如:
[ { "user_id": "user1", "name": "张三" }, { "user_id": "user2", "name": "李四" } ]重点:确保用户数据中包含企业微信的用户ID。
2. 添加“Set”节点设置消息内容
- 使用 Set 节点 设置要发送的消息内容,例如:
{ "msgtype": "text", "text": { "content": "你好,{{ $node['Set'].json.name }}!这是一条测试消息。", "mentioned_list": ["@all"] } }重点:使用变量 {{ $node['Set'].json.name }} 动态替换用户名。
3. 添加“Split In Batches”节点(分批处理)
- 如果用户数量较多,建议使用 Split In Batches 节点将用户分成小批次处理,避免超时或失败。
4. 添加“Enterprise WeChat”节点发送消息
- 使用 Enterprise WeChat 节点 发送消息。
- 配置参数如下:
- AgentId: 之前创建的应用的 AgentId
- Secret: 该应用的 Secret
- To User: 填入用户ID字段(如
{{ $item.json.user_id }}) - Message: 填入之前 Set 节点生成的 message 内容
重点:确保 To User 字段正确绑定用户ID。
5. 添加“Debug”节点查看结果(可选)
- 可以添加 Debug 节点 查看每条消息是否成功发送。
四、完整工作流示例(可视化结构)
- Trigger 节点(如 HTTP 请求、定时触发器等)
- Set 节点:设置消息内容和变量
- Split In Batches 节点:分批次处理用户
- Enterprise WeChat 节点:发送消息给每个用户
- Debug 节点(可选):查看输出结果
五、代码示例(如果使用 API 方式)
如果你不使用 n8n 的 UI 操作,而是通过 API 方式调用企业微信接口,可以参考如下代码片段:
const axios = require('axios'); const sendMessage = async (userId, message) => { const accessToken = await getAccessToken(); // 获取 access_token const url = `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accessToken}`; const data = { touser: userId, msgtype: 'text', text: { content: message, mentioned_list: ["@all"] } }; try { const response = await axios.post(url, data); console.log('消息发送成功:', response.data); } catch (error) { console.error('消息发送失败:', error); } }; // 获取 access_token async function getAccessToken() { const url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'; const params = { corpid: '你的企业ID', corpsecret: '你的Secret' }; const res = await axios.get(url, { params }); return res.data.access_token; }重点:确保
touser是企业微信的用户ID,不是微信昵称或手机号。
六、注意事项
- 用户ID 必须是企业微信内部的唯一标识,不能使用手机号或微信昵称。
- 企业微信消息发送有频率限制,建议分批次发送。
- 如果使用
mentioned_list,请确保你在企业微信中开启相关权限。
七、总结
| 步骤 | 说明 | |------|------| | 1 | 准备用户数据并确认用户ID | | 2 | 使用 Set 节点设置消息内容 | | 3 | 分批处理用户数据(可选) | | 4 | 使用 Enterprise WeChat 节点发送消息 | | 5 | 查看 Debug 结果验证是否成功 |
如果你需要我帮你生成完整的 n8n 工作流 JSON 文件,也可以告诉我,我可以提供一份模板供你直接导入。
解决 无用评论 打赏 举报