📋 架构概览
Tawk.to
聊天事件
→
Cloudflare
Worker
→
飞书群
消息卡片
当客户在网站上开始聊天、结束聊天、生成聊天记录或创建工单时,Tawk.to 会发送 webhook 到 Cloudflare Worker,Worker 将事件格式化为飞书消息卡片并推送到你的飞书群。
支持的 4 种事件:
chat:start 💬 聊天开始
chat:end 🔚 聊天结束
chat:transcript_created 📝 聊天记录
ticket:create 🎫 新工单
飞书 第一步:创建飞书自定义机器人
1打开飞书,进入你要接收通知的群聊(或新建一个群)
2点击群聊右上角的 「···」 → 「设置」 → 「群机器人」
3点击 「添加机器人」 → 选择 「自定义机器人」
4设置机器人名称(如 "Tawk 聊天通知")和描述
5点击 「添加」,复制生成的 Webhook URL:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
⚠️ 重要:请保存好这个 URL,后面部署 Worker 时需要配置。不要泄露给他人。
6(可选)在机器人安全设置中,可以选择 「自定义关键词」,设置为 Tawk,只接收包含该关键词的消息
CF 第二步:部署 Cloudflare Worker
有两种部署方式,选择适合你的:
方式 A:通过 Dashboard 在线部署(推荐,无需安装工具)
2点击 「Create Worker」 → 给 Worker 命名为 tawk-webhook-feishu
3将 cloudflare-worker/tawk-webhook-feishu/src/index.js 的完整代码粘贴到编辑器中
4点击 「Save and deploy」
5进入 Worker 的 「Settings」 → 「Variables」,添加环境变量:
| 变量名 | 值 | 类型 | 说明 |
FEISHU_WEBHOOK_URL |
第一步获取的飞书机器人 URL |
Secret |
必填 |
TAWK_WEBHOOK_SECRET |
Tawk.to Dashboard 中创建 webhook 时显示的密钥 |
Secret |
选填(用于签名验证) |
NOTIFICATION_LANG |
zh |
Text |
通知语言,默认中文 |
6保存后,记录 Worker 的 URL:
https://tawk-webhook-feishu.<你的子域名>.workers.dev
方式 B:通过 Wrangler CLI 部署
cd cloudflare-worker/tawk-webhook-feishu
npm install -g wrangler
wrangler login
wrangler secret put FEISHU_WEBHOOK_URL
wrangler secret put TAWK_WEBHOOK_SECRET
wrangler deploy
Tawk 第三步:在 Tawk.to 创建 Webhook
2选择正确的 Property(Shanghai Wonder Tours)
3左侧导航点击 「Administration」 → 「Webhooks」
4点击 「Create Webhook」
5填写表单:
| Name | 飞书通知 |
| Endpoint URL | https://tawk-webhook-feishu.<你的子域名>.workers.dev |
| Events | 勾选全部 4 项(见下方) |
📌 勾选以下事件:
☑ Chat Start — 客户开始聊天时通知
☑ Chat End — 聊天结束时通知
☑ New Chat Transcript — 聊天记录生成后通知(含完整对话)
☑ New Ticket — 新工单创建时通知
6点击 「Save」
7保存后会显示 Webhook Secret Key,复制它:
Webhook Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
⚠️ 重要:回到 Cloudflare Worker 设置,将这个 Secret Key 填入 TAWK_WEBHOOK_SECRET 环境变量,用于验证 webhook 来源真实性。
✅ 第四步:测试
2点击右下角 Tawk.to 聊天窗口,发送一条消息
3检查飞书群是否收到 "💬 聊天开始" 消息卡片
4关闭聊天窗口,等待 3 分钟后检查是否收到 "📝 聊天记录" 消息卡片(含完整对话内容)
✅ 如果飞书群收到消息卡片,说明配置成功!
❌ 如果没有收到,检查:
1. Cloudflare Worker 环境变量是否正确设置
2. Tawk.to webhook URL 是否指向正确的 Worker 地址
3. 飞书机器人 URL 是否正确
4. 在 Cloudflare Worker 的 "Logs" 中查看实时日志
📲 飞书消息预览
以下是各种事件在飞书群中显示的效果:
💬 聊天开始
访客 V1561719148780935
地区 Shanghai, CN
时间 2026-08-05 14:03
来源 https://www.google.com/
首条消息 (访客): 你好,我想了解上海一日游
📝 聊天记录
访客 V1561719148780935
地区 Shanghai, CN
聊天记录:
[14:03] 客服: 👋 您好!有什么可以帮您?
[14:04] 访客: 想了解上海一日游的价格
[14:05] 客服: 我们有多个一日游路线...
🔧 故障排查
| 问题 | 解决方法 |
| 飞书没有收到消息 |
1. 检查 Worker 日志:Dashboard → Workers → tawk-webhook-feishu → Logs 2. 确认 FEISHU_WEBHOOK_URL 正确 3. 在浏览器中直接 POST 测试飞书 URL |
| Worker 返回 401 |
签名验证失败。确保 TAWK_WEBHOOK_SECRET 与 Tawk.to Dashboard 中显示的一致。如不需要验证,留空即可。 |
| 飞书返回 code: 19021 |
关键词校验失败。在飞书机器人设置中,安全设置改为"自定义关键词"并填入"Tawk"或关闭关键词校验。 |
| 飞书消息太长被截断 |
聊天记录超过 20 条消息时自动截断。如需更多,修改 Worker 中 maxMessages 的值。 |
| Tawk.to 重试多次 |
Worker 响应超过 30 秒或返回非 2XX。检查 Worker 是否正常部署。 |
📁 文件结构
cloudflare-worker/
└── tawk-webhook-feishu/
├── src/
│ └── index.js
├── package.json
└── wrangler.toml
Shanghai Wonder Tours · Tawk.to Webhook 飞书通知配置指南