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

# Slack Integration

> Connecting Slack lets Charlie turn threads into actionable Linear tickets, surface git & Sentry context, and ship fixes—all without leaving the thread.

## What Charlie can do

With Slack connected, Charlie becomes a teammate in every channel:

* **Capture a bug or task as a Linear ticket.** Mention **@Charlie** (e.g., `@Charlie, create a Linear issue with this bug`) and he creates the ticket with the full conversation.
* **Pull rich context to understand the problem.** Ask `@Charlie, did we change anything before _X_ that caused this?` or drop a Sentry link—Charlie surfaces relevant commits, stack traces, and root-cause details.
* **Brainstorm and propose a fix plan.** `@Charlie, how should we fix this?` delivers approaches, edge cases, and sample code blocks.
* **Open a PR straight from chat.** `@Charlie, open a PR to fix this` spins up a branch, commits the patch, and posts the GitHub PR back into the thread.
* **Summarize the discussion.** `@Charlie, summary please` condenses the thread into a crisp recap with action items and owners.

## Daemons and Slack events

Connected Slack workspaces can also wake daemon `watch` conditions. Use this when useful work starts in Slack and should be handled as a repeatable operating role.

Supported routed Slack event families include:

* mentions and thread replies
* broader channel messages
* DMs

Slack event wakes require the Slack integration to be connected and the Slack workspace mapping to route Slack activity to the intended repo. Channel constraints are not integration mappings; broad Slack message wakes should be narrowed to intentional channels in daemon `watch` wording or body policy.

Good daemon patterns for Slack include:

* triaging bug reports or support requests that appear in a shared channel
* summarizing a noisy thread into next actions or a Linear issue
* producing recurring support summaries or channel reports
* keeping Slack-to-issue handoffs clean by filing, linking, and following up on the right issue

Use provider-visible `watch` wording, for example:

```yaml theme={null}
watch:
  - A Slack message in the named support channel reports a bug for this repo.
  - A Slack thread reply is added in the named incident channel.
  - A Slack message mentions Charlie in the named support channel.
  - A Slack DM asks Charlie to summarize or file a repo-related issue.
```

## Quick Setup

Follow these steps to connect your Slack workspace with Charlie:

<Steps>
  <Step title="Navigate to Integrations">
    Go to [dash.charlielabs.ai](https://dash.charlielabs.ai/) and sign in. Select your organization, then open **Integrations**.

    <img src="https://mintcdn.com/charlie-7b05a877/2r0ElgcKfSZdeFDW/images/slack/dashboard.png?fit=max&auto=format&n=2r0ElgcKfSZdeFDW&q=85&s=7b2ec59b54b603aad38e6e83aa299309" alt="slack-dashboard" width="2102" height="1468" data-path="images/slack/dashboard.png" />
  </Step>

  <Step title="Connect Slack Workspace">
    Click **Connect Slack** to start the integration process.
  </Step>

  <Step title="Complete OAuth Connection">
    Follow the Slack OAuth flow to authorize Charlie for your workspace.
  </Step>

  <Step title="Return to Dashboard">
    After authorizing, you'll be redirected back to the Charlie dashboard.
  </Step>

  <Step title="Set Repository Integration Default">
    Open the relevant repository, select **Integration defaults**, then choose the Slack workspace to use for that repository by default.

    <img src="https://mintcdn.com/charlie-7b05a877/2r0ElgcKfSZdeFDW/images/slack/connect-slack-team.gif?s=54ce4bb323368dcdf4ba77946e34fe41" alt="connect-slack-team" width="1306" height="865" data-path="images/slack/connect-slack-team.gif" />
  </Step>
</Steps>
