Slack & Discord one-click connect (admin setup)
Configure the Slack and Discord OAuth apps so workspaces get an "Add to Slack / Discord" button instead of pasting a webhook URL.
Two ways to connect Slack / Discord
There are two paths, and you only need the second if you want the polished button flow:
- Incoming Webhook (no admin setup). Any user can paste a Slack/Discord Incoming Webhook URL when creating a notification channel. This works out of the box — see Slack alerts in 5 minutes.
- One-click OAuth ("Add to Slack" / "Add to Discord"). Nicer UX, but it requires a platform operator to register one OAuth app per provider and paste its credentials into HowlOps once. That's what this page covers.
Slack OAuth app
- Go to api.slack.com/apps → Create New App → From scratch.
- Under OAuth & Permissions:
- Add the Redirect URL that HowlOps shows in
Admin → Settings → Notifications → Slack (it looks like
https://api.howlops.com/api/v1/slack/oauth/callback). - Add bot scopes
incoming-webhookandchat:write.
- Add the Redirect URL that HowlOps shows in
Admin → Settings → Notifications → Slack (it looks like
- From Basic Information, copy the Client ID and Client Secret.
- In HowlOps Admin → Settings → Notifications → Slack, paste the Client ID and Client Secret, toggle the provider on, and save.
Users will now see Add to Slack when creating a Slack channel.
Discord OAuth app
- Go to the Discord Developer Portal → New Application.
- Under OAuth2:
- Add the Redirect URL shown in Admin → Settings → Notifications → Discord.
- Use the
webhook.incomingscope so HowlOps receives a channel webhook on authorization.
- Copy the Client ID and Client Secret from the OAuth2 page.
- In HowlOps Admin → Settings → Notifications → Discord, paste both, toggle the provider on, and save.
Where the secrets live
- Client IDs and secrets are stored as admin settings (
slack_client_id,slack_client_secret,discord_client_id,discord_client_secret) and are never exposed to tenants. - Environment variables take precedence over the admin-UI values when set, so production can keep secrets out of the database if you prefer.
- Toggling a provider off (or leaving it unconfigured) hides its card and falls back to the manual Incoming Webhook flow — nothing breaks.
Verify
Create a Slack or Discord channel as a normal user: you should get the Add to … button instead of a webhook field. Complete the OAuth consent, then send a test alert from the channel's menu.
Was this page helpful?