Discord

App · Messaging · 66 actions · 8 triggers

Send messages and moderate communities using your Discord bot. After adding your bot token, invite the bot to each server with the right permissions so actions can run.

Triggers

Start a workflow when something happens in Discord. See how triggers work.

Discord New Message

Triggers when a new message is posted in a Discord channel.

Filters

Narrow which events start a run.

channel_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

message_idtext
channel_idtext
author_idtext
author_usernametext
contenttext
timestamptext

Reaction added to a message

Runs when someone reacts to a specific Discord message with a given emoji.

Filters

Narrow which events start a run.

channel_idRequired
message_idRequired
emojiRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

channel_idtext
message_idtext
emojitext
user_idtext
usernametext

Member joined the server

Runs when someone joins a Discord server. Needs the Server Members intent enabled on your bot.

Filters

Narrow which events start a run.

guild_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
user_idtext
usernametext
display_nametext
joined_attext
bottrue/false

Member banned

Runs when someone is banned from a Discord server.

Filters

Narrow which events start a run.

guild_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
user_idtext
usernametext
reasontext

Channel created

Runs when a new channel is created in a Discord server.

Filters

Narrow which events start a run.

guild_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
channel_idtext
nametext
typenumber

Thread or forum post created

Runs when a new thread or forum post appears in a Discord server.

Filters

Narrow which events start a run.

guild_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
thread_idtext
nametext
parent_idtext
typenumber

Event scheduled

Runs when a new event is scheduled in a Discord server.

Filters

Narrow which events start a run.

guild_idRequired

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
event_idtext
nametext
scheduled_start_timetext
locationtext
channel_idtext

Audit log entry added

Runs when something is recorded in a Discord server's audit log. Give an action type to watch one kind of change: 20 is a kick, 22 a ban, 25 a member's roles changing.

Filters

Narrow which events start a run.

guild_idRequired
action_type

Event fields

What a run starts with. Later steps read each field with an @ reference.

guild_idtext
entry_idtext
action_typenumber
target_idtext
actor_idtext
actor_usernametext
reasontext

Actions

ActionWhat it does
Add someone to a threadAdd a member to a thread so they receive its messages.
Archive or reopen a threadArchive a thread, reopen an archived one, or lock it so only moderators can post.
Ban a memberBan a user from a server and optionally delete their recent messages.
Bulk delete messagesDelete between 2 and 100 messages in one call.
Cancel a scheduled eventCancel a scheduled event and remove it from the server.
Clear reactionsRemove every reaction from a message, or every reaction of one emoji if an emoji is given.
Count recent messages in a Discord channel.Counts how many messages were sent in a specific channel over the past number of days you choose.
Count recent messages in a Discord server.Counts how many messages were sent across a Discord server over the past number of days you choose.
Create a channel in a Discord server.Creates a channel in the specified Discord server.
Create a forum postCreate a post in a forum or media channel.
Create a roleCreate a role.
Create a webhookCreate a webhook on a channel.
Create an inviteCreate an invite link to a channel.
Delete a channelPermanently delete a channel.
Delete a messagePermanently delete a single Discord message.
Delete a roleDelete a role, removing it from everyone who had it.
Delete a webhookPermanently delete a webhook.
Delete an Auto Moderation ruleDelete an Auto Moderation rule, so it stops filtering messages.
Edit a messageChange the text of a message.
Follow an announcement channelMirror an announcement channel's posts into another channel, so published updates appear there automatically.
Get a channelRetrieve a channel's settings: name, topic, category, slow mode and type.
Get a memberRetrieve one member's profile in a server, including their roles, nickname and join date.
Get a messageRetrieve a single Discord message by its ID.
Get channels in a Discord server.Retrieves the list of channels in the specified Discord server.
Get server detailsRetrieve a server's profile, including approximate member and online counts.
Give a member a roleAdd a role to a member.
Lift a banRemove a ban so the user can rejoin the server with a new invite.
List active threadsList every thread in a server that has not been archived, including forum posts.
List Auto Moderation rulesList a server's Auto Moderation rules and whether each is switched on.
List bansList the users banned from a server, with the reason recorded for each.
List channel invitesList the active invites for a channel, with how many times each has been used.
List custom emojiList a server's custom emoji.
List messages in a channelRead the most recent messages in a Discord channel, newest first.
List my Discord server IDs.Returns a list of IDs for the Discord servers you or your bot belong to.
List pinned messagesList the pinned messages in a channel, most recently pinned first.
List rolesList a server's roles, with their colour, position and permissions.
List scheduled eventsList a server's scheduled events, with how many people have said they are interested.
List server invitesList every active invite across a server, with how many times each has been used.
List server membersList the members of a server.
List the bot's serversList the servers the connected bot belongs to, with their names.
List webhooksList the webhooks on a channel.
List who reactedList the users who reacted to a message with a given emoji.
Pin a messagePin a message to the top of its channel.
Post through a webhookPost a message through a webhook, optionally under a custom name and avatar.
Publish an announcementPublish a message in an announcement channel to every server that follows it.
React to a messageAdd an emoji reaction to a message.
Read the audit logRead a server's audit log: who changed what, and why.
Remove a memberRemove someone from a server.
Remove a reactionRemove a reaction from a message.
Remove someone from a threadRemove a member from a thread.
Reply to a messageReply to a Discord message so it threads under the original.
Schedule an eventSchedule an event in a voice or stage channel, or at an external location.
Search membersFind members whose username or nickname starts with your search term.
Search messages in a serverSearch a Discord server's message history by text, channel, author or attachment.
Send a direct messageOpen a DM with a Discord user and send them a message.
Send a message to a Discord channel.Sends a text message to the specified Discord channel.
Set a member's nicknameChange a member's nickname in a server.
Set channel permissionsAllow or deny permissions for a role or member on one channel.
Show the bot typingShow the typing indicator in a channel for about ten seconds, so a slow step looks like work in progress.
Start a threadStart a thread in a channel without attaching it to an existing message.
Start a thread on a messageStart a thread hanging off an existing message, so replies stay together without cluttering the channel.
Take a role from a memberRemove a role from a member.
Time out a memberTemporarily stop a member from sending messages or joining voice.
Unpin a messageRemove a message from a channel's pins.
Update a channelRename a channel or change its topic, slow mode, category or position.
Update a roleChange a role's name, colour, permissions or display settings.

Add someone to a thread

Add a member to a thread so they receive its messages.

Inputs

Threadchannel_idtextRequired
The thread to add them to.
User IDuser_idtextRequired
The Discord user ID.

Outputs

addedtrue/false
channel_idtext
user_idtext
Example output
{
  "added": true,
  "channel_id": "4444444444444444444",
  "user_id": "111"
}

Archive or reopen a thread

Archive a thread, reopen an archived one, or lock it so only moderators can post.

Inputs

Threadchannel_idtextRequired
The thread to change.
Archivedarchivedtrue/false
Archive the thread. Set false to reopen it.Default: true.
Lockedlockedtrue/false
Lock the thread so only moderators can post.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

archivedtrue/false
idtext
nametext
Example output
{
  "archived": true,
  "id": "4444444444444444444",
  "name": "Deploy postmortem"
}

Ban a member

Ban a user from a server and optionally delete their recent messages. They cannot rejoin until the ban is lifted.

Inputs

Serverguild_idtextRequired
The server to ban them from.
User IDuser_idtextRequired
The Discord user ID.
Delete message daysdelete_message_daysnumber
Delete their messages from the last this many days (0-7).From 0 to 7. Default: 0.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

bannedtrue/false
guild_idtext
user_idtext
Example output
{
  "banned": true,
  "guild_id": "1234567890123456789",
  "user_id": "111"
}

Bulk delete messages

Delete between 2 and 100 messages in one call. Discord cannot bulk delete messages older than 14 days and rejects the whole request if any are included.

Inputs

Channelchannel_idtextRequired
The channel to delete messages from.
Message IDSmessage_idslistRequired
A list of 2-100 message IDs to delete.
Reasonreasontext
Why the messages are being deleted; shown in the audit log.

Outputs

channel_idtext
deletednumber
message_idslist
Example output
{
  "channel_id": "9876543210987654321",
  "deleted": 3,
  "message_ids": [
    "111",
    "222",
    "333"
  ]
}

Cancel a scheduled event

Cancel a scheduled event and remove it from the server.

Inputs

Serverguild_idtextRequired
The server the event is in.
Event IDevent_idtextRequired
The event to cancel.

Outputs

deletedtrue/false
event_idtext
guild_idtext
Example output
{
  "deleted": true,
  "event_id": "888",
  "guild_id": "1234567890123456789"
}

Clear reactions

Remove every reaction from a message, or every reaction of one emoji if an emoji is given.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message.
Emojiemojitext
Clear only this emoji's reactions. Blank clears all.

Outputs

clearedtrue/false
emojitext
message_idtext
Example output
{
  "cleared": true,
  "emoji": null,
  "message_id": "1234567890123456789"
}

Count recent messages in a Discord channel.

Counts how many messages were sent in a specific channel over the past number of days you choose.

Inputs

Channel IDchannel_idtextRequired
The Discord channel ID.
DaysdaysnumberRequired
How many days back to count, as a whole number (0 or higher). Use 0 to count messages from today only.

Outputs

Response envelope; the payload is in the "count" field.

countnumber
The count of messages in the channel within the time period.
statustext
Example output
{
  "count": 42,
  "status": "success"
}

Count recent messages in a Discord server.

Counts how many messages were sent across a Discord server over the past number of days you choose.

Inputs

Server IDguild_idtextRequired
The Discord server ID.
DaysdaysnumberRequired
How many days back to count, as a whole number (0 or higher). Use 0 to count messages from today only.

Outputs

Response envelope; the payload is in the "count" field.

countnumber
The total count of messages across all channels.
statustext
Example output
{
  "count": 1250,
  "status": "success"
}

Create a channel in a Discord server.

Creates a channel in the specified Discord server. Choose text, voice, category, announcement, stage, forum or media.

Inputs

Server IDguild_idtextRequired
The ID of the Discord server where the channel will be created.
NamenametextRequired
The name of the new channel.
Channel typechannel_typetext
One of text, voice, category, announcement, stage, forum or media. Defaults to text.Default: text.
Topictopictext
The topic/description of the channel.
Parent category IDparent_idtext
The ID of the category to place the channel under.

Outputs

Response envelope; the payload is in the "channel" field.

channelobject
statustext
Example output
{
  "channel": {
    "id": "1234567890123456789",
    "name": "new-channel",
    "type": 0
  },
  "status": "success"
}

Create a forum post

Create a post in a forum or media channel. A forum post is a thread that must be created together with its first message.

Inputs

Forum channelchannel_idtextRequired
The forum or media channel to post in.
NamenametextRequired
The post's title.
ContentcontenttextRequired
The opening message.
Auto archive durationauto_archive_durationnumber
Minutes of inactivity before it auto-archives: 60, 1440, 4320 or 10080.Default: 1440.

Outputs

idtext
nametext
parent_idtext
typenumber
Example output
{
  "id": "4444444444444444444",
  "name": "Bug: login loop",
  "parent_id": "9876543210987654321",
  "type": 11
}

Create a role

Create a role. Colour is a decimal RGB value, so red (0xFF0000) is 16711680.

Inputs

Serverguild_idtextRequired
The server to create the role in.
NamenametextRequired
The role's name.
Colorcolornumber
Colour as a decimal RGB integer, e.g. 16711680 for red.
Hoisthoisttrue/false
Show members with this role separately in the member list.
Mentionablementionabletrue/false
Let anyone mention this role.
Permissionspermissionstext
Permission bitfield as a decimal string.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

colornumber
idtext
nametext
permissionstext
positionnumber
Example output
{
  "color": 3447003,
  "hoist": true,
  "id": "222",
  "managed": false,
  "mentionable": true,
  "name": "Moderator",
  "permissions": "8192",
  "position": 5
}

Create a webhook

Create a webhook on a channel. A webhook can post under any name and avatar, unlike the bot itself. Discord rejects names containing 'clyde' or 'discord'.

Inputs

Channelchannel_idtextRequired
The channel the webhook posts to.
NamenametextRequired
The webhook's default display name.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

channel_idtext
idtext
nametext
tokentext
urltext
Example output
{
  "channel_id": "9876543210987654321",
  "id": "777",
  "name": "Status bot",
  "token": "abc...",
  "url": "https://discord.com/api/webhooks/777/abc..."
}

Create an invite

Create an invite link to a channel. A max age or max uses of 0 means the invite never expires.

Inputs

Channelchannel_idtextRequired
The channel to invite people to.
Max agemax_agenumber
Seconds until the invite expires. 0 never expires.From 0 to 604800. Default: 86400.
Max usesmax_usesnumber
How many times it can be used. 0 is unlimited.From 0 to 100. Default: 0.
Temporarytemporarytrue/false
Grant temporary membership that ends when they disconnect.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

channel_idtext
codetext
max_agenumber
max_usesnumber
urltext
Example output
{
  "channel_id": "9876543210987654321",
  "code": "aBcD1234",
  "max_age": 86400,
  "max_uses": 0,
  "url": "https://discord.gg/aBcD1234"
}

Delete a channel

Permanently delete a channel. Deleting a category does not delete the channels inside it; they simply lose their category.

Inputs

Channelchannel_idtextRequired
The channel to delete.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

deletedtrue/false
idtext
nametext
Example output
{
  "deleted": true,
  "id": "9876543210987654321",
  "name": "support"
}

Delete a message

Permanently delete a single Discord message.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to delete.
Reasonreasontext
Why the message is being deleted; shown in the server's audit log.

Outputs

channel_idtext
deletedtrue/false
message_idtext
Example output
{
  "channel_id": "9876543210987654321",
  "deleted": true,
  "message_id": "1234567890123456789"
}

Delete a role

Delete a role, removing it from everyone who had it.

Inputs

Serverguild_idtextRequired
The server the role is in.
Rolerole_idtextRequired
The role to delete.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

deletedtrue/false
guild_idtext
role_idtext
Example output
{
  "deleted": true,
  "guild_id": "1234567890123456789",
  "role_id": "222"
}

Delete a webhook

Permanently delete a webhook. Anything still posting to its URL will start failing.

Inputs

Webhook IDwebhook_idtextRequired
The webhook to delete.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

deletedtrue/false
webhook_idtext
Example output
{
  "deleted": true,
  "webhook_id": "777"
}

Delete an Auto Moderation rule

Delete an Auto Moderation rule, so it stops filtering messages.

Inputs

Serverguild_idtextRequired
The server the rule is in.
Rule IDrule_idtextRequired
The rule to delete.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

deletedtrue/false
guild_idtext
rule_idtext
Example output
{
  "deleted": true,
  "guild_id": "1234567890123456789",
  "rule_id": "1010"
}

Edit a message

Change the text of a message. Discord only allows an app to edit messages it sent itself.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to edit.
ContentcontenttextRequired
The replacement text.

Outputs

channel_idtext
contenttext
edited_timestamptext
idtext
Example output
{
  "channel_id": "9876543210987654321",
  "content": "Updated: they're in #deploys.",
  "edited_timestamp": "2026-09-18T10:09:00.000000+00:00",
  "id": "1234567890123456789"
}

Follow an announcement channel

Mirror an announcement channel's posts into another channel, so published updates appear there automatically.

Inputs

Channelchannel_idtextRequired
The announcement channel to follow.
Post intotarget_channel_idtextRequired
The channel that should receive the announcements.

Outputs

followedtrue/false
source_channel_idtext
target_channel_idtext
webhook_idtext
Example output
{
  "followed": true,
  "source_channel_id": "9876543210987654321",
  "target_channel_id": "3333333333333333333",
  "webhook_id": "222"
}

Get a channel

Retrieve a channel's settings: name, topic, category, slow mode and type.

Inputs

Channelchannel_idtextRequired
The channel to retrieve.

Outputs

idtext
nametext
nsfwtrue/false
parent_idtext
rate_limit_per_usernumber
topictext
typenumber
Example output
{
  "id": "9876543210987654321",
  "name": "support",
  "nsfw": false,
  "parent_id": "111",
  "rate_limit_per_user": 0,
  "topic": "Ask for help here",
  "type": 0
}

Get a member

Retrieve one member's profile in a server, including their roles, nickname and join date.

Inputs

Serverguild_idtextRequired
The server the member is in.
User IDuser_idtextRequired
The Discord user ID.

Outputs

bottrue/false
communication_disabled_untiltext
display_nametext
joined_attext
nicktext
user_idtext
usernametext
Example output
{
  "bot": false,
  "communication_disabled_until": null,
  "display_name": "Alex (support)",
  "global_name": "Alex",
  "joined_at": "2025-03-01T09:00:00.000000+00:00",
  "nick": "Alex (support)",
  "roles": [
    "222"
  ],
  "user_id": "111",
  "username": "alex"
}

Get a message

Retrieve a single Discord message by its ID.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to retrieve.

Outputs

author_idtext
author_usernametext
channel_idtext
contenttext
edited_timestamptext
idtext
pinnedtrue/false
timestamptext
Example output
{
  "author_id": "111",
  "author_username": "alex",
  "channel_id": "9876543210987654321",
  "content": "Has anyone seen the deploy logs?",
  "edited_timestamp": null,
  "id": "1234567890123456789",
  "pinned": false,
  "timestamp": "2026-09-18T10:04:00.000000+00:00"
}

Get channels in a Discord server.

Retrieves the list of channels in the specified Discord server.

Inputs

Server IDguild_idtextRequired
The Discord server ID (e.g., 987654321098765432).

Outputs

Response envelope; the payload is in the "channels" field.

channelslist
statustext
Example output
{
  "channels": [
    {
      "id": "1234567890123456789",
      "name": "general",
      "type": 0
    },
    {
      "id": "1234567890123456790",
      "name": "voice-chat",
      "type": 2
    }
  ],
  "status": "success"
}

Get server details

Retrieve a server's profile, including approximate member and online counts.

Inputs

Serverguild_idtextRequired
The server to retrieve.

Outputs

approximate_member_countnumber
approximate_presence_countnumber
descriptiontext
idtext
nametext
owner_idtext
preferred_localetext
premium_tiernumber
Example output
{
  "approximate_member_count": 1840,
  "approximate_presence_count": 210,
  "description": "Support and announcements",
  "id": "1234567890123456789",
  "name": "Acme Community",
  "owner_id": "111",
  "preferred_locale": "en-US",
  "premium_tier": 2
}

Give a member a role

Add a role to a member. A bot can only manage roles below its own highest role, so a permission error here usually means the role sits above the bot's.

Inputs

Serverguild_idtextRequired
The server the member is in.
User IDuser_idtextRequired
The Discord user ID.
Rolerole_idtextRequired
The role to give them.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

addedtrue/false
role_idtext
user_idtext
Example output
{
  "added": true,
  "role_id": "222",
  "user_id": "111"
}

Lift a ban

Remove a ban so the user can rejoin the server with a new invite.

Inputs

Serverguild_idtextRequired
The server to lift the ban in.
User IDuser_idtextRequired
The Discord user ID.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

guild_idtext
unbannedtrue/false
user_idtext
Example output
{
  "guild_id": "1234567890123456789",
  "unbanned": true,
  "user_id": "111"
}

List active threads

List every thread in a server that has not been archived, including forum posts.

Inputs

Serverguild_idtextRequired
The server to list threads in.

Outputs

Returns a list.

Example output
[
  {
    "id": "4444444444444444444",
    "name": "Deploy postmortem",
    "parent_id": "9876543210987654321",
    "type": 11
  }
]

List Auto Moderation rules

List a server's Auto Moderation rules and whether each is switched on.

Inputs

Serverguild_idtextRequired
The server to list rules for.

Outputs

Returns a list.

Example output
[
  {
    "creator_id": "9876543210987654321",
    "enabled": true,
    "event_type": 1,
    "guild_id": "1234567890123456789",
    "id": "1010",
    "name": "Block invite links",
    "trigger_type": 1
  }
]

List bans

List the users banned from a server, with the reason recorded for each.

Inputs

Serverguild_idtextRequired
The server to list bans for.
Limitlimitnumber
How many bans to return (1-1000).From 1 to 1000. Default: 100.

Outputs

Returns a list.

Example output
[
  {
    "reason": "Repeated spam",
    "user_id": "999",
    "username": "spammer"
  }
]

List channel invites

List the active invites for a channel, with how many times each has been used.

Inputs

Channelchannel_idtextRequired
The channel to list invites for.

Outputs

Returns a list.

Example output
[
  {
    "code": "aBcD1234",
    "expires_at": null,
    "inviter_username": "alex",
    "max_uses": 0,
    "url": "https://discord.gg/aBcD1234",
    "uses": 3
  }
]

List custom emoji

List a server's custom emoji. Each result includes the name:id form the reaction actions expect.

Inputs

Serverguild_idtextRequired
The server to list emoji for.

Outputs

Returns a list.

Example output
[
  {
    "animated": true,
    "id": "999",
    "name": "partyparrot",
    "reaction_format": "partyparrot:999"
  }
]

List messages in a channel

Read the most recent messages in a Discord channel, newest first.

Inputs

Channelchannel_idtextRequired
The channel to read messages from.
Limitlimitnumber
How many messages to return (1-100).From 1 to 100. Default: 50.

Outputs

Returns a list.

Example output
[
  {
    "author": {
      "id": "111",
      "username": "alex"
    },
    "channel_id": "9876543210987654321",
    "content": "Has anyone seen the deploy logs?",
    "id": "1234567890123456789",
    "timestamp": "2026-09-18T10:04:00.000000+00:00"
  }
]

List my Discord server IDs.

Returns a list of IDs for the Discord servers you or your bot belong to.

Inputs

None.

Outputs

Response envelope; the payload is in the "guild_ids" field.

guild_idslist
List of guild IDs the user is a member of.
statustext
Example output
{
  "guild_ids": [
    "1234567890123456789",
    "9876543210987654321"
  ],
  "status": "success"
}

List pinned messages

List the pinned messages in a channel, most recently pinned first.

Inputs

Channelchannel_idtextRequired
The channel to read pins from.
Limitlimitnumber
How many pins to return (1-50).From 1 to 50. Default: 50.

Outputs

Returns a list.

Example output
[
  {
    "author_username": "alex",
    "channel_id": "9876543210987654321",
    "content": "Read this before posting.",
    "id": "1234567890123456789",
    "pinned_at": "2026-09-10T08:00:00.000000+00:00"
  }
]

List roles

List a server's roles, with their colour, position and permissions.

Inputs

Serverguild_idtextRequired
The server to list roles for.

Outputs

Returns a list.

Example output
[
  {
    "color": 3447003,
    "hoist": true,
    "id": "222",
    "managed": false,
    "mentionable": true,
    "name": "Moderator",
    "permissions": "8192",
    "position": 5
  }
]

List scheduled events

List a server's scheduled events, with how many people have said they are interested.

Inputs

Serverguild_idtextRequired
The server to list events for.

Outputs

Returns a list.

Example output
[
  {
    "channel_id": "9876543210987654322",
    "description": "Monthly catch-up",
    "entity_type": 2,
    "id": "888",
    "location": null,
    "name": "Community call",
    "scheduled_end_time": null,
    "scheduled_start_time": "2026-10-01T17:00:00+00:00",
    "status": 1,
    "user_count": 34
  }
]

List server invites

List every active invite across a server, with how many times each has been used.

Inputs

Serverguild_idtextRequired
The server to list invites for.

Outputs

Returns a list.

Example output
[
  {
    "channel_id": "9876543210987654321",
    "code": "aBcD1234",
    "expires_at": null,
    "max_uses": 0,
    "url": "https://discord.gg/aBcD1234",
    "uses": 12
  }
]

List server members

List the members of a server. This needs the Server Members intent enabled on your bot in Discord's Developer Portal; without it Discord refuses the request. Search members works without any intent.

Inputs

Serverguild_idtextRequired
The server to list members of.
Limitlimitnumber
How many members to return (1-1000).From 1 to 1000. Default: 100.
Afteraftertext
Continue after this user ID, to page through a large server.

Outputs

Returns a list.

Example output
[
  {
    "bot": false,
    "communication_disabled_until": null,
    "display_name": "Alex (support)",
    "global_name": "Alex",
    "joined_at": "2025-03-01T09:00:00.000000+00:00",
    "nick": "Alex (support)",
    "roles": [
      "222"
    ],
    "user_id": "111",
    "username": "alex"
  }
]

List the bot's servers

List the servers the connected bot belongs to, with their names. A workflow can only act in servers the bot has been invited to.

Inputs

None.

Outputs

Returns a list.

Example output
[
  {
    "icon": null,
    "id": "1234567890123456789",
    "name": "Acme Community",
    "owner": false
  }
]

List webhooks

List the webhooks on a channel.

Inputs

Channelchannel_idtextRequired
The channel to list webhooks for.

Outputs

Returns a list.

Example output
[
  {
    "channel_id": "9876543210987654321",
    "id": "777",
    "name": "Status bot",
    "url": "https://discord.com/api/webhooks/777/abc..."
  }
]

List who reacted

List the users who reacted to a message with a given emoji.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message.
EmojiemojitextRequired
The emoji to count reactions for.
Limitlimitnumber
How many users to return (1-100).From 1 to 100. Default: 25.

Outputs

Returns a list.

Example output
[
  {
    "bot": false,
    "global_name": "Alex",
    "id": "111",
    "username": "alex"
  }
]

Pin a message

Pin a message to the top of its channel.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to pin.
Reasonreasontext
Why it is being pinned; shown in the audit log.

Outputs

channel_idtext
message_idtext
pinnedtrue/false
Example output
{
  "channel_id": "9876543210987654321",
  "message_id": "1234567890123456789",
  "pinned": true
}

Post through a webhook

Post a message through a webhook, optionally under a custom name and avatar. This is the only way to post under an identity other than the bot's.

Inputs

Webhook IDwebhook_idtextRequired
The webhook's ID.
Webhook tokenwebhook_tokentextRequired
The webhook's token, from the webhook URL.
ContentcontenttextRequired
The message text.
Usernameusernametext
Post under this name instead of the webhook's default.
Avatar URLavatar_urltext
Post with this avatar image instead of the default.
Thread IDthread_idtext
Post into this thread rather than the channel itself.

Outputs

channel_idtext
contenttext
idtext
Example output
{
  "channel_id": "9876543210987654321",
  "content": "Deploy finished.",
  "id": "1234567890123456789"
}

Publish an announcement

Publish a message in an announcement channel to every server that follows it.

Inputs

Announcement channelchannel_idtextRequired
The announcement channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to publish.

Outputs

channel_idtext
contenttext
idtext
Example output
{
  "channel_id": "9876543210987654321",
  "content": "Release 2.4 is out.",
  "id": "1234567890123456789"
}

React to a message

Add an emoji reaction to a message. Use a standard emoji such as 👍, or name:id for a custom server emoji.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to react to.
EmojiemojitextRequired
The emoji to react with, e.g. 👍 or partyparrot:123456789.

Outputs

emojitext
message_idtext
reactedtrue/false
Example output
{
  "emoji": "\ud83d\udc4d",
  "message_id": "1234567890123456789",
  "reacted": true
}

Read the audit log

Read a server's audit log: who changed what, and why. Discord keeps entries for 45 days. Filter by action type to watch one kind of change: 20 is a kick, 22 a ban, 25 a member's roles changing.

Inputs

Serverguild_idtextRequired
The server to read the audit log for.
Action typeaction_typenumber
Only entries of this action type. Leave blank for all.
User IDuser_idtext
Only entries for actions taken by this user.
Limitlimitnumber
How many entries to return (1-100).From 1 to 100. Default: 50.

Outputs

Returns a list.

Example output
[
  {
    "action_type": 25,
    "actor_id": "222",
    "actor_username": "morgan",
    "changes": [],
    "id": "555",
    "reason": "Promoted to moderator",
    "target_id": "111"
  }
]

Remove a member

Remove someone from a server. They can rejoin with a new invite; use a ban to stop them returning.

Inputs

Serverguild_idtextRequired
The server to remove them from.
User IDuser_idtextRequired
The Discord user ID.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

guild_idtext
kickedtrue/false
user_idtext
Example output
{
  "guild_id": "1234567890123456789",
  "kicked": true,
  "user_id": "111"
}

Remove a reaction

Remove a reaction from a message. Leave the user blank to remove the bot's own reaction.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message.
EmojiemojitextRequired
The emoji whose reaction should be removed.
User IDuser_idtext
Whose reaction to remove. Blank removes the bot's own.

Outputs

emojitext
message_idtext
removedtrue/false
user_idtext
Example output
{
  "emoji": "\ud83d\udc4d",
  "message_id": "1234567890123456789",
  "removed": true,
  "user_id": "@me"
}

Remove someone from a thread

Remove a member from a thread.

Inputs

Threadchannel_idtextRequired
The thread to remove them from.
User IDuser_idtextRequired
The Discord user ID.

Outputs

channel_idtext
removedtrue/false
user_idtext
Example output
{
  "channel_id": "4444444444444444444",
  "removed": true,
  "user_id": "111"
}

Reply to a message

Reply to a Discord message so it threads under the original.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to reply to.
ContentcontenttextRequired
The reply text.

Outputs

channel_idtext
contenttext
idtext
Example output
{
  "channel_id": "9876543210987654321",
  "content": "They're in #deploys.",
  "id": "1234567890123456790"
}

Schedule an event

Schedule an event in a voice or stage channel, or at an external location. Discord requires an end time for events at a location.

Inputs

Serverguild_idtextRequired
The server to schedule the event in.
NamenametextRequired
The event's name.
Scheduled start timescheduled_start_timedate and timeRequired
When it starts, as an ISO 8601 timestamp.
Scheduled end timescheduled_end_timedate and time
When it ends. Required for an event at a location.
Descriptiondescriptiontext
What the event is about.
Channelchannel_idtext
The voice or stage channel to hold it in.
Locationlocationtext
An external location, if the event is not in a channel.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

channel_idtext
entity_typenumber
idtext
locationtext
nametext
scheduled_start_timetext
Example output
{
  "channel_id": "9876543210987654322",
  "description": "Monthly catch-up",
  "entity_type": 2,
  "id": "888",
  "location": null,
  "name": "Community call",
  "scheduled_end_time": null,
  "scheduled_start_time": "2026-10-01T17:00:00+00:00",
  "status": 1,
  "user_count": 0
}

Search members

Find members whose username or nickname starts with your search term. Unlike listing members this needs no privileged intent, so it is the reliable way to resolve a name to a user ID.

Inputs

Serverguild_idtextRequired
The server to search.
QueryquerytextRequired
The start of a username or nickname.
Limitlimitnumber
How many matches to return (1-1000).From 1 to 1000. Default: 25.

Outputs

Returns a list.

Example output
[
  {
    "bot": false,
    "communication_disabled_until": null,
    "display_name": "Alex",
    "global_name": "Alex",
    "joined_at": "2025-03-01T09:00:00.000000+00:00",
    "nick": null,
    "roles": [
      "222"
    ],
    "user_id": "111",
    "username": "alex"
  }
]

Search messages in a server

Search a Discord server's message history by text, channel, author or attachment. Requires the Message Content intent to be enabled on your bot.

Inputs

Serverguild_idtextRequired
The server to search.
Contentcontenttext
Text to search for in message content.
Channelchannel_idtext
Limit the search to one channel.
Author IDauthor_idtext
Limit the search to messages from one user.
Mentions user IDmentions_user_idtext
Only messages that mention this user.
Hashastext
Only messages containing a kind of content: link, embed, file, video, image, sound or sticker.
Limitlimitnumber
How many results to return (1-25).From 1 to 25. Default: 25.

Outputs

messageslist
total_resultsnumber
Example output
{
  "messages": [
    {
      "author_id": "111",
      "author_username": "alex",
      "channel_id": "9876543210987654321",
      "content": "The deploy logs are in #deploys.",
      "id": "1234567890123456789",
      "timestamp": "2026-09-18T10:04:00.000000+00:00"
    }
  ],
  "total_results": 2
}

Send a direct message

Open a DM with a Discord user and send them a message. Discord advises against using this to message a whole server.

Inputs

User IDuser_idtextRequired
The Discord user ID to message.
ContentcontenttextRequired
The message text.

Outputs

channel_idtext
contenttext
idtext
Example output
{
  "channel_id": "5555555555555555555",
  "content": "Your report is ready.",
  "id": "1234567890123456789"
}

Send a message to a Discord channel.

Sends a text message to the specified Discord channel. The message can optionally be read aloud (text-to-speech) or include rich embeds.

Inputs

Channel IDchannel_idtextRequired
The Discord channel ID to send the message to (e.g., 123456789012345678).
ContentcontenttextRequired
The message content (text) to send.
Text-to-speechttstrue/false
Set to true to have Discord read the message aloud (text-to-speech).
Embedsembedslist
A list of rich embeds to include with the message. Each embed can have a title, description, color, and fields.

Outputs

channel_idtext
The channel the message was sent to.
contenttext
The content of the message.
idtext
The ID of the sent message.
Example output
{
  "channel_id": "9876543210987654321",
  "content": "Hello, Discord!",
  "id": "1234567890123456789"
}

Set a member's nickname

Change a member's nickname in a server. Leave the nickname blank to clear it and fall back to their username.

Inputs

Serverguild_idtextRequired
The server the member is in.
User IDuser_idtextRequired
The Discord user ID.
Nicknamenicknametext
The new nickname. Blank clears it.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

display_nametext
nicktext
user_idtext
usernametext
Example output
{
  "bot": false,
  "communication_disabled_until": null,
  "display_name": "Alex (on call)",
  "global_name": "Alex",
  "joined_at": "2025-03-01T09:00:00.000000+00:00",
  "nick": "Alex (on call)",
  "roles": [
    "222"
  ],
  "user_id": "111",
  "username": "alex"
}

Set channel permissions

Allow or deny permissions for a role or member on one channel. Permission values are Discord's bitfields, given as decimal strings.

Inputs

Channelchannel_idtextRequired
The channel to change permissions on.
Overwrite IDoverwrite_idtextRequired
The role or member ID the overwrite applies to.
Overwrite typeoverwrite_typetext
Either role or member.Default: role.
Allowallowtext
Permission bitfield to allow, as a decimal string.
Denydenytext
Permission bitfield to deny, as a decimal string.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

channel_idtext
overwrite_idtext
updatedtrue/false
Example output
{
  "channel_id": "9876543210987654321",
  "overwrite_id": "555",
  "updated": true
}

Show the bot typing

Show the typing indicator in a channel for about ten seconds, so a slow step looks like work in progress.

Inputs

Channelchannel_idtextRequired
The channel to show the indicator in.

Outputs

channel_idtext
typingtrue/false
Example output
{
  "channel_id": "9876543210987654321",
  "typing": true
}

Start a thread

Start a thread in a channel without attaching it to an existing message.

Inputs

Channelchannel_idtextRequired
The channel to create the thread in.
NamenametextRequired
The thread's name.
Privateprivatetrue/false
Make it a private thread, visible only to people added to it.
Auto archive durationauto_archive_durationnumber
Minutes of inactivity before it auto-archives: 60, 1440, 4320 or 10080.Default: 1440.

Outputs

idtext
nametext
parent_idtext
typenumber
Example output
{
  "id": "4444444444444444444",
  "name": "Planning",
  "parent_id": "9876543210987654321",
  "type": 11
}

Start a thread on a message

Start a thread hanging off an existing message, so replies stay together without cluttering the channel.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The message to start the thread from.
NamenametextRequired
The thread's name.
Auto archive durationauto_archive_durationnumber
Minutes of inactivity before it auto-archives: 60, 1440, 4320 or 10080.Default: 1440.

Outputs

idtext
nametext
parent_idtext
typenumber
Example output
{
  "id": "4444444444444444444",
  "name": "Deploy postmortem",
  "parent_id": "9876543210987654321",
  "type": 11
}

Take a role from a member

Remove a role from a member. A bot can only manage roles below its own highest role.

Inputs

Serverguild_idtextRequired
The server the member is in.
User IDuser_idtextRequired
The Discord user ID.
Rolerole_idtextRequired
The role to take away.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

removedtrue/false
role_idtext
user_idtext
Example output
{
  "removed": true,
  "role_id": "222",
  "user_id": "111"
}

Time out a member

Temporarily stop a member from sending messages or joining voice. Discord caps a timeout at 28 days, and refuses it for administrators and the server owner. Set the duration to 0 to lift an existing timeout.

Inputs

Serverguild_idtextRequired
The server the member is in.
User IDuser_idtextRequired
The Discord user ID.
Duration minutesduration_minutesnumberRequired
How long to mute them, in minutes. 0 lifts the timeout. The maximum is 40320 (28 days).From 0 to 40320.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

timed_out_untiltext
user_idtext
usernametext
Example output
{
  "bot": false,
  "communication_disabled_until": "2026-09-18T12:00:00+00:00",
  "display_name": "Alex",
  "global_name": "Alex",
  "joined_at": "2025-03-01T09:00:00.000000+00:00",
  "nick": null,
  "roles": [
    "222"
  ],
  "timed_out_until": "2026-09-18T12:00:00+00:00",
  "user_id": "111",
  "username": "alex"
}

Unpin a message

Remove a message from a channel's pins.

Inputs

Channelchannel_idtextRequired
The channel the message is in.
Message IDmessage_idtextRequired
The ID of the message to unpin.
Reasonreasontext
Why it is being unpinned; shown in the audit log.

Outputs

channel_idtext
message_idtext
unpinnedtrue/false
Example output
{
  "channel_id": "9876543210987654321",
  "message_id": "1234567890123456789",
  "unpinned": true
}

Update a channel

Rename a channel or change its topic, slow mode, category or position. Only the fields you provide are changed.

Inputs

Channelchannel_idtextRequired
The channel to update.
Namenametext
A new name for the channel.
Topictopictext
A new topic or description.
Nsfwnsfwtrue/false
Mark the channel as age-restricted.
Rate limit per userrate_limit_per_usernumber
Slow mode in seconds, 0-21600. 0 turns it off.From 0 to 21600.
Categoryparent_idtext
Move the channel under this category.
Positionpositionnumber
Sort position within its category.

Outputs

idtext
nametext
rate_limit_per_usernumber
topictext
typenumber
Example output
{
  "id": "9876543210987654321",
  "name": "support-archive",
  "rate_limit_per_user": 30,
  "topic": "Closed",
  "type": 0
}

Update a role

Change a role's name, colour, permissions or display settings. Only the fields you provide are changed.

Inputs

Serverguild_idtextRequired
The server the role is in.
Rolerole_idtextRequired
The role to update.
Namenametext
A new name for the role.
Colorcolornumber
Colour as a decimal RGB integer.
Hoisthoisttrue/false
Show members with this role separately in the member list.
Mentionablementionabletrue/false
Let anyone mention this role.
Permissionspermissionstext
Permission bitfield as a decimal string.
Reasonreasontext
Why this change is being made; shown in the server's audit log.

Outputs

colornumber
idtext
nametext
permissionstext
positionnumber
Example output
{
  "color": 15844367,
  "hoist": true,
  "id": "222",
  "managed": false,
  "mentionable": true,
  "name": "Senior moderator",
  "permissions": "8192",
  "position": 5
}

On this page