WebhookWatch Guides
Slack Webhook Testen
Validate Slack slash commands, outgoing webhooks, and bot notifications in real time with WebhookWatch's dedicated debugging endpoints.
Real-time webhook debugging voor Nederlandse developers
Setup Guide
Point your Slack integration to a unique WebhookWatch endpoint and start capturing payloads instantly. No signup required — your endpoint is ready the moment you land on this page.
1. Generate Your Endpoint
Click "Create New Webhook" in the WebhookWatch dashboard. You'll receive a URL like https://webhookwatch.io/hooks/a1b2c3d4 that forwards every incoming request in real time.
2. Configure Slack
In your Slack App settings under Basic Information → App Credentials, paste the WebhookWatch URL into the Request URL field for slash commands, or add it to your Outgoing Webhooks target list.
3. Trigger & Inspect
Type /deploy staging in any Slack channel. Within 200ms, WebhookWatch displays the full POST payload, headers, and raw body — including the token, team_id, user_id, and command fields.
POST https://webhookwatch.io/hooks/a1b2c3d4 Content-Type: application/x-www-form-urlencoded token=JhR8sKl3pQmN7vBxWz2YdFgE&channel_id=C04KJ9M2N7P&channel_name=deployments&user_id=U02BEKX4T&command=/deploy&text=staging&response_url=https%3A%2F%2Fhooks.slack.com%2Fcommands%2FT04ABCD%2F12345%2Fxyz&trigger_id=12345.67890.abcdef
Payload Structure
Slack sends slash command and outgoing webhook payloads as application/x-www-form-urlencoded POST data. WebhookWatch parses and displays every field so you can verify your integration handles them correctly.
Authentication Fields
token — Your verification token from the Slack App settings. Always validate this first. team_id — The workspace identifier, e.g. T04ABCD12. user_id — The user who triggered the command, e.g. U02BEKX4T.
Command Fields
command — The slash command invoked, e.g. /deploy. text — Arguments passed after the command, e.g. staging --force. channel_id and channel_name — Where the command was typed, e.g. C04KJ9M2N7P / deployments.
Response Fields
response_url — Use this to post messages back to the originating channel. trigger_id — Required if you want to open a Slack modal or send an ephemeral message via the API.
{
"token": "JhR8sKl3pQmN7vBxWz2YdFgE",
"team_id": "T04ABCD12",
"enterprise_id": null,
"channel_id": "C04KJ9M2N7P",
"channel_name": "deployments",
"user_id": "U02BEKX4T",
"user_name": "lotte.van.der.meer",
"command": "/deploy",
"text": "staging --force",
"response_url": "https://hooks.slack.com/commands/T04ABCD/12345/xyz",
"trigger_id": "12345.67890.abcdef",
"api_app_id": "A08XYZQ9R"
}
Response Format
Slack expects your endpoint to respond within 3 seconds. WebhookWatch lets you test different response strategies — from inline messages to ephemeral replies and full modals.
Inline Response (200 OK)
Return text/plain or application/json directly in the HTTP response. Slack posts it as a channel message. Best for quick confirmations like "Deployment to staging started."
Response URL (Async)
Return 200 OK with an empty body, then POST to the response_url within 30 seconds. Use response_type: "ephemeral" to send a message only to the triggering user, or "in_channel" to broadcast.
Modal Response
Call the Slack API endpoint https://slack.com/api/views.open with the trigger_id and a view JSON payload. WebhookWatch logs the full API response so you can debug view validation errors.
// Example: Ephemeral response via response_url
POST https://hooks.slack.com/commands/T04ABCD/12345/xyz
Content-Type: application/json
{
"response_type": "ephemeral",
"text": "✅ Deployment to staging initiated by lotte.van.der.meer.\nBuild #4821 is running on runner eu-west-1-prod-03."
}
// Example: In-channel broadcast
{
"response_type": "in_channel",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "🚀 *Deploy to staging* — Build #4821\n"
}
}
]
}