n8n + Server酱:工作流状态微信通知
效果:当 n8n 工作流执行成功或失败时,自动发送一条包含执行详情的消息到你的微信。
前置条件
- 一个 SendKey:用于调用 Server酱 API。如果你还没有,请参考 30 秒获取 SendKey 教程。
- 一个可用的 n8n 实例:本地部署或云端服务均可。
配置步骤
1. 在工作流中添加 HTTP Request 节点
在你的 n8n 工作流中,添加一个 HTTP Request 节点。在节点配置中,按以下方式填写:
- Method:
POST - URL:
https://sctapi.ftqq.com/你的SENDKEY.send - Body Content Type: 选择
Form-Data或JSON。
然后,添加两个参数:
title: 通知标题。例如:n8n工作流执行【成功】。desp: 通知正文,支持 Markdown。你可以在这里引用上游节点的数据,例如:处理结果:{{ $json.status }}。
提示:
你的SENDKEY建议通过 n8n 的凭据或变量功能管理,避免在多个节点中硬编码。具体入口请以你使用的 n8n 版本界面为准。
2. 使用表达式动态生成消息内容
在 title 和 desp 字段中,你可以使用 n8n 表达式(双花括号 {{}} 包裹)来引用上游节点的数据,实现动态内容。
例如,在 desp 字段中写入(引用上游节点输出的字段):
**处理对象**:{{ $json.name }}
**处理结果**:{{ $json.status }}
**完整数据**:{{ JSON.stringify($json) }}
3. 配置全局错误告警 (Error Workflow)
为了捕获所有工作流的错误并集中告警,可以创建一个专门的 Error Workflow:
- 新建一个工作流。
- 添加 Error Trigger 节点作为触发器。
- 连接一个 HTTP Request 节点,并按步骤 1 和 2 配置 Server酱 API 调用。Error Trigger 的输出数据中包含出错的工作流与错误信息,可在
desp中用表达式引用(具体字段可在节点的输入数据面板中查看)。 - 在其他需要监控的工作流设置中,找到错误处理部分,指定刚才创建的 Error Workflow。
这样,任何关联工作流发生错误时,都会触发这个 Error Workflow 并向你发送微信告警。
完整示例
以下是一个简单的“工作流完成通知”节点配置示例。假设 SendKey 已存储在名为 SERVERCHAN_KEY 的变量中。
- HTTP Request 节点配置:
- Method:
POST - URL:
https://sctapi.ftqq.com/{{$vars.SERVERCHAN_KEY}}.send - Body Content Type:
Form-Data - Parameters:
title:n8n工作流执行通知desp:工作流执行完毕。结果:{{ $json.status }}
- Method:
常见问题
额度是多少? 免费版每日可发送 5 条消息。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
消息没收到怎么办? 请首先检查 n8n 节点的执行日志,查看 HTTP 请求是否成功发出及 Server酱 的返回信息。更多排查步骤请参考 Server酱 常见问题与排查。
有发送频率限制吗? 为防止滥用,Server酱 API 有频率限制,免费版每分钟最多发送 50 条。请合理设计工作流触发频率。
可以推送到企业微信或钉钉吗? 可以。Server酱 支持将消息转发到企业微信应用、钉钉群机器人、飞书群机器人等通道。只需在 Server酱 官网配置一次即可,n8n 中的调用方式不变。详见 通道对比与配置。
相关集成
- Python 脚本推送 - 在 Python 脚本中调用 Server酱 API
- Uptime Kuma 宕机告警 - 网站监控状态通知
- 青龙面板任务通知 - 定时任务执行结果推送