> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mantle.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

> Send messages, search conversations, and manage channels

Connect your Slack workspace and let agents send and read messages, search conversations, manage channels and files,
react to messages, and trigger tasks automatically from channel activity.

***

## What you unlock

<CardGroup cols={2}>
  <Card title="Messaging and search" icon="message">
    Send, schedule, and search messages across channels, threads, and direct messages.
  </Card>

  <Card title="Channel management" icon="hashtag">
    Create, archive, rename channels, invite users, and manage topics and purposes.
  </Card>

  <Card title="File and media sharing" icon="file-arrow-up">
    Upload, download, share, and manage files directly within Slack conversations.
  </Card>

  <Card title="9 real-time triggers" icon="bolt">
    Start an agent task automatically when messages arrive, reactions are added, channels are created, and more.
  </Card>
</CardGroup>

***

## Connect Slack

<Steps>
  <Step title="Open Settings → Integrations">
    In any workspace go to **Settings → Integrations** and select **Slack**.
  </Step>

  <Step title="Authorize with Slack">
    Click **Connect** and sign in to your Slack workspace. Approve the requested permissions to let Mantle read and
    write messages on your behalf.
  </Step>

  <Step title="Add Slack to an agent">
    Open the agent and enable only the Slack actions it needs. Teammates use their own available connection when a tool
    requires one.
  </Step>
</Steps>

***

## Agent tools

### Messages

| Tool                       | Description                                 |
| -------------------------- | ------------------------------------------- |
| Send message               | Post a message to a channel or conversation |
| Send ephemeral message     | Send a message visible only to one user     |
| Update message             | Edit an existing message                    |
| Delete message             | Remove a message from a channel             |
| Schedule message           | Schedule a message for future delivery      |
| Fetch conversation history | Retrieve recent messages from a channel     |
| Fetch thread replies       | Get all replies in a message thread         |

### Search

| Tool               | Description                               |
| ------------------ | ----------------------------------------- |
| Search messages    | Search messages across the workspace      |
| Search all content | Search messages, files, and other content |

### Channels

| Tool                    | Description                            |
| ----------------------- | -------------------------------------- |
| Create channel          | Create a new public or private channel |
| List channels           | List channels in the workspace         |
| Archive channel         | Archive an existing channel            |
| Invite users to channel | Add members to a channel               |
| Set channel topic       | Update the topic of a channel          |
| Rename channel          | Change the name of a channel           |

### Files and reactions

| Tool            | Description                                |
| --------------- | ------------------------------------------ |
| Upload file     | Upload a file to a channel or conversation |
| List files      | List files shared in the workspace         |
| Download file   | Download a file by its ID                  |
| Add reaction    | Add an emoji reaction to a message         |
| Remove reaction | Remove an emoji reaction from a message    |
| Pin message     | Pin a message to a channel                 |

***

## Triggers

Triggers start an agent task automatically when something happens in Slack. Some triggers require a **Channel** during
setup.

| Trigger                      | When it fires                            | Config              |
| ---------------------------- | ---------------------------------------- | ------------------- |
| New message received         | A new message is posted to a channel     | Channel required    |
| New channel created          | A new channel is created in Slack        | —                   |
| Reaction added               | A reaction is added to a message         | —                   |
| Reaction removed             | A reaction is removed from a message     | —                   |
| New bot message received     | A bot posts a message to a channel       | Channel required    |
| New direct message received  | A direct message is sent to a user       | —                   |
| New private channel message  | A message is posted in a private channel | Channel ID required |
| New multi-person DM received | A message is posted in a group DM        | —                   |
| Thread reply received        | A reply is added to a message thread     | Channel required    |

<Steps>
  <Step title="Create a task with a Slack trigger">
    Open any agent, go to the **Tasks** tab, and add a new task. In the trigger picker, choose **Integration → Slack**.
  </Step>

  <Step title="Choose which event to watch">
    Pick one of the nine available events. For channel-based triggers, enter the channel name or ID.
  </Step>

  <Step title="Authorize events">
    The first time you save a Slack trigger task, Mantle may ask you to approve the event connection. Review the access
    and confirm it in Slack.
  </Step>
</Steps>

***

## Example use cases

<AccordionGroup>
  <Accordion title="Auto-respond to support questions in a channel">
    **Trigger:** New message received (channel: #support)

    When a new message arrives in #support, an agent reads the question, searches your knowledge base, and posts a helpful reply in the same thread.
  </Accordion>

  <Accordion title="Summarize daily channel activity">
    Ask your agent to fetch the last 24 hours of messages from a channel, generate a summary of key discussions and decisions, and post it to #daily-digest.
  </Accordion>

  <Accordion title="Notify a channel when a reaction milestone is hit">
    **Trigger:** Reaction added

    When a message receives a specific emoji (e.g., five fire reactions), the agent posts a celebratory message or forwards the content to a highlights channel.
  </Accordion>
</AccordionGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="The bot can't post to a private channel">
    The Slack app must be explicitly invited to private channels. Type `/invite @Mantle` in the private channel, then
    retry.
  </Accordion>

  <Accordion title="Messages appear as the bot instead of my name">
    Slack may show messages as the connected Mantle app. This depends on the connection and permissions approved in
    Slack. Reconnect and review the requested posting access if the sender is not what you expect.
  </Accordion>

  <Accordion title="Trigger tasks aren't firing">
    1. Confirm the task is **active** (green indicator on the Tasks tab). 2. Check that the correct channel is specified
       for channel-based triggers. 3. Re-authorize the event connection from task settings if Mantle asks you to.
  </Accordion>

  <Accordion title="Search returns no results">
    Slack search requires the workspace to have messages indexed. Very new workspaces or free-tier workspaces with
    limited history may return fewer results. Ensure the connected account has permission to search.
  </Accordion>
</AccordionGroup>

***

<Card title="Back to Integrations" icon="plug" href="/integrations/overview">
  View all available integrations
</Card>
