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

# Slack

> Investigate incidents, triage alerts, and explore system behavior directly from Slack.

With the Traversal Slack bot, you can start investigations, receive reports, and ask follow-up questions without leaving Slack. Mention `@Traversal` in any channel the app has been added to, or DM it directly.

With Traversal in Slack, engineers can:

* **Start investigations** from any channel or DM — either by invoking Traversal manually, or through configured auto-triggers
* **See investigations** for incidents or alerts shared directly in their Slack channels or DMs
* **Ask follow-up questions** in natural language to refine the analysis

<CardGroup cols={2}>
  <Card title="Watch the demo" icon="play" href="https://www.youtube.com/watch?v=F9XOKYv0ugU">
    See Traversal investigating an incident from Slack.
  </Card>

  <Card title="Install the Slack app" icon="slack" href="/integrations/slack">
    Get the Traversal Slack app into your workspace, including SaaS, single-tenant SaaS, and BYOC install paths.
  </Card>
</CardGroup>

<Tip>
  Want to shape how Traversal investigates or formats its responses in a channel? Set [channel custom instructions](/using-traversal/customization) — they apply to every investigation in that channel.
</Tip>

## Commands

Traversal provides the following slash commands in Slack:

| Command                            | Description                                                                        |
| :--------------------------------- | :--------------------------------------------------------------------------------- |
| `/traversal help`                  | Get documentation and instructions on how to use Traversal in Slack.               |
| `/traversal register-trigger`      | Create a new message trigger or channel join trigger for automatic investigations. |
| `/traversal show-triggers`         | View and delete all triggers configured for your organization.                     |
| `/traversal show-channel-triggers` | View all triggers configured for the current channel.                              |

## Triggers

Triggers let Traversal automatically start investigations when certain conditions are met. There are two types.

### Message triggers

Message triggers fire when a message in a configured channel matches certain conditions — for example, a keyword match or a message from a specific user. Use `/traversal register-trigger` to create one. You'll provide:

* A **channel ID** for the channel to monitor

<Tip>
  To find a channel ID, click on the channel name in Slack to open channel details. The channel ID is near the bottom.
</Tip>

* **Conditions** such as keyword matches or sender filters
* The **type of context** Traversal should pull into the investigation

### Channel join triggers

Channel join triggers fire when Traversal is added to a channel that matches a pattern you define. The pattern can match against the channel **name**, **topic**, or **description** — for example, channels whose name starts with `inci-` or whose topic contains `alert`. If the condition is met when Traversal is added to a channel, we will automatically run an investigation.

You can also specify the context source Traversal pulls into the investigation:

* Channel topic
* Channel description
* Message content
* Message thread content

### Managing triggers

Use `/traversal show-triggers` to view and delete triggers across your organization. Use `/traversal show-channel-triggers` to see only the triggers configured for the current channel.

## Proactive mode (Traversal Workers)

In incident channels, Traversal can go beyond one-shot investigations and stay resident for the whole incident as a [Traversal Worker](/using-traversal/workers) — investigating on its own, answering follow-ups in-thread, and drafting a post-mortem when the incident resolves. Workers are in beta and enabled per team.

## DM Traversal

You can message Traversal directly to start an investigation. Open the Traversal app in Slack and send it a message — no need to be in a specific channel.

## Investigation output

When Traversal completes an investigation, it renders the report directly in Slack. The report includes:

* **Citations** with links to the observability sources referenced in the investigation, bringing you directly to the relevant data in your primary observability tool
* A link to **open the investigation in the Traversal UI** for more detail
* A **feedback** option so Traversal can learn about your system over time

## Follow-ups

Tag `@Traversal` in the same thread as an investigation report to ask follow-up questions or trigger additional analysis.

```text theme={null}
@Traversal what services were impacted?
```

```text theme={null}
@Traversal re-run this with the last 6 hours of data
```

## Cross-channel context

Traversal can pull context from any channel it has been added to. You can reference other channels to enrich an investigation or summarize activity across channels — both in channels and in DMs with Traversal.

```text theme={null}
@Traversal please summarize the alerts in #alerts-prod and #alerts-staging over the last 24 hours
```

```text theme={null}
@Traversal summarize the alerts over the last 24 hours in this channel
```

```text theme={null}
@Traversal check #incidents-payments for related issues
```

<Note>
  Traversal can only read channels it has been added to. Make sure Traversal is a member of any channel you want it to reference.
</Note>

## Permissions

Traversal follows the principle of least privilege and requests only the Slack scopes needed for the features described above.

| Scope                                                              | Why it's needed                                                                                                                  |
| :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| `commands`                                                         | Enable the Traversal slash commands                                                                                              |
| `chat:write`                                                       | Post updates, summaries, and investigation results                                                                               |
| `app_mentions:read`                                                | Respond when someone mentions `@Traversal`                                                                                       |
| `channels:read`, `groups:read`, `im:read`, `mpim:read`             | Read basic channel/DM metadata to anchor investigations                                                                          |
| `channels:history`, `groups:history`, `im:history`, `mpim:history` | When added to a channel or DM, read recent history to build context (errors, timelines) without asking humans to re-type details |
| `channels:join`                                                    | Automatically join configured incident channels so Traversal is available the moment one is created                              |
| `files:read`, `files:write`                                        | Ingest helpful artifacts (logs, traces) and upload images in investigation reports                                               |
| `links:read`, `links:write`                                        | Detect links in messages and unfurl them with relevant context                                                                   |
| `pins:read`, `pins:write`                                          | Pull context from pinned messages; pin significant milestones during incidents                                                   |
| `reactions:read`                                                   | Interpret emoji reactions on bot messages for feedback                                                                           |
| `reactions:write`                                                  | React to messages — for example, to signal alert verdicts in [Alert Intelligence](/using-traversal/alert-intelligence)           |
| `users:read`, `users:read.email`                                   | Map Slack users to your Traversal account for a consistent experience                                                            |
| `incoming-webhook`                                                 | Post asynchronous alerts when no active WebSocket is available                                                                   |

## Security and data handling

* **Data usage.** Slack data is used only to deliver the features described on this page. We do not use Slack data to train LLMs.
* **Transport and storage.** All traffic is encrypted in transit, tokens are stored securely, and Slack signature verification is enforced on every request.
* **Least privilege.** Traversal requests only the minimum scopes needed for the functionality described here.
* **Retention.** See the [privacy policy](https://www.traversal.com/legal/privacy-policy) for retention and deletion practices.

<Note>
  Traversal uses generative AI and may produce inaccurate or incomplete outputs. Validate recommendations before acting.
</Note>

## Support

Questions or issues? Email [support@traversal.com](mailto:support@traversal.com).

## FAQ

<AccordionGroup>
  <Accordion title="My message triggers aren't firing investigations">
    Run `/traversal show-channel-triggers` to confirm the trigger is enabled in the intended channel. Note that trigger conditions are case-sensitive — the message content must match your configured conditions exactly.
  </Accordion>

  <Accordion title="Who can set up triggers?">
    Only organization admins can register, view, or delete triggers. If you run `/traversal register-trigger`, `/traversal show-triggers`, or `/traversal show-channel-triggers` and see a message that the command is restricted, ask your admin to configure the trigger for you.
  </Accordion>
</AccordionGroup>
