Skip to main content

Quickstart

This guide walks you through receiving your first webhook and delivering it to Discord.

Prefer to watch first? The 90-second demo above covers the same flow end-to-end. More walkthroughs on our YouTube channel.

1. Create an Organization

After signing up and logging in, create an organization from the dashboard. Organizations are the top-level container for projects, members, and billing.

2. Create a Project

Within your organization, create a new project. The project is where you'll manage your webhook endpoints, destinations, and templates.

3. Create a Webhook Endpoint (Source)

Navigate to Sources and create a new endpoint. Dispatch will generate:

  • A unique slug — your webhook URL will be https://your-api.com/hooks/:slug
  • A signing secret — used to verify incoming requests

Copy the signing secret and configure it in your external service.

4. Create a Destination

Navigate to Destinations and create a Discord destination:

  • Manual: Paste a Discord webhook URL directly
  • OAuth: Connect your Discord account and select a channel

In the Sources page, link your endpoint to your destination. You can optionally assign a message template.

6. Send a Test Event

Use the Test button on your endpoint to send a test event, or POST to your endpoint:

# Using signing secret
SIGNATURE=$(echo -n '{"test": true}' | openssl dgst -sha256 -hmac "your-signing-secret" | cut -d' ' -f2)

curl -X POST https://your-api.com/hooks/your-slug \
-H "Content-Type: application/json" \
-H "X-Dispatch-Signature: sha256=$SIGNATURE" \
-d '{"test": true}'
# Using API key
curl -X POST https://your-api.com/hooks/your-slug \
-H "Content-Type: application/json" \
-H "Authorization: Bearer dsp_your-api-key" \
-d '{"test": true}'

7. Verify Delivery

Check the Events page to see your event and its delivery status. The event should show as received with a successful delivery attempt to your Discord channel.

Next Steps