查看 Markdown

Slack 触发器

当机器人在它所在的频道中被提及时,slack.mention 会触发。私信、斜杠命令和交互组件不会产生这个触发器。

.paseo/workflows/slack-help.yml:

name: slack-help
on: slack.mention
max_runtime: 1h
filters:
  workspace: T01234567
  channels: [C01234567]
  from_users: [U01234567]
steps:
  - id: answer
    environment: dev
    max_runtime: 30m
    idle_timeout: 5m
    agent: codex
    prompt:
      - text: |
          Answer with hub.reply, then call hub.finish_execution.
          ${{ paseo.prompt }}
    allow_outputs:
      - { type: slack.reply, max: 1, required: true }

Slack 过滤器使用 ID,而不是显示名称或 Hub 连接的 slug。from_users 匹配消息作者,workspace 匹配团队,channels 匹配频道。pattern 是提及之后必须出现的前缀;contains 是它的旧别名,前缀行为相同。所有过滤器都必须通过。

回复会发布在触发它的子区中。根消息会开启一个子区;子区中的消息则留在原子区。slack.reply 授予 hub.reply,但不会在提示词中添加回复说明。

提及之后紧跟的是已声明的输入:

@Paseo repo=project agent=claude investigate the failed sync

Hub 会读取连续的已声明头部,并把剩余部分作为 ${{ paseo.prompt }} 提供。参见 Workflow。

查找 Slack ID

过滤器在哪里复制
workspace在浏览器中打开 Slack。团队 ID 是 URL 中 T… 开头的那一段。
from_users你的头像 → Profile → ⋮ → Copy member ID。成员 ID 以 U 开头。
channels频道名称 → About。频道 ID 位于面板底部,以 C 开头。

引导式设置会根据你连接的 Slack 应用填好 workspace,并询问你的成员 ID,因此生成的起步配置已经包含这两项。

赞助商