n8n可通过excel或google sheets导入员工生日数据,筛选今日生日人员后,用set或function节点组装企业微信消息,再调用webhook发送提醒。需确保数据含“姓名”“部门”“生日”三列且格式为yyyy-mm-dd,webhook需提前在企业微信配置并测试。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用n8n自动在员工生日当天发送企业微信消息提醒HR或部门负责人,避免人工遗漏或延迟通知。
准备生日数据源
从Excel或Google Sheets导入员工生日信息,确保包含“姓名”“部门”“生日(YYYY-MM-DD格式)”三列,缺失任意一列将导致后续节点无法匹配日期。
将文件上传至n8n可访问的路径,或使用Google Sheets节点直连——若选后者,需提前在Google Cloud Console启用Sheets API并配置OAuth2凭证。
这一步操作起来很简单,直接把文件拖进去就行。
筛选今日生日人员
添加Function节点,输入JavaScript代码:
const today = new Date().toISOString().slice(0, 10);
return items.filter(item => item.json.birthday === today);
注意:birthday字段名必须与数据源中列名完全一致,大小写敏感。若列名为“出生日期”,此处需改为item.json.出生日期。
【birthday字段值必须为纯字符串格式的YYYY-MM-DD,不能是Date对象或带时分秒的时间戳】
组装企业微信消息内容
方法一:用Set节点批量设置消息字段
在“Values”中新增三项:
msgtype → text
text.content → `【生日提醒】${{ $json["姓名"] }} 今天生日,所属部门:${{ $json["部门"] }}`
mentioned_list → ["@all"](可选,仅需提醒特定人则填手机号或邮箱)
方法二:用Function节点动态拼接(适合需加emoji或换行)
return items.map(item => ({
json: {
msgtype: "text",
text: { content: `? ${item.json.姓名} 生日快乐!\n部门:${item.json.部门}` },
mentioned_list: []
}
}));
调用企业微信Webhook发送
第一步:在企业微信后台创建群机器人,复制Webhook地址,粘贴到HTTP Request节点的URL字段。
第二步:设置HTTP Request节点:
Method → POST
Content-Type → application/json
Body → {{$json}}
第三步:勾选“Options → Ignore SSL Issues”,否则自建证书环境会报SSL错误中断流程。
发送前务必在企业微信客户端测试该Webhook能否正常接收消息,失败时n8n日志只显示“status 400”,不提示具体原因。











