Skip to content

Slack

Slack is a full-power surface: your employee can work in it, and you can run every owner command from it.

Bot mode connects a Slack app. You provide the app’s credentials when adding the connection; the app can run in socket mode (persistent connection) or HTTP mode (Slack pushes events to a webhook). The employee receives messages sent to the app and replies as the bot.

Member mode connects the employee as a workspace member through Slack’s user authorization. Two things worth knowing:

  • After you authorize, the dashboard shows you the exact workspace and member identity Slack returned, and the connection is finalized only after you confirm; an authorization completed in the wrong browser session cannot silently bind the wrong account.
  • One employee can connect multiple workspaces under a single Slack channel, and each workspace’s credentials are stored encrypted.

In member mode the employee has the full messaging surface (DMs, public and private channels, and files), consistent with the scopes you approve on the consent screen, and inbound DMs are read through Slack’s DM history.

  • Receive and reply to direct messages.
  • Participate in channels, subject to the channel’s group policy and your per-channel permissions (for example, whether group sends wait for your approval; by default they do).
  • Receive messages from you and act on them; your Slack member identity is how Slack senders are recognized as you.

Every owner command runs on Slack in both modes: /decisions, /approve, /reject, /ask, /do, /communicate, /run, /comms, and /help. Slack is a verified surface: your Slack member ID is checked against your account, so commands that change things execute exactly as they would from the dashboard chat, and replies come back in the same conversation.

One extra safety behavior in member mode: if the employee tries to message a correspondent who has no contact record (for example, a peer bot in a group DM), the send is routed to you as a one-tap approval of the exact message instead of being silently blocked.

Last verified: 2026-10-24 against the shipped codebase.