api-referenceSlack Events

Slack Events

Chief uses Slack Socket Mode (a persistent WebSocket) rather than HTTP webhooks. Events flow from Slack → Chief’s agent host (a DigitalOcean droplet) over WSS.

Why Socket Mode?

  • No public webhook URL to expose, harden, and rotate.
  • Slack handles backpressure — events queue server-side if Chief is slow.
  • Lower latency for typical event volumes.
  • Simpler ops (no inbound firewall rules).

Subscribed Events

Chief listens to:

EventWhat Chief does
message.channelsIf the message @-mentions Chief, route to agent. Otherwise ignore.
message.groupsSame, for private channels.
message.imAlways route to agent (DMs are addressed to Chief by definition).
app_mentionSame payload as message.* with @chief; Chief uses this as a fallback.
app_home_openedRender the App Home tab with quick links.
reaction_added, reaction_removedCapture as feedback signal (👍 / 👎 on Chief messages).
file_sharedIf shared in a thread Chief is in, attach to the agent’s context.
member_joined_channelIf Chief was added, send a brief intro message.
team_joinGreet new workspace members in DM (configurable).
app_uninstalledTear down the tenant’s Slack credentials gracefully.

Slash Commands

Slash commands are dispatched separately:

CommandHandler
/chief-statusLists in-flight tasks for this user
/chief-stopCancels the current task
/chief-helpQuick-reference Slack message
/chief-knowledgeOpens a modal with the user’s saved memories
/chief-learnOpens a modal to manually save a memory
/chief-cronsLists the user’s active cron jobs

Event Latency

Typical end-to-end latency from your Slack message to Chief’s first reaction (👀): 150–400 ms. Beyond that, latency depends on the work itself — quick Q&A returns in seconds; multi-tool tasks take longer.

Privacy: What Chief Reads

Chief reads only:

  • DMs to Chief
  • @-mentions of Chief in any channel where it’s invited
  • Threads Chief is already participating in (to maintain context)
  • Files attached to messages Chief is reading

Chief does not read:

  • Channels Chief isn’t invited to
  • DMs between other users
  • Any content from before Chief was installed

This is enforced by the Slack OAuth scopes Chief requests. See Slack Install.

Event Volume Limits

If Chief sees a sudden burst of events that look like a runaway loop (e.g., one bot replying to another in an infinite chain), the event handler quietly drops events from that thread for 60 seconds and DMs admins.