Skip to content

Slack integration

The Slack integration installs an OAuth app into your workspace once. Each notification channel you create afterwards specifies a destination Slack channel.

  1. Settings → Integrations → Slack → Add to Slack.

  2. You’re redirected to Slack’s OAuth consent screen. Approve.

  3. Slack redirects back to SiteQwality with a code. The dashboard exchanges it for a workspace token and stores it as an integration.

  4. The Slack integration now appears in your list with a generated friendly_name like Acme Slack. You can rename it.

If you’d rather drive this from the API:

Terminal window
# After completing OAuth manually and capturing the code:
curl -X POST https://api.siteqwality.com/integration/slack \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"friendly_name": "Acme Slack",
"code": "<slack-oauth-code>",
"redirect_uri": "https://app.siteqwality.com/oauth/slack/callback"
}'

By default, the bot only posts to public channels. For private channels, invite it manually:

/invite @SiteQwality

…in the target channel.

Once the integration is in, create a channel that targets a specific Slack channel:

Terminal window
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"
}
}'

channel accepts #name or a Slack channel ID (C0123456789). Channel IDs are robust to renames.

Alerts post as Slack blocks with:

  • A status-colored sidebar (red for failure, green for recovery).
  • Monitor name + URL.
  • Recent results (last 3 ticks).
  • An Acknowledge interactive button that, when clicked, sets the incident to responder_status: acknowledged and stops escalation.

The interactive button uses Slack’s interactivity feature. Set up the Request URL in your Slack app settings to point at SiteQwality’s interactivity endpoint if needed (only relevant for self-hosted custom Slack apps; the standard install handles this).

Delete the integration to revoke the workspace token:

Terminal window
curl -X DELETE https://api.siteqwality.com/integration/$INTEGRATION_ID \
-H "Authorization: Bearer $SITEQWALITY_API_KEY"

This invalidates every channel that used the integration. Make sure to recreate channels with a different integration first if you don’t want to lose alerting.

  • Channel not found. The bot isn’t in the channel. Run /invite @SiteQwality in the target channel.
  • “Ack button does nothing.” Slack interactivity requires HTTPS; the bot is correctly configured by default. If you’ve forked the install for a custom workspace, check the Request URL in your Slack app settings.
  • 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.