# Slack integration

Authorize Slack, choose a channel, and get new feedback posted there as it lands.

Source: https://docs.annot8.app/docs/integrations/slack



**Pro and above.** A workspace admin authorizes Slack once and picks a channel.
There's no Slack app to build and no webhook URL to paste.

## Connect [#connect]

<Steps>
  <Step>
    ### Start from Integrations [#start-from-integrations]

    **Integrations** in the sidebar → **Slack** → **Continue with Slack**.
  </Step>

  <Step>
    ### Authorize Annot8 in Slack [#authorize-annot8-in-slack]

    Slack asks you to approve access for Annot8 in your Slack workspace, then sends
    you straight back to the dashboard.
  </Step>

  <Step>
    ### Choose a channel [#choose-a-channel]

    Annot8 lists the public channels in that Slack workspace. Pick one and
    **Save**.
  </Step>

  <Step>
    ### Test it [#test-it]

    Annot8 runs a test as soon as you save, and the integration row shows
    **Working** or the error Slack returned. Use **Test** at any time to check
    again.
  </Step>
</Steps>

Once saved, the connection applies to **every project** in the workspace. To
keep a project quiet, switch Slack off under **Project → Integrations**.

<Callout type="info">
  Connected Slack with an incoming webhook before guided setup arrived? The
  integration row shows **Reconnect needed**. Choose **Reconnect** and authorize
  Slack. The existing connection is updated in place, so there's no need to
  disconnect first.
</Callout>

## What gets posted [#what-gets-posted]

Every new thread on a project where Slack is on posts a message carrying the
project name, the author, the comment, and a link to the page.

[Automations](/docs/feedback/automations) can also post to Slack, but only for
threads matching their conditions. Those messages name the rule that fired, so
you can tell "everything" from "the critical-bug rule".

## Different channels per project [#different-channels-per-project]

Connect Slack once, then under **Project → Integrations** choose **Route…** next
to Slack, pick a different channel, and **Save route**. **Use workspace
default** removes the route again. One authorization, per-project routing.

## Permissions [#permissions]

The authorization belongs to the admin who connected it. If they leave the
workspace or Annot8 is removed from Slack, the row shows **Reconnect needed**,
and another admin can **Reconnect** with their own account. To switch accounts
at any time, open **Configure** and choose **Use a different Slack account**.

## Troubleshooting [#troubleshooting]

**The channel isn't listed.** Only public, unarchived channels appear. Pick a
public channel, or make the channel public in Slack.

**Nothing arrives.** Check the integration row's status. A channel that was
archived or deleted stops accepting posts. Choose **Configure** and pick
another channel.

**Messages arrive twice.** An automation that posts to Slack fires on top of the
regular new-feedback message. Automation messages name the rule that fired. If
you only want those, switch Slack off for the project.

## Practical advice [#practical-advice]

Give it a dedicated channel, such as `#feedback`, rather than a busy team
channel. On a project with real volume, a shared channel is unreadable within a
day. If the volume is still too high, switch Slack off for the project and
drive it from an [automation](/docs/feedback/automations) that only posts high
and critical threads.
