Runbook: Slack webhook down
Symptom: Incidents are created in the Regen UI and timeline entries appear, but no Slack channels are created and no messages are posted.Diagnose
1. Check the app logs for Slack errors:slack: channel creation failed: invalid_auth— bot token is wrong or revokedslack: channel creation failed: missing_scope— bot is missingchannels:managescopeslack: post message failed: not_in_channel— bot was removed from the channelslack: post message failed: channel_not_found— channel was archived or deleted
"ok": true. If "ok": false, the token is invalid or revoked.
3. Check signing secret:
If the Slack Events API is delivering events but actions (ack, resolve commands) don’t work, the signing secret may be wrong. Check for invalid_signature errors in logs.
Mitigate
If token is invalid/revoked:- Go to your Slack app at api.slack.com/apps
- OAuth & Permissions → Bot tokens — reinstall the app to your workspace to regenerate the token
- Update
SLACK_BOT_TOKENin your.envor Kubernetes secret - Restart the app:
- Go to your Slack app → OAuth & Permissions → Scopes
- Ensure these bot token scopes are present:
channels:manage,chat:write,chat:write.public,commands,users:read,users:read.email - Reinstall the app to your workspace after adding scopes
Resolve
Once the token/scopes are fixed and the app is restarted:- Verify with
auth.testagain - Create a test incident from the UI
- Confirm the Slack channel appears within 10 seconds
Prevention
- Configure an uptime monitor on
GET /ready— it checks Slack connectivity is not verified there, but app restarts will surface token errors in logs - Rotate bot tokens via Slack’s app management, not by deleting and recreating the app
- Store
SLACK_BOT_TOKENandSLACK_SIGNING_SECRETin a secret manager, not in a.envfile committed to source control
