Slack Integration
Set up HookWatch to receive Slack webhooks for workspace events like messages, reactions, channel updates, and app interactions.
Prerequisites
- A HookWatch account
- A Slack app with Event Subscriptions enabled
- A server endpoint to process webhook payloads
Step 1: Create a HookWatch endpoint
- Go to your Endpoints page
- Click "Create Endpoint"
- Enter a name like "Slack Webhooks"
- Enter your destination URL (where you want webhooks forwarded)
- Copy the generated webhook URL
Your HookWatch URL will look like:
https://hook.hookwatch.dev/wh/abc123xyzStep 2: Configure Slack Event Subscriptions
- Go to Slack API > Your Apps
- Select your app (or create a new one)
- Click "Event Subscriptions" in the sidebar
- Toggle "Enable Events" to On
- Paste your HookWatch URL in the "Request URL" field
- Under "Subscribe to bot events", add the events you want
- Click "Save Changes"
Common events to subscribe to:
message.channelsmessage.groupsmessage.imreaction_addedapp_mentionmember_joined_channelchannel_createdfile_sharedStep 3: Verify webhooks on your server
Slack signs webhook payloads using HMAC-SHA256. HookWatch forwards the X-Slack-Signature and X-Slack-Request-Timestamp headers so you
can verify authenticity.
You'll find your signing secret in your app's Basic Information > App Credentials section.
Slack webhook headers
HookWatch forwards all Slack headers. Here are the important ones:
| Header | Description |
|---|---|
X-Slack-Signature | HMAC-SHA256 signature for verification |
X-Slack-Request-Timestamp | Unix timestamp of the request |
Content-Type | Always application/json for Event Subscriptions |
URL Verification
When you first set the Request URL, Slack sends a url_verification challenge. Your server must respond with the challenge value. Make sure your forwarding
destination handles this before configuring the URL in Slack.
Testing the integration
- Send a message in a channel your bot is in
- Mention your app with
@YourApp - Add a reaction to a message
- Check your HookWatch Events page to see the events
Common issues
URL verification fails
Make sure your destination server responds to the url_verification challenge within 3 seconds. Slack requires an immediate response with the challenge token.
Not receiving events
Check that your bot has been invited to the channels you want to monitor. Bot events only fire for channels where the bot is a member.
Duplicate events
Slack may retry events if it doesn't receive a 200 response within 3 seconds. Use the event_id field to deduplicate on your server.