← Back to Fwrd

Slack webhook tester

Paste an incoming webhook URL to check that it’s the right kind, send one sample message, and see what Slack answers.

It runs in your browser. Your webhook URL goes straight to Slack (hooks.slack.com) and nowhere else: this site never sees it, and nothing is saved. Treat the URL like a password: anyone who has it can post to your channel. If it leaks, remove the webhook in the app’s settings and add a new one.

How to check a webhook

  1. Make a webhook: at api.slack.com/apps, create an app (From scratch) in your workspace, open Incoming Webhooks, and turn it on.
  2. Choose Add New Webhook to Workspace, pick the channel it posts to, and choose Allow.
  3. Copy the Webhook URL. It starts with https://hooks.slack.com/services/.
  4. Paste it here and press Send a message. Slack posts one message in that channel, and this page shows Slack’s answer.

If the check fails

The link starts with hooks.slack.com/triggers/
That’s a Workflow Builder link, which takes a different kind of request. Make an incoming webhook in a Slack app instead.
Slack says invalid_token or no_service
The webhook was removed, or the app’s Incoming Webhooks were turned off. Turn them on and add a new webhook.
Slack says channel_not_found or channel_is_archived
The channel was deleted or archived. Add a new webhook for a channel that’s open.
Slack says action_prohibited
Your workspace blocks the app. A Slack admin has to allow or approve it.
The message went to the wrong channel
Each webhook posts to one channel. Add a new webhook and pick the channel you want.

Example message

A webhook takes JSON. This is a message as your own code would send it:

{
  "text": "Your sign-in code is 482913"
}

The same message from a terminal, with your webhook’s URL:

curl -X POST -H "Content-Type: application/json" \
  -d '{"text": "Hello from my webhook"}' \
  "https://hooks.slack.com/services/<T…>/<B…>/<code>"
  • text is the message. Slack reads &, < and > as markup, so write them as &amp;, &lt; and &gt;.
  • Slack answers 200 with the word ok, or an error word such as invalid_token or channel_not_found.
  • From your own server or a terminal, JSON works. From a web page, send it as a form field named payload.

Sending your iPhone’s texts to this channel

I built this for Fwrd, my iPhone app that forwards the texts you choose to a Slack channel, such as sign-in codes or alerts. Paste this webhook URL into Fwrd’s Slack destination, and texts arrive in the channel on their own. The Slack setup guide walks through the rest, and forwarding iPhone SMS to Slack shows what it’s for.

Fwrd on the App Store: free for 15 forwards a month.