Requex.me LogoRequex.me

Documentation

Browse by section

Keep all guides, tool docs, automation recipes, and comparison pages in one navigable place.

Docs Home
Docs

Foundation docs for getting started fast, understanding key terms, and tracking what has changed.

Guides

Start with fundamentals, then move into provider-specific webhook testing and production hardening.

Tool Docs

These pages explain what each tool does, when to use it, and how it fits into a webhook debugging workflow.

Automation Docs

Use these setup guides when you want forwarding rules, custom responses, security checks, or multi-destination fanout.

Compare

Use these pages to compare developer workflows, pricing tradeoffs, and feature differences between webhook tools.

How to Test Discord Webhooks: Complete Guide

How to create Discord channel webhooks, send text and embed messages, test bot integrations, and debug the most common delivery errors.

Editorially reviewed by the Requex team11 min readAbout the product

What are Discord Webhooks?

Discord webhooks allow external applications to send messages directly into Discord channels without requiring a bot user. They're one of the simplest ways to integrate external services with Discord: perfect for build notifications, monitoring alerts, social media feeds, and automated announcements.

Unlike Slack or GitHub webhooks where an external service sends events TO your server, Discord webhooks work the other way: you send messages TO Discord. You POST a JSON payload to a Discord-provided URL, and the message appears in the configured channel with a custom username and avatar.

Discord webhooks support plain text, rich embeds (with colors, fields, images, and footers), file uploads, and even thread messages. This guide covers how to create, test, and debug all of these features.

Creating a Discord Webhook

  1. Open Discord and navigate to the server and channel where you want webhook messages.
  2. Click the gear icon next to the channel name → IntegrationsWebhooks.
  3. Click New Webhook. Give it a name and optionally set a custom avatar.
  4. Click Copy Webhook URL. The URL looks like:
    https://discord.com/api/webhooks/1234567890/abcdefghijk...

⚠️ Keep this URL secret! Anyone with the webhook URL can send messages to your channel. Never commit it to version control or share it publicly.

Testing Discord Webhooks with cURL

Simple Text Message

curl -X POST "https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello from my webhook test! 🚀"}'

Rich Embed Message

curl -X POST "https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "Deploy Bot",
    "avatar_url": "https://i.imgur.com/xxx.png",
    "embeds": [{
      "title": "🚀 New Deployment",
      "description": "Branch **main** deployed to production",
      "color": 3066993,
      "fields": [
        {"name": "Commit", "value": "abc1234", "inline": true},
        {"name": "Author", "value": "@developer", "inline": true},
        {"name": "Status", "value": "✅ Success", "inline": true},
      "timestamp": "2026-02-28T12:00:00.000Z",
      "footer": {"text": "Powered by Requex.me"}
    })
  }'

Custom Username and Avatar

You can override the webhook's default name and avatar per-message by including username and avatar_url fields. This is great for creating distinct notification types (e.g., "Build Bot", "Alert System", "Changelog").

Testing Outgoing Discord Events with Requex.me

While Discord channel webhooks are for sending TO Discord, Discord also sends outgoing events when you configure Interactions or Event Subscriptions for your bot. In these cases, Discord sends HTTP POST requests to YOUR endpoint.

Use Requex.me to capture these outgoing events and inspect their payloads. This is essential for debugging slash commands, button interactions, and modal submissions. For Discord-specific payload testing and message formatting, see the dedicated Discord webhook tester tool.

  1. Visit requex.me and copy your unique URL.
  2. Go to the Discord Developer Portal → Your Application → General Information.
  3. Set the "Interactions Endpoint URL" to your Requex URL.
  4. Trigger interactions in your server to see the payloads.

Discord Webhook Rate Limits

Discord enforces strict rate limits on webhook requests. Stay within these limits or your messages will be silently dropped:

  • Per webhook: 30 requests per 60 seconds per channel webhook
  • Per channel: 10 unique webhooks can post to the same channel
  • Global: 50 requests per second across all webhooks
  • Retry-After: Discord returns a Retry-After header when rate limited. Always respect this value.

Common Discord Webhook Troubleshooting

Message not appearing

Check that the channel still exists and the webhook hasn't been deleted. Discord returns a 404 for deleted webhooks and a 10015: Unknown Webhook error code.

Embed not rendering

Ensure the embeds field is an array, not an object. Each embed must have at least one visible field (title, description, or fields). The color must be a decimal integer, not a hex string.

Rate limited (429 error)

Implement exponential backoff and respect the Retry-After header in Discord's response. Queue messages and send them with delays if you're posting at high volume.

Start Testing Webhooks Now

Generate your unique URL and test webhooks instantly. Free, no signup.

Open Webhook Tester →