正好983 2026-01-15 12:18 采纳率: 0%
浏览 2

n8n企业微信群发助手

n8n怎么搭建工作流实现企业微信可以一键群发,有用户名单的情况下

  • 写回答

2条回答 默认 最新

  • 檀越@新空间 2026-01-15 12:19
    关注

    中午好🌞🌞🌞
    本答案参考通义千问

    要在 n8n 中搭建一个工作流,实现企业微信的一键群发功能,并且在有用户名单的情况下进行自动化发送,你可以按照以下步骤进行操作。这个流程会使用 n8n 的 企业微信节点(Enterprise WeChat Node)数据处理节点(如“Set”、“Split In Batches”等) 来实现。


    一、前提条件

    1. 拥有企业微信账号:你必须是企业微信的管理员或有权限创建应用。
    2. 创建企业微信应用
      • 登录企业微信管理后台 → 应用管理 → 创建自定义应用。
      • 获取 AgentIdSecret 等必要信息。
    3. 安装 n8n 并配置企业微信节点
      • 在 n8n 中安装 n8n-nodes-enterprise-wechat 节点。
      • 配置企业微信的 API 地址、AgentId、Secret 等参数。

    二、实现目标

    • 输入一组用户 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 节点 查看每条消息是否成功发送。

    四、完整工作流示例(可视化结构)

    1. Trigger 节点(如 HTTP 请求、定时触发器等)
    2. Set 节点:设置消息内容和变量
    3. Split In Batches 节点:分批次处理用户
    4. Enterprise WeChat 节点:发送消息给每个用户
    5. 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 文件,也可以告诉我,我可以提供一份模板供你直接导入。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月15日