SaaS webhooks / Collaboration

Discord webhook events.

25 events emitted by Discord in the team-ops webhook catalog. Each event below carries the canonical event name, payload schema (field names and types only), auth method, signature header, retry policy, and a link back to Discord's docs.

Auth mix: 22 none, 3 hmac-sha256 · Source extraction: 2026-05-13

All 25 events

Direct anchors. Each event header links to its own URL.

CHANNEL_CREATE

Dispatched when a new channel is created, including DMs opened with the bot.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Channel snowflake ID.
type integer required
Channel type integer.
guild_id string | null
Guild ID for guild channels.
name string | null
Channel name.
topic string | null
Channel topic text.
nsfw boolean | null
Whether the channel is NSFW.
position integer | null
Sort position of the channel.
parent_id string | null
Parent category ID.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

CHANNEL_DELETE

Dispatched when a channel is deleted.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Channel snowflake ID.
type integer
Channel type integer.
guild_id string | null
Guild ID for guild channels.
name string | null
Channel name.
topic string | null
Channel topic text.
nsfw boolean | null
Whether the channel is NSFW.
position integer | null
Sort position of the channel.
parent_id string | null
Parent category ID.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

CHANNEL_UPDATE

Dispatched when a channel's properties are updated.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Channel snowflake ID.
type integer
Channel type integer.
guild_id string | null
Guild ID for guild channels.
name string | null
Channel name.
topic string | null
Channel topic text.
nsfw boolean | null
Whether the channel is NSFW.
position integer | null
Sort position of the channel.
parent_id string | null
Parent category ID.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_BAN_ADD

Dispatched when a user is banned from a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
user object required
The banned user.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_BAN_REMOVE

Dispatched when a user's ban is lifted from a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
user object required
The unbanned user.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_CREATE

Dispatched when a guild becomes available or the bot joins a new guild. Includes full guild state.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Guild snowflake ID.
name string required
Guild name.
icon string | null
Icon hash.
owner_id string
ID of the guild owner.
member_count integer
Total number of guild members.
channels array
Channels belonging to this guild.
members array
Members visible to the bot.
roles array
Roles in the guild.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_DELETE

Dispatched when the bot is removed from a guild or the guild becomes unavailable due to an outage.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Guild snowflake ID.
unavailable boolean | null
True if the guild is unavailable rather than deleted.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_MEMBER_ADD

Dispatched when a new user joins a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
user object | null
The underlying user object.
nick string | null
Member's nickname in the guild.
roles array
Array of role IDs the member has.
joined_at string
When the member joined the guild.
premium_since string | null
When the member started boosting.
deaf boolean
Whether the member is deafened in voice.
mute boolean
Whether the member is muted in voice.
guild_id string required
ID of the guild the member joined.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_MEMBER_REMOVE

Dispatched when a member leaves a guild, is kicked, or is banned.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
user object required
The user who was removed.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_MEMBER_UPDATE

Dispatched when a guild member's roles, nickname, or other properties are updated.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
roles array
Updated list of role IDs.
user object required
The updated user object.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
nick string | null
New nickname.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_ROLE_CREATE

Dispatched when a new role is created in a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
role object required
The newly created role.
id string
Role ID.
name string
Role name.
color integer
Role color as integer.
hoist boolean
Whether the role is hoisted separately.
permissions string
Permissions bitfield string.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_ROLE_DELETE

Dispatched when a role is deleted from a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
role_id string required
ID of the deleted role.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_ROLE_UPDATE

Dispatched when a role's properties are modified.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.85)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string required
Guild ID.
role object required
The updated role object.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

GUILD_UPDATE

Dispatched when a guild's properties are changed, such as name, icon, or owner.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Guild snowflake ID.
name string
Updated guild name.
icon string | null
Updated icon hash.
owner_id string
Current owner ID.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

INTERACTION_APPLICATION_COMMAND

Sent to the application's registered interactions endpoint when a user invokes a slash command or context menu item.

namespace: interactions / delivery: webhook / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha256
Signature header
X-Signature-Ed25519
Signature detail
Ed25519 signature over the request timestamp concatenated with the raw body. Verified using the application's public key from the developer portal.

Delivery

Backoff
Discord expects a timely response (within 3 seconds); no documented retry policy for interactions.

Payload schema (field names + types only)

id string required
Interaction snowflake ID.
application_id string required
The application's ID.
type integer required
Interaction type (2 = APPLICATION_COMMAND).
data object required
Command-specific data.
id string required
Command ID.
name string required
Command name.
type integer
Command type.
options array | null
Array of resolved option values.
guild_id string | null
Guild ID if invoked in a guild.
channel_id string | null
Channel ID.
member object | null
Guild member who invoked the command.
user object | null
User who invoked the command (in DM contexts).
token string required
Continuation token valid for 15 minutes.
version integer
Interaction version; currently 1.
Notes: Interaction webhooks require the application's interactions endpoint URL to be set in the developer portal. Verify signatures using Ed25519 with the application public key.

Vendor docs

INTERACTION_MESSAGE_COMPONENT

Sent to the interactions endpoint when a user clicks a button or selects an option from a component in a message.

namespace: interactions / delivery: webhook / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha256
Signature header
X-Signature-Ed25519
Signature detail
Ed25519 signature over the request timestamp concatenated with the raw body. Verified using the application's public key from the developer portal.

Delivery

Backoff
Discord expects a timely response (within 3 seconds); no documented retry policy for interactions.

Payload schema (field names + types only)

id string required
Interaction ID.
application_id string required
Application ID.
type integer required
Interaction type (3 = MESSAGE_COMPONENT).
data object required
Component interaction data.
custom_id string required
Custom ID set by the developer on the component.
component_type integer required
Component type (2=button, 3=select, etc.).
values array | null
Selected values for select menus.
message object
The message that contained the component.
guild_id string | null
Guild ID if applicable.
channel_id string | null
Channel ID.
token string required
Continuation token.
version integer
Notes: Interaction webhooks require the application's interactions endpoint URL to be set in the developer portal. Verify signatures using Ed25519 with the application public key.

Vendor docs

INTERACTION_MODAL_SUBMIT

Sent to the interactions endpoint when a user submits a modal dialog opened by the application.

namespace: interactions / delivery: webhook / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha256
Signature header
X-Signature-Ed25519
Signature detail
Ed25519 signature over the request timestamp concatenated with the raw body. Verified using the application's public key from the developer portal.

Delivery

Backoff
Discord expects a timely response (within 3 seconds); no documented retry policy for interactions.

Payload schema (field names + types only)

id string required
Interaction ID.
application_id string required
Application ID.
type integer required
Interaction type (5 = MODAL_SUBMIT).
data object required
Modal submission data.
custom_id string required
Custom ID of the modal.
components array required
Array of action row components with submitted values.
guild_id string | null
channel_id string | null
token string required
version integer
Notes: Interaction webhooks require the application's interactions endpoint URL to be set in the developer portal. Verify signatures using Ed25519 with the application public key.

Vendor docs

MESSAGE_CREATE

Dispatched when a message is posted to a channel the bot can see.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Message snowflake ID.
channel_id string required
ID of the channel this message was sent in.
guild_id string | null
ID of the guild, if applicable.
author object required
The author user object.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
content string required
Message content text.
timestamp string
When the message was sent.
edited_timestamp string | null
tts boolean
Whether the message was sent with text-to-speech.
mention_everyone boolean
Whether the message mentions @everyone.
mentions array
Users mentioned in the message.
mention_roles array
Role IDs mentioned.
attachments array
Attached files.
embeds array
Embedded content objects.
type integer
Message type integer.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

MESSAGE_DELETE

Dispatched when a single message is deleted.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Deleted message ID.
channel_id string required
Channel ID.
guild_id string | null
Guild ID if applicable.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

MESSAGE_DELETE_BULK

Dispatched when multiple messages are bulk-deleted from a channel.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
ids array required
Array of deleted message IDs.
channel_id string required
Channel ID.
guild_id string | null
Guild ID if applicable.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

MESSAGE_REACTION_ADD

Dispatched when a user adds a reaction to a message.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
user_id string required
ID of the user who reacted.
channel_id string required
Channel ID.
message_id string required
Message ID.
guild_id string | null
Guild ID if applicable.
emoji object required
Partial emoji object.
id string | null
Emoji ID for custom emojis.
name string | null
Emoji name.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

MESSAGE_REACTION_REMOVE

Dispatched when a user removes a reaction from a message.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
user_id string required
ID of the user who removed their reaction.
channel_id string required
Channel ID.
message_id string required
Message ID.
emoji object required
Partial emoji object.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

MESSAGE_UPDATE

Dispatched when a message is edited; may include only changed fields.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.85)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
id string required
Message snowflake ID.
channel_id string required
ID of the channel this message was sent in.
guild_id string | null
ID of the guild, if applicable.
author object
The author user object.
id string
User snowflake ID.
username string
User's display name.
discriminator string
4-digit discriminator (legacy; 0 for new usernames).
global_name string | null
User's global display name.
bot boolean | null
Whether the user is a bot.
content string
Message content text.
timestamp string
When the message was sent.
edited_timestamp string
tts boolean
Whether the message was sent with text-to-speech.
mention_everyone boolean
Whether the message mentions @everyone.
mentions array
Users mentioned in the message.
mention_roles array
Role IDs mentioned.
attachments array
Attached files.
embeds array
Embedded content objects.
type integer
Message type integer.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

PRESENCE_UPDATE

Dispatched when a user's online status or activities change in a guild.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.85)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
user object required
Partial user object.
id string
guild_id string required
Guild ID.
status string (enum)
Current status.
activities array
Array of activity objects.
client_status object
Per-platform (desktop/mobile/web) status.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

VOICE_STATE_UPDATE

Dispatched when a user joins, leaves, or changes state in a voice channel.

namespace: gateway / delivery: websocket / extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Gateway events are delivered over a WebSocket connection authenticated with a bot token. No per-message signature; connection-level auth only.

Payload schema (field names + types only)

op integer required
Opcode 0 for Dispatch.
t string required
Event name.
s integer | null
Sequence number.
d object required
Event data.
guild_id string | null
Guild ID.
channel_id string | null
Channel ID; null when leaving voice.
user_id string required
User ID.
session_id string required
Session ID for this voice connection.
deaf boolean
Whether the user is server-deafened.
mute boolean
Whether the user is server-muted.
self_deaf boolean
Whether the user has deafened themselves.
self_mute boolean
Whether the user has muted themselves.
suppress boolean
Whether the user is suppressed in a stage channel.
Notes: Gateway events require a persistent WebSocket connection using the Discord Gateway API. Events are dispatched only for guilds and channels the bot has access to.

Vendor docs

Use this data programmatically

The full catalog ships as a HuggingFace dataset under CC-BY-4.0. Load it with the datasets library, filter by vendor, and you have every Discord event in a Parquet table ready for code-generation, schema validation, or routing.

from datasets import load_dataset
ds = load_dataset("automatelab/saas-webhook-catalog")
events = ds["train"].filter(lambda r: r["vendor"] == "discord")

Open the dataset on HuggingFace Source on GitHub

Other vendors in the catalog

Back to the index for all 30 vendors.