# Slack webhook tester

Canonical page: https://www.fwrdsms.com/tools/slack-webhook-tester

Paste a Slack incoming webhook URL on the page to check its format and send a sample message, and see Slack’s answer. 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

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

```bash
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

Fwrd is an iPhone app that forwards the texts you choose to a Slack channel through an incoming webhook, such as sign-in codes or alerts. Paste the webhook URL into Fwrd’s Slack destination. Setup guide: https://www.fwrdsms.com/guides/slack
