Slack integration
The Slack integration installs an OAuth app into one Slack workspace. Each notification channel you create afterwards specifies a destination Slack channel.
Install
Section titled “Install”Only an account admin can install it.
-
Go to Manage → Integrations and click the Slack card. Optionally type a name (it defaults to the workspace name followed by “Slack”), then click Add to Slack.
-
On Slack’s consent screen, pick the workspace and approve.
-
Slack sends you back to Site Qwality, and the integration appears in your list.
Connecting a workspace that is already connected updates its integration instead of adding a second one, so its channels and notification groups keep working.
The link to Slack works once, for 10 minutes, and only for the admin who clicked Add to Slack. If it expired or was already used, or you canceled on Slack’s screen, click Add to Slack again.
The app asks for five scopes: chat:write to post, chat:write.public to post in public channels without joining them, commands for the /oncall command, and channels:read and groups:read to list the channels you can pick from. A workspace connected before October 22, 2026 has only the first two, and one connected before October 23, 2026 has no channel list. To add what is missing, click Add to Slack again and pick the same workspace.
The install runs only from the dashboard: API keys, API clients and AI assistants cannot install it. Org-wide Enterprise Grid installs are not supported, so install the app into a single workspace.
Add the bot to private channels
Section titled “Add the bot to private channels”The app can post to any public channel without joining it. For a private channel, add the Site Qwality app to the channel first (from the channel’s settings, or with /invite and the app’s name).
Add it to a notification group
Section titled “Add it to a notification group”Right after you add the integration, the dashboard offers to do this for you: choose a group or create one and the Slack channel to post to, then choose which monitors alert that group (the ones that already do, every monitor, or ones you pick). If you skipped it, Route alerts on the integration’s card opens the same step. To do it by hand:
-
Go to Respond → Notifications. Click a group’s name to open it, or click Add group to make a new one.
-
Under Notifications, click Add notification method. Set Notification type to Slack and choose this integration under Integration.
-
In Channel, pick the Slack channel from the list. It holds the workspace’s public channels and the private channels the app was added to, and stores the channel’s ID, which survives renames. To type one instead, such as
#opsorC0123456789, click Enter a channel ID; that is also what you get when the list cannot load. -
Click Done editing, then Save changes (Create group for a new group).
Through the API, find the integration’s id with GET /integration, then create the channel with POST /notification:
curl -X POST https://api.siteqwality.com/notification \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "notification_group_id": "<your-group-id>", "type": "slack", "details": { "integration_id": "<slack-integration-id>", "channel": "#ops" } }'Message format
Section titled “Message format”Monitor alerts post as a Slack message attachment with a colored bar:
- Monitor Down (red): the monitor name, its URL, the time and the failure reason.
- Monitor Up (green): the monitor name, its URL, when the outage started and resolved, and the total downtime.
Messages have no buttons and no link back to Site Qwality. A recovery is a new message, not an edit of the down message.
A send is tried once, and a refusal from Slack is recorded as rejected. Any other failure, a throttle included, runs the send again up to twice, so a duplicate post is possible. If those runs fail too, the alert is dropped with no record in alert history. See delivery guarantees.
Incidents
Section titled “Incidents”A service’s Slack broadcast target can send with this integration (pick it and a channel) or with a bot token you paste in, and a Slack DM contact method either sends through this integration (linked by running /oncall and opening the link) or takes a pasted bot token. Those messages link to the incident in Site Qwality and carry no buttons: acknowledge and resolve incidents in the dashboard. See Acknowledge from the alert itself.
Removing
Section titled “Removing”Go to Manage → Integrations, find the Slack integration under Existing integrations and delete it. Through the API, call DELETE /integration/{integration_id}:
curl -X DELETE https://api.siteqwality.com/integration/<slack-integration-id> \ -H "Authorization: Bearer $SITEQWALITY_API_KEY"This removes the integration and deletes every channel that used it, so add channels on a different integration first if you don’t want to lose alerting. Slack DM contact methods linked through it stay but stop sending: once the workspace is connected again, each owner removes theirs and runs /oncall for a new link. It does not revoke the token in Slack: to remove access, also remove the Site Qwality app from your workspace in Slack.
Removing the app in Slack, or revoking its token there, turns the integration off in Site Qwality right away, so alerts stop trying to post and the integration shows as off with the reason. Connect the workspace again to turn it back on. This works for a workspace connected on or after October 23, 2026; for an older one, click Add to Slack again once to get it.
Troubleshooting
Section titled “Troubleshooting”- Channel not found. The channel is private and the app isn’t in it, or the name is wrong. Add the app to the channel, or use the channel ID.
- Posts arrive but rate limited. Slack throttles bots at ~1 message/sec per channel. Spread alerts across channels if you’re firing many at once.