深度

OpenClaw Webhook 完全指南:接收任意平台事件触发 AI 自动化工作流

OpenClaw Webhook 集成完整教程:配置 Webhook 端点接收外部事件、签名验证防伪造、GitHub/Stripe/自定义系统 Webhook 处理、事件解析与路由、基于 Webhook 的自动化工作流设计,以及内网穿透(ngrok/Cloudflare Tunnel)本地调试方案。

2026/3/164分钟 阅读ClaudeEagle

Webhook 是 OpenClaw 最强大的集成方式之一——任何能发 HTTP 请求的系统, 都可以触发你的 AI 助手执行任务。GitHub Push、Stripe 支付、监控告警…… 一个 Webhook 端点,连接所有系统。

核心原理

外部系统(GitHub/Stripe/任意服务) | | HTTP POST(携带事件数据) v OpenClaw Webhook 端点 | | 验证签名 + 解析事件 v AI 处理(Claude 分析事件内容) | | 执行动作(发通知/调用API/更新数据) v Telegram/Slack/邮件通知

基础配置

json
// ~/.openclaw/config.json
{
  "webhooks": {
    "enabled": true,
    "port": 3001,
    "basePath": "/webhook",
    "endpoints": [
      {
        "path": "/github",
        "secret": "你设置的github-webhook-secret",
        "handler": "github"
      },
      {
        "path": "/stripe",
        "secret": "whsec_你的stripe-webhook-secret",
        "handler": "stripe"
      },
      {
        "path": "/custom",
        "token": "你自定义的bearer-token",
        "handler": "custom"
      }
    ]
  }
}

启动后,Webhook 端点地址:

  • https://你的域名/webhook/github
  • https://你的域名/webhook/stripe
  • https://你的域名/webhook/custom

场景 1:GitHub Webhook

配置

GitHub 仓库 Settings → Webhooks → Add webhook:

  • Payload URL: https://你的域名/webhook/github
  • Content type: application/json
  • Secret: 与 config 里一致
  • 事件: push, pull_request, issues, workflow_run

SOUL.md 处理逻辑

markdown
## GitHub Webhook 处理规则

### push 事件
- 推送到 main 分支:发 Telegram 通知(推送人 + commit 摘要)
- 推送到 release/* 分支:发告警到 #releases 频道

### pull_request 事件
- opened:AI 分析 diff,生成代码审查要点,发到 Telegram
- merged:汇总本次 PR 的改动,更新项目 CHANGELOG 草稿

### workflow_run 事件
- failure:立刻发告警,包含失败的 step 和错误摘要
- success(main 分支):发部署成功通知

场景 2:Stripe 支付 Webhook

markdown
## Stripe Webhook 处理规则

### payment_intent.succeeded
提取:金额、用户邮箱、订单ID
动作:
1. 更新 Notion 订单数据库状态为「已付款」
2. 发 Telegram 通知:新订单 $金额(用户邮箱)
3. 触发发货流程(POST 到内部 API)

### payment_intent.payment_failed
提取:失败原因、用户邮箱
动作:
1. 发 Telegram 告警(需要人工处理)
2. 记录到错误日志数据库

### customer.subscription.deleted
动作:
1. 发 Telegram 通知(哪个用户取消了,订阅了多久)
2. 标记用户状态为「已取消」

场景 3:自定义系统 Webhook

任何内部系统都可以向 OpenClaw 发事件:

bash
# 服务器监控系统发告警
curl -X POST https://你的openclaw域名/webhook/custom   -H "Authorization: Bearer 你的token"   -H "Content-Type: application/json"   -d '{
    "event": "server_alert",
    "severity": "critical",
    "server": "prod-web-01",
    "metric": "cpu_usage",
    "value": 95.2,
    "threshold": 80
  }'
markdown
## 自定义 Webhook 处理规则

### server_alert 事件
- severity=critical:立刻发 Telegram 告警 + @oncall
- severity=warning:记录日志,每小时汇总一次
- 连续 3 次同一告警:升级为 critical

### deploy_complete 事件
- 发部署通知:版本号、环境、耗时、操作人

### backup_failed 事件
- 立刻发告警,标记需要手动干预

本地调试(内网穿透)

方案 1:ngrok

bash
# 安装 ngrok
brew install ngrok

# 暴露本地 3001 端口
ngrok http 3001

# 获得临时公网 URL:https://xxxx.ngrok.io
# 在 GitHub/Stripe 填这个 URL + /webhook/github

方案 2:Cloudflare Tunnel(免费,更稳定)

bash
# 安装 cloudflared
brew install cloudflared

# 创建免费隧道
cloudflared tunnel --url http://localhost:3001

# 获得固定 URL:https://xxx.trycloudflare.com

Webhook 签名验证原理

OpenClaw 自动验证签名,防止伪造请求:

python
# GitHub 签名验证示例(OpenClaw 内部处理,无需手动写)
import hmac, hashlib

def verify_github_signature(payload: bytes, signature: str, secret: str) -> bool:
    expected = "sha256=" + hmac.new(
        secret.encode(), payload, hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

只有签名匹配的请求才会被处理,其余返回 401。

常见问题

Q:Webhook 没有触发 检查:1) URL 是否正确;2) 签名 Secret 是否一致;3) 查看 openclaw logs 是否有收到请求

Q:本地开发没有公网 IP 使用 ngrok 或 Cloudflare Tunnel 暴露本地端口,见上方教程

Q:怎么重放历史 Webhook Stripe 控制台可以重发;GitHub 在 Webhook 设置页面有 Recent Deliveries,可重发


来源:OpenClaw 官方文档

相关文章推荐

深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26深度OpenClaw API 开发指南:用 REST API 和 Webhook 把 AI 助手集成到任意系统OpenClaw API 完整开发文档:Gateway REST API 端点说明、会话管理 API、消息发送 API、Webhook 接收外部事件、MCP(Model Context Protocol)服务器集成、API 认证方式、限流配置,以及将 OpenClaw AI 能力嵌入自有应用的完整代码示例。2026/3/17深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw 插件开发完全指南:从零构建自定义渠道和工具插件OpenClaw 插件(Plugin)开发完整教程:插件类型(渠道插件/工具插件/Provider插件)、插件的目录结构和 package.json 规范、使用 Plugin SDK 开发自定义消息渠道(实现 onMessage/sendMessage 接口)、开发自定义工具(Tool)的函数签名和参数 Schema、本地插件安装与调试(openclaw plugins install ./local-plugin)、发布到 npm 的规范要求(@openclaw/ 命名空间)、插件的权限声明(capabilities)、社区插件列表(Plugin Bundles)获取,以及常见插件开发错误和调试技巧。2026/3/25深度OpenClaw 安全威胁模型深度解析:MITRE ATLAS 框架下的 AI 助手攻防分析OpenClaw 安全架构深度分析:个人助手信任模型(单用户/单 Gateway 边界)、形式化验证的认证逻辑、基于 MITRE ATLAS 框架的 AI 系统威胁分类(直接提示注入/间接提示注入/工具滥用/数据泄露/会话劫持)、多租户共享 Gateway 的风险与安全边界说明、exec/browser/文件工具的权限最小化配置、频道白名单与沙箱配置对应的威胁缓解措施,以及 `openclaw security audit` 命令的使用方法。2026/3/24深度OpenClaw 多模型路由完全指南:30+ 模型提供商接入、智能切换与故障转移OpenClaw 多模型路由系统完整教程:支持的 30+ 模型提供商全览(Anthropic/OpenAI/Gemini/Ollama/OpenRouter/DeepSeek/Qwen/GLM 等)、provider/model 格式的模型指定方式、按渠道/Agent/任务类型设置不同默认模型、Model Failover 故障转移配置(主模型失败自动切换备用模型)、Claude Max API Proxy 接入方式、本地模型(Ollama/vLLM)与云端模型混用策略,以及 Token 限制和费用控制实践。2026/3/24