# n8n 接入 Server酱：工作流完成或出错时推送微信（2026 教程）

> 在 n8n 工作流完成或出错时，通过 Server酱 推送微信通知。配置 HTTP Request 节点调用 API，配合 Error Workflow 实现全局告警。

- 网页版：https://sct.ftqq.com/docs/integrations/n8n/
- 更新日期：2026-07-17

# n8n + Server酱：工作流状态微信通知

> 效果：当 n8n 工作流执行成功或失败时，自动发送一条包含执行详情的消息到你的微信。

## 前置条件

1.  **一个 SendKey**：用于调用 Server酱 API。如果你还没有，请参考 [30 秒获取 SendKey 教程](https://sct.ftqq.com/docs/getting-started/sendkey/)。
2.  **一个可用的 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` 字段中写入（引用上游节点输出的字段）：
```text
**处理对象**：{{ $json.name }}
**处理结果**：{{ $json.status }}
**完整数据**：{{ JSON.stringify($json) }}
```

### 3. 配置全局错误告警 (Error Workflow)

为了捕获所有工作流的错误并集中告警，可以创建一个专门的 **Error Workflow**：

1.  新建一个工作流。
2.  添加 **Error Trigger** 节点作为触发器。
3.  连接一个 **HTTP Request** 节点，并按步骤 1 和 2 配置 Server酱 API 调用。Error Trigger 的输出数据中包含出错的工作流与错误信息，可在 `desp` 中用表达式引用（具体字段可在节点的输入数据面板中查看）。
4.  在其他需要监控的工作流设置中，找到错误处理部分，指定刚才创建的 Error Workflow。

这样，任何关联工作流发生错误时，都会触发这个 Error Workflow 并向你发送微信告警。

## 完整示例

以下是一个简单的“工作流完成通知”节点配置示例。假设 SendKey 已存储在名为 `SERVERCHAN_KEY` 的变量中。

1.  **HTTP Request 节点配置**:
    *   Method: `POST`
    *   URL: `https://sctapi.ftqq.com/{{$vars.SERVERCHAN_KEY}}.send`
    *   Body Content Type: `Form-Data`
    *   Parameters:
        *   `title`: `n8n工作流执行通知`
        *   `desp`: `工作流执行完毕。结果：{{ $json.status }}`

## 常见问题

**额度是多少？**
免费版每日可发送 5 条消息。订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**消息没收到怎么办？**
请首先检查 n8n 节点的执行日志，查看 HTTP 请求是否成功发出及 Server酱 的返回信息。更多排查步骤请参考 [Server酱 常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)。

**有发送频率限制吗？**
为防止滥用，Server酱 API 有频率限制，免费版每分钟最多发送 50 条。请合理设计工作流触发频率。

**可以推送到企业微信或钉钉吗？**
可以。Server酱 支持将消息转发到企业微信应用、钉钉群机器人、飞书群机器人等通道。只需在 Server酱 官网配置一次即可，n8n 中的调用方式不变。详见 [通道对比与配置](https://sct.ftqq.com/docs/getting-started/channels/)。

## 相关集成

*   [Python 脚本推送](https://sct.ftqq.com/docs/integrations/python/) - 在 Python 脚本中调用 Server酱 API
*   [Uptime Kuma 宕机告警](https://sct.ftqq.com/docs/integrations/uptime-kuma/) - 网站监控状态通知
*   [青龙面板任务通知](https://sct.ftqq.com/docs/integrations/qinglong/) - 定时任务执行结果推送


## 懒人方案：把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手，它就会替你完成 Server酱 的接入：

```text
请帮我把 Server酱 微信通知接入到我当前的项目/工具中：
1. API：POST https://sctapi.ftqq.com/{SendKey}.send，参数 title（必填，不能含换行）、desp（正文，支持 Markdown，可选）；成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头，则改用 https://{uid}.push.ft07.com/send/{SendKey}.send，uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取；如果没有，提醒我到 https://sct.ftqq.com 免费获取（每天 5 条额度）。
4. 安全要求：不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定：任务结束发 1 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

