Skip to main content
Documentation - Discord Docs

Search documentation

Type to search this documentation.

On this pageOverview

Webhooks

Discord supports two distinct types of webhooks that work in opposite directions: incoming webhooks for posting messages into Discord, and webhook events for receiving notifications from Discord when something happens in your app.

Incoming webhooks are HTTP endpoints tied to a specific Discord channel. You POST a payload to the URL and the message appears in that channel. No bot or persistent connection required. See the Webhook Resource for the full API reference.

This makes them ideal for one-way integrations where an external system needs to push data into Discord:

  • CI/CD pipelines posting build results or deployment notifications
  • Monitoring systems alerting on errors or anomalies
  • External apps posting updates (GitHub commits, Jira tickets, form submissions)
  • Scheduled digests or reports from cron jobs

If you need your app to also listen to events or respond to users, building a Discord bot is the better fit.

Webhook events work in the opposite direction. Discord POSTs to a public URL on your server when specific events occur in your app. Instead of your app polling the API, Discord pushes the notification to you.

You subscribe to the specific event types you care about through the Developer Portal, and Discord delivers them as signed HTTP POST requests to your endpoint. Your endpoint must validate Discord's request signatures and acknowledge events promptly.

Events you can subscribe to include:

  • Application authorized or de-authorized by a user
  • Entitlement created (a user purchased something from your app)
  • Quest enrollment and completion events

For the full list of subscribable events and setup instructions, see the Webhook Events documentation.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu