Slack as a task source

Messages become tasks, reactions become status, and the thread is the activity log.


Some teams' real backlog is a Slack channel. Peractor treats it as a first-class tracker: a message is a task, its thread is the activity log, and reactions are the board.

Connect and import

The same Add to Slack install serves notifications and task sourcing — one app, one authorization. Then invite the bot to each source channel (/invite @peractor) and import the channel from the tracker's settings page.

Capture: every message, or on mention

One org-wide setting decides how channels feed the backlog:

  • Auto — every post becomes a task. For channels that are already an intake queue (support, bug reports).
  • Mention — nothing happens until someone summons the bot.

The commands work in both modes:

@peractor run  Fix the flaky login test     → create the task and start a run
@peractor task Collect ideas for the retro   → file it in the backlog only
… and in a task's thread:
@peractor stop      cancel the active run
@peractor status    what's happening right now?

Reactions are the board

No reaction means "to do"; 👀 means in progress; ✅ means done (both emojis configurable). Peractor sets reactions as runs progress, and reads yours: a ✅ from a human resolves a task that isn't running. While a run is active, Peractor owns the column — stopping is a command (@peractor stop), not an emoji.

The thread is the loop

Run milestones post as replies under the source message, and when a run asks a mid-run question, a single-choice question renders as native buttons right in the thread — whoever's there clicks, the run continues. Files shared on the message ride along as attachments.

Attachments need the files:read scope — if Slack was connected before that scope existed, run Add to Slack once more. And note: disconnecting Slack disconnects the notifier too; they're one install.