外部消息
工作流与 Telegram 等外部渠道往来的消息在哪里看、怎么与执行详情对应。
工作流跑起来之后经常要往外部渠道发东西:在 Telegram 里提问等您回复、把日报发进 Slack 频道、给钉钉群推一条告警。控制台的「外部消息」页把这些散落在各次执行里的消息收进一张可搜索的列表,每条消息都能一键跳回产生它的那次执行。入口在 控制台侧边栏 → 外部消息。
消息从哪里来
列表里的每一条记录都来自某次执行,主要有三类来源:
- Agent 的 IM 工具调用 — sendMessageToUser(发消息)、sendFileToUser(发文件)、askUserViaIM(提问并等待回复)
- 步骤事件流中的结构化外部消息事件 — 工作流运行时随事件一起记录
- 送达型步骤的输出 — 报表 / 文件成功送达 Slack 或 Telegram 后留下的送达记录
外部消息没有独立的录入通道:列表由每次执行的事件流提取索引而来,执行数据始终是事实来源。消息内容以发送当时记录的文本为准。
支持的渠道
出站消息覆盖 7 个 IM 渠道:Telegram、Slack、Discord、WhatsApp、企业微信、钉钉、飞书。其中 Telegram 支持双向:工作流可以在运行中提问并等待您的回复再继续。本页列出的是工作流发出的消息;您的回复内容在对应执行详情的事件时间线里查看。
列表与筛选
列表按发送时间倒序,列包括:时间、渠道、方向、工作流、执行 ID、执行状态、步骤、消息内容。筛选条件可叠加:
| 筛选项 | 说明 |
|---|---|
| 关键字搜索 | 匹配消息内容、执行 ID、工作流名、步骤名、渠道 |
| 执行状态 | 等待中 / 运行中 / 已完成 / 失败 / 已取消 / 已中断 |
| 工作流 | 只看某条工作流发出的消息 |
| 外部渠道 | 按 Telegram、Slack、钉钉等渠道过滤 |
| 消息方向 | 发送(文本消息)或发送文件 |
分页每页 20 / 50 / 100 / 200 条可选。点消息内容或「详情」会打开抽屉:完整消息原文(其中的链接可直接点开)、发送时间、所属工作流与步骤,以及「复制消息」「查看执行详情」两个按钮。
和执行详情的关系
同一批消息在控制台有三个入口,粒度从粗到细:
- 外部消息页(本页)— 跨所有执行的汇总列表,适合按渠道或关键字追一条消息
- 执行列表 — 发过外部消息的执行带一个消息角标,悬停显示条数和最近一条的预览
- 执行详情 — 「外部消息」标签页只列这一次执行发出的消息;事件时间线里能看到消息前后的完整上下文,比如提问之后用户回了什么、有没有超时
每条消息都记录了产生它的步骤名。收到一条内容不对的消息时,从这里点进执行详情、定位到那一步的日志,比翻聊天记录快得多。
用 API 拉取消息列表
# 最近的外部消息(时间倒序)
curl "https://braidrun.com/api/executions/external-messages?page=1&size=50" \
-H "Authorization: Bearer <token>"
# 只看某条工作流发到 Telegram 的文本消息
curl "https://braidrun.com/api/executions/external-messages?workflowId=<workflow-id>&service=telegram&direction=outgoing" \
-H "Authorization: Bearer <token>"| 参数 | 说明 |
|---|---|
page / size | 分页;size 默认 50、最大 200(Web UI 默认每页 20) |
workflowId | 只看某条工作流 |
status | 按执行状态过滤,如 COMPLETED、FAILED |
service | 渠道,小写,如 telegram、slack、dingtalk、feishu |
direction | 消息方向:outgoing(文本)或 outgoing_file(文件) |
search | 关键字,匹配范围与页面搜索框相同 |
每条返回记录包含 executionId、workflowId、workflowName、executionStatus、service、direction、content、stepName、timestamp,足够在外部系统里还原"哪条工作流的哪一步、什么时候、往哪个渠道发了什么"。