Skip to main content

Quickstart

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

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