# Slack

Replies to Slack mentions and DMs, scoped to the thread, via the Slack Web API.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md).



<DocsBaseSwitcher base="flue" agent="slack-agent" />

<AgentPreview
  agent="slack-agent"
  framework="flue"
  inputFields="[
  {
    name: &#x22;message&#x22;,
    label: &#x22;Message&#x22;,
    placeholder: &#x22;@bot what's the status of the deploy?&#x22;,
    type: &#x22;text&#x22;,
  },
]"
/>

## Summary [#summary]

The **Slack Agent** turns your agent into a Slack bot. It answers mentions and
direct messages, keeps each conversation scoped to its thread, and replies with
Slack formatting. Reach for it to put an assistant where your team already works —
an on-call helper, a docs bot, or a triage assistant.

## Install [#install]

```bash
npx shadcn@latest add @agentcn/flue/slack-agent
```

## Composition [#composition]

```text
agents/
└── slack-agent.ts       # Agent + route handler stub for Slack events
tools/
└── post-message.ts      # Posts a (threaded) Slack message
```

## Customization [#customization]

* **Verify signatures.** Implement Slack signature verification in the exported
  `route` before calling `next()`.
* **Add more actions.** Add tools for reactions, file uploads, or modals.
* **Scope memory by thread.** Key sessions on `thread_ts` for clean context.
* **Swap the model.** Change the `model` field on the agent.
