Slack integration
The Slack integration installs an OAuth app into your workspace once. Each notification channel you create afterwards specifies a destination Slack channel.
Install
Section titled “Install”-
Settings → Integrations → Slack → Add to Slack.
-
You’re redirected to Slack’s OAuth consent screen. Approve.
-
Slack redirects back to SiteQwality with a code. The dashboard exchanges it for a workspace token and stores it as an integration.
-
The Slack integration now appears in your list with a generated
friendly_namelikeAcme Slack. You can rename it.
If you’d rather drive this from the API:
# 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" }'Add the bot to private channels
Section titled “Add the bot to private channels”By default, the bot only posts to public channels. For private channels, invite it manually:
/invite @SiteQwality…in the target channel.
Create a Slack notification channel
Section titled “Create a Slack notification channel”Once the integration is in, create a channel that targets a specific Slack channel:
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.
Message format
Section titled “Message format”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: acknowledgedand 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).
Removing
Section titled “Removing”Delete the integration to revoke the workspace token:
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.
Troubleshooting
Section titled “Troubleshooting”- Channel not found. The bot isn’t in the channel. Run
/invite @SiteQwalityin 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.