Slack connection
Connect your organization's Slack workspace so signals + sync alerts post there. Each organization installs the app into its own workspace independently — this is a per-org OAuth flow.
Connect a Slack workspace
- In Settings → Slack, click Connect Slack.
- You're redirected to Slack's OAuth screen. Sign in to the target workspace if you aren't already. The dropdown at the top-right of Slack's auth page lets you switch workspaces.
- Pick the channel where signals should be posted. This becomes your default delivery channel. You can change it later by disconnecting + reconnecting.
- Click Allow. Slack redirects you back to the app — the card now shows your team name + selected channel with a green status.
Permissions we request
| Scope | Why we need it |
|---|---|
chat:write | Post signal messages to your default channel |
chat:write.public | Post to public channels we're not explicitly invited to |
channels:read | List channels so you can pick a default during install |
users:read | Resolve @mentions for the Slack-owners feature |
commands | Register /signal slash command (optional, for inline triage) |
We do not store message content. Outbound posts are logged (signal_id + channel + timestamp) so we can show "Sent" badges and dedupe re-sends.
Multi-channel sending
The connected channel is the default. When you click Send on a signal you get a channel picker to override per-message. Picking a non-public channel? Invite our bot to it first (/invite @SalesSignalEngine).
Disconnect
Click Disconnect in the card. We revoke the token + delete the OAuth row from our DB. The Slack app stays installed in your workspace until you remove it from Slack's app management page.
Troubleshooting
| Symptom | Fix |
|---|---|
| "redirect_uri did not match" | The backend's public URL changed (ngrok/host swap). Update OAuth & Permissions → Redirect URLs in the Slack app config to the new /api/slack/oauth/callback URL |
| Bot not in channel | Invite it: /invite @SalesSignalEngine in the target channel |
| 401 on send | Token revoked (workspace admin removed the app). Reconnect from Settings → Slack |
| Wrong workspace connected | Disconnect, then reconnect — Slack's auth screen has a workspace switcher in the top-right |
How it differs from Microsoft Teams
Slack uses OAuth — the user installs the app into the workspace. Teams uses an inbound Power Automate webhook URL that you paste in — no OAuth, no scopes to request. See Microsoft Teams connection docs.