--- title: "Slack" description: "Send platform events to a Slack channel, formatted to be read rather than parsed." --- The Slack integration is a webhook with a different destination and a different shape. Instead of POSTing JSON to your own endpoint, Miget posts a formatted message to a channel you choose - so a failed deployment reads as a failed deployment rather than as a payload somebody still has to render. Everything on the [Webhooks](/monitoring/webhooks) page applies here too: the same events, the same app scoping, the same retries and the same automatic disabling. ## Connecting a channel Go to **Workspace → Settings → Integrations** and choose **Connect Slack**. Slack asks which channel to post to and hands Miget a webhook bound to that one channel - so the channel is picked on Slack's screen, not ours, and Miget never gains access to anything else in your Slack workspace. Miget requests a single Slack scope, `incoming-webhook`, which allows posting to the chosen channel and nothing more. It cannot read messages, list channels, or see who is in them. Connect as many channels as you like; each one is configured separately. ## What a new channel receives A newly connected channel starts with five events, chosen because each one usually wants somebody's attention: - `deploy_ended` - `app_unhealthy` - `app_crash_loop` - `app_stopped` - `app_blocked` `deploy_started` is deliberately absent - in a shared channel it doubles the traffic without adding much - and so are the six remaining events. Use **Edit events and apps** on the channel to subscribe to any of the [eleven events](/monitoring/webhooks#events), including certificate expiry, domain verification, scaling limits and ingestion alerts, and to narrow the channel to specific apps. ## Messages Each message names the app and what happened, with the state that matters alongside it: the failing check for an unhealthy app, the restart count for a crash loop, the percentage for an ingestion alert. A deployment message carries **Open app**, which goes to the running application, and **Open in Miget**, which goes to its dashboard page. Anything broken also carries **View logs**. Nothing in the message acts on your platform - the buttons are links. Approving, restarting, or rolling back from inside Slack is not something the integration can do. ## Testing and disconnecting **Send test** posts a real message to the channel immediately and reports the result, so it exercises the whole path including Slack's own response. **Disconnect** stops posting to that channel and removes the destination. Removing the Miget app from your Slack workspace has the same effect from the other side; deliveries then fail and the channel is disabled automatically after three of them. ## Next Steps Events, payloads, scoping, retries, and signature verification. Search and stream logs from every app and service.