* docs(hub): align public docs with v0.3 Bring the public workflow, API, authority, activity, and self-hosting guidance in line with the released Hub contracts. Clarify the public HTTPS boundary required by provider events while keeping Hub and PostgreSQL private. * docs(hub): clarify daemon logout scope * docs(hub): restore Compose path and simplify TLS guidance * docs(hub): link the single-repo-team-bot example
48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
---
|
|
title: Slack triggers
|
|
description: Configure Slack mentions and thread replies in one workflow file.
|
|
nav: Slack
|
|
order: 68
|
|
category: Hub
|
|
---
|
|
|
|
# Slack triggers
|
|
|
|
`slack.mention` fires when the bot is mentioned in a channel where it is present. Direct messages, slash commands, and interactive components do not produce this trigger.
|
|
|
|
`.paseo/workflows/slack-help.yml`:
|
|
|
|
```yaml
|
|
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 filters use IDs, not display names. `from_users` matches the author, `workspace` the team, and `channels` the channel. `pattern` is a required prefix after the mention; `contains` is its legacy alias and has the same prefix behavior. All filters must pass.
|
|
|
|
The reply posts in the triggering thread. A root message gets a thread; a threaded message stays there. `slack.reply` grants `hub.reply`, but does not add reply instructions to the prompt.
|
|
|
|
Leading declared inputs follow the mention:
|
|
|
|
```text
|
|
@Paseo repo=project agent=claude investigate the failed sync
|
|
```
|
|
|
|
Hub consumes consecutive declared headers and exposes the remainder as `${{ paseo.prompt }}`. See [Workflows](/docs/hub/workflows).
|