Docs

Slack app

Capture and update tasks from Slack with /done or @done. Each Slack user links their own Done account, so everything you add is scoped to your tasks alone.

What you can do

/done buy milk tomorrow urgent #errands
Create a task — natural-language dates, priority, ~estimate, and #project all parse out of the line, exactly like Quick add in the app.
/done done review the PR
Mark the top open task whose title matches “review the PR” as done.
/done update groceries :: friday, low priority
Apply the due-date/priority cues after :: to the matching task and post the text as a comment on it.
/done list
Show your five most salient open tasks.
/done connect
Link this Slack account to your Done account (one-time).
/done help
Show the command reference.

@done … in a channel the bot is in works the same as /done ….

Connect your account

  1. In Slack, run /done connect.
  2. Open the link it replies with, sign in to Done if you aren't already, and click Confirm connection.
  3. That's it — /done now manages your account's tasks. Run /done disconnect anytime to unlink.

The link only proposes the connection — it's written only after you, signed in to Done, confirm it. A Slack identity can only ever be bound to the Done account of someone who proves they own it.

Set it up (workspace admin)

The Slack app is operator-configured. If you self-host Done, create a Slack app pointed at your instance and set two secrets; until they're set, the /slack/* routes stay dormant and reply “not configured”.

  1. At api.slack.com/apps, create an app for your workspace.
  2. Slash Commands → add /done with the request URL https://trydone.app/slack/commands.
  3. Event Subscriptions (optional, for @done) → request URL https://trydone.app/slack/events, subscribe to the app_mention bot event, and add the chat:write scope.
  4. Install the app to the workspace, then set the two secrets on the Worker:
wrangler secret put SLACK_SIGNING_SECRET   # from Basic Information → App Credentials
wrangler secret put SLACK_BOT_TOKEN        # xoxb-… (only needed for @done mentions)

Notes

  • Every Slack request is verified with Slack's signing-secret signature; stale (replayed) requests are rejected.
  • All work is scoped to the linked user's own account — the same isolation the app and MCP endpoint enforce.
  • Tasks created from Slack are ordinary tasks: assign them to an AI agent, set dependencies, or work them in the app.