Discord Bot

165 tools available

Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, and user engagement to enhance community interactions

Connect Discord Bot to Definable to automate repetitive tasks, sync data with the rest of your stack, trigger on real-world events. Personas call Discord Bot's 165 tools directly from chat or scheduled flows. You can wire it into any persona to read, write, and react when an event fires.

Common workflows with Discord Bot

01

Trigger on event

  1. Listen for a new event
  2. Parse and validate the payload
  3. Take an action with the linked tool
02

Daily summary

  1. Pull yesterday's activity
  2. Summarise with the model of your choice
  3. Send the digest via email or Slack
03

Cross-tool sync

  1. Read records from one app
  2. Transform with a persona
  3. Write the result back via this integration

Discord Bot actions 165

Every Discord Bot action below is a callable tool any Definable persona can invoke.

Add recipient to group channel

Adds a user to a Discord group Direct Message (DM) channel. IMPORTANT: This action requires a user OAuth2 access token with the 'gdm.join' scope in the access_token parameter. Bot tokens cannot be used for this endpoint as bots cannot join or manage group DMs per Discord's API limitations. The user being added must also have authorized your application with the gdm.join scope. Note: This endpoint was designed for the deprecated GameBridge SDK and may have limited functionality.

Add guild member

Adds a user (who is not already a member) to a guild using their `access_token` (which must have `guilds.join` scope), optionally setting nickname, roles, mute/deaf status, or flags.

Assign role to guild member

Assigns a role to a guild member, provided the bot has 'Manage Roles' permission in the guild and the role to be assigned is hierarchically lower than the bot's highest role.

Add reaction to message

Adds an emoji reaction (Unicode or custom) from the authenticated bot to a specific message in a Discord channel. Returns 204 No Content on success. Requires READ_MESSAGE_HISTORY permission, and ADD_REACTIONS permission if no one else has reacted with this emoji yet. Supports both Unicode emojis (e.g., 👍) and custom server emojis using 'name:id' format.

Add thread member

Adds a user to a specific, unarchived thread; the user must have access to the thread's parent channel, and for private threads, the bot must already be a member.

Ban user from guild

Permanently bans a user from a Discord guild, optionally deleting their recent messages (specify deletion period in seconds OR days, not both).

Bulk ban users in guild with message deletion option

Bans up to 200 users from a Discord guild, optionally deleting their recent messages; the bot must have 'Ban Members' permission in the guild, and this action is irreversible.

Bulk delete messages in channel

Atomically bulk deletes messages in a Discord channel for moderation or maintenance; deletion may not be instantaneous and messages are unrecoverable.

Create application command objects

Creates a new global Discord application command, accessible across guilds and in DMs (if `dm_permission` is true), noting global commands can take up to an hour to propagate and have registration limits; for guild-specific commands, use a different action.

Create guild auto moderation rule

Creates a new auto moderation rule for a Discord guild to automatically moderate content. Requires 'MANAGE_GUILD' permission. Use this to set up filters for profanity, spam, excessive mentions, or custom keywords. Each rule has a trigger type (what to look for), trigger metadata (specific configuration), and actions (what to do when triggered).

Create Channel Invite

Creates a new invite link for the specified Discord channel. The bot must have 'CREATE_INSTANT_INVITE' permission for that channel. Optionally configure the invite's expiration time, usage limit, and other properties. Returns the invite code and details including a shareable invite URL (format: https://discord.gg/{code}).

Initiate user channel with recipient

Creates a new direct message (DM) channel or retrieves an existing one, using `recipient_id` for a 1-on-1 DM or `access_tokens` for a group DM; this action only establishes or fetches the channel and does not send messages.

Create new guild object

Creates a new Discord guild (server) with the specified name, roles, and channels; icon must be a base64 encoded 128x128 image, and if `afk_channel_id` is set, `afk_timeout` must also be set.

Create guild application command

Creates a new guild-specific application command (slash, user, or message) in Discord; command name must be unique per type within the guild (max 100 total commands), and client UI updates may take up to an hour.

Create guild channel

Creates a new Discord channel (text, voice, category, etc.) within a guild, with options for permissions, topic, and type-specific settings.

Create guild emoji

Creates a new custom emoji in a specified Discord guild, requiring `CREATE_EXPRESSIONS` permission and adherence to guild emoji limits.

Post guild template by code

Creates a new Discord guild by applying channels, roles, and settings from a specified, valid, and accessible guild template code.

Create role with guild id

Creates a new role in a Discord guild with customizable name, permissions, color, hoist, mentionability, and icon; `icon` (custom image hash) and `unicode_emoji` (standard emoji) are mutually exclusive.

Create guild scheduled event

Creates a new scheduled event in a Discord guild. Events can be hosted in stage channels, voice channels, or external locations. Required fields vary by entity_type: STAGE_INSTANCE/VOICE require channel_id, while EXTERNAL requires entity_metadata with a location and scheduled_end_time.

Create guild sticker

Uploads a PNG, APNG, or Lottie JSON file (max 512KB) as a new custom sticker to the specified Discord guild; requires 'Manage Expressions' permissions and sufficient server boost level for sticker slots.

Create guild template

Creates a template of an existing Discord guild's structure (settings, roles, channels) but not its content (e.g., messages, members).

Post interaction callback

Sends a response to a Discord interaction (e.g., slash command, component); ensure response type is context-appropriate and initial reply is within 3 seconds.

Post message to channel

Sends a message to a specified Discord channel (text, embeds, stickers, components, attachments); requires `SEND_MESSAGES` permission and one of `content`, `embeds`, `sticker_ids`, or `attachments`.

Create Stage Instance

Creates a new Stage instance in a Stage channel (channel type 13) for hosting live audio events with speakers and listeners. Requires MANAGE_CHANNELS, MUTE_MEMBERS, and MOVE_MEMBERS permissions. A Stage channel can only have one active Stage instance at a time.

Create new thread in channel

Creates a new thread in a text or announcement Discord channel; requires a 'name' and optionally other details (e.g., 'auto_archive_duration', an initial 'message') in the request body.

Create thread from message

Creates a new thread from a specific message in a Discord channel, requiring `CREATE_PUBLIC_THREADS` permission (and `SEND_MESSAGES` if in a forum/media channel).

Create channel webhook

Creates a webhook in a specified Discord channel for external applications to post messages, provided the caller has 'MANAGE_WEBHOOKS' permission in that channel.

Crosspost channel message

Crossposts a message from an announcement channel to all following channels, provided the message has not been previously crossposted and is not a system message or a message sent by a webhook.

Delete all reactions from message

Deletes all reactions from a message in a Discord channel. This removes reactions from all users, not just the bot. Requires the bot to have the 'MANAGE_MESSAGES' permission in the channel. Returns HTTP 204 No Content on success.

Delete channel message reaction by emoji

Removes all reactions for a specific emoji from a message in a Discord channel. This action deletes all user reactions for a given emoji on a specific message. It requires the bot to have the MANAGE_MESSAGES permission in the channel. The operation is irreversible and will fire a Message Reaction Remove Emoji Gateway event. Common use cases: - Cleaning up unwanted reactions from a specific emoji - Managing reactions in moderation scenarios - Resetting poll or voting mechanisms that use reactions Note: This removes ALL user reactions for the specified emoji, not just the bot's reaction. To remove only the bot's reaction, use the delete_my_message_reaction action instead.

Delete application command

Permanently deletes a global application command (slash command, user command, or message command) from your Discord bot. This action is irreversible and removes the command globally. The command will no longer appear in Discord clients. To delete guild-specific commands, use the delete_guild_application_command action instead. Note: This deletes global commands which can take up to 1 hour to fully propagate across all Discord clients.

Delete guild auto moderation rule

Deletes a specific auto-moderation rule from a Discord guild.

Delete channel by id

Permanently deletes a Discord channel by its ID; this action is irreversible and the channel must exist and be deletable.

Delete channel permission override

Removes channel-specific permission overwrites for a user or role, reverting them to default permissions inherited from the server or category. Requires MANAGE_ROLES permission. Only works for guild channels (not DMs). Use this to revoke special channel access or restrictions previously set via permission overwrites. Fires a Channel Update Gateway event. Returns 204 No Content on success. This action is irreversible - to restore permissions, you must recreate the overwrite.

Remove user from group DM

Remove a recipient from a Discord group DM channel. Removes a user from a group DM channel (type 3), revoking their access. This action fires a Channel Recipient Remove Gateway event when successful. **Important**: This endpoint requires OAuth2 user access tokens with the 'gdm.join' scope. Bot tokens cannot access group DM functionality as Discord bots cannot participate in group DM channels. Only the group DM owner or managing application can remove recipients.

Delete guild by id

Permanently deletes a specified Discord guild (server); the authenticated user must be the owner of the guild.

Delete guild command

Permanently deletes a specific application command (e.g., slash, user, or message) for an application from a Discord guild, used to remove outdated or unnecessary commands.

Delete guild emoji by id

Permanently deletes a specified custom emoji from a guild, requiring 'Manage Expressions' permissions; cannot delete default emojis and is irreversible.

Delete guild integration

Permanently deletes a specific integration from a Discord guild, removing any associated webhooks and kicking the bot if present. Requires MANAGE_GUILD permission. Important: Bots can only delete their own integration; attempting to delete other integrations returns 403 Missing Access.

Delete guild member by id

Removes (kicks) a member from a Discord guild; the user must be an existing member of the specified guild, and this action is permanent.

Delete guild member role

Removes a specified role from a member of a Discord guild. This action requires the bot to have the MANAGE_ROLES permission in the guild, and the role being removed must be hierarchically lower than the bot's highest role. The operation is idempotent - it succeeds (HTTP 204) even if the member does not currently have the specified role. Fires a Guild Member Update Gateway event when successful.

Delete role from guild

Permanently deletes a specified role from a Discord guild, revoking it from all members; requires 'Manage Roles' permission and the target role must be lower in hierarchy than the bot's highest role.

Delete guild scheduled event

Permanently deletes a specific scheduled event from a Discord guild; this action is irreversible.

Delete guild sticker

Permanently deletes a custom sticker from a Discord guild; the specified guild and sticker must exist, and this action is irreversible.

Delete guild template by code

Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details.

Delete channel message

Permanently and irreversibly deletes a message from a specified Discord channel.

Delete user reaction on message

Removes the authenticated user's own emoji reaction, which they must have previously added, from a specific message in a Discord channel; this action is irreversible and cannot remove others' reactions.

Delete original webhook message

Permanently deletes an existing original message posted by a webhook (using its ID and token), optionally within a specific thread.

Delete stage instance by channel id

Deletes the Stage Instance for the given `channel_id`, permanently ending its live audio event.

Delete channel thread member

Removes a user from a specified, unarchived thread in a Discord channel.

Delete user reaction from message

Removes a specific user's emoji reaction from a message; requires 'Manage Messages' permission if deleting reactions from other users.

Delete webhook by id

Permanently deletes a specified, existing Discord webhook by its unique ID; this action is irreversible.

Delete webhook using id and token

Permanently deletes a Discord webhook specified by its ID and token; this action is irreversible.

Delete webhook message

Deletes a message previously sent by the specified webhook, optionally within a specific thread.

Github action webhooks processing

Forwards GitHub event notifications to a Discord channel via a webhook configured for GitHub-formatted payloads (URL ending in `/github`).

Post to slack webhook

Sends richly formatted messages to Discord via its Slack-compatible webhook endpoint; requires at least one of `text` or `attachments` and adherence to content limits.

Post webhook with embeds and components

Executes a Discord webhook to send messages, embeds, or interactive components to a specific Discord channel or thread.

Add follower to channel via webhook

Follows an Announcement Channel (News Channel) to relay its messages to a target channel via webhook. The bot must have MANAGE_WEBHOOKS permission in the target channel (`webhook_channel_id`). The source channel must be an Announcement Channel (requires server to have Community features enabled).

List active threads in guild

Retrieves all active (non-archived) threads in a Discord guild that the bot can access. Returns both public and private threads that are currently active, along with thread member information for threads the bot has joined. Archived threads are excluded from results.

Retrieve application details

Retrieves the full details of a Discord application using its unique `application_id`.

Fetch application command by id

Fetches the details of a specific, existing application command, identified by its application Snowflake ID and command Snowflake ID.

Retrieve application role metadata

Retrieves all role connection metadata records for a given Discord application ID; an empty list is returned if none are configured.

Get user role connection

Fetches the role connection object for the current user for a specified Discord application.

Retrieve auto moderation rule

Retrieves the complete configuration details of a specific auto-moderation rule within a Discord guild for inspection or verification.

Retrieve bot gateway

Retrieves the WSS URL, recommended shard count, and session start limits, which are prerequisite for a bot to connect to the Discord Gateway and receive events.

Retrieve channel details

Retrieves detailed metadata for a specific Discord channel using its `channel_id`, which must be a valid and accessible channel ID; note that this action returns only channel metadata, not message content or member lists.

Get gateway details

Retrieves the WebSocket URL to connect to Discord's Gateway for receiving real-time events.

Retrieve guild details

Retrieves detailed information for a specified Discord guild (server) by its `guild_id`, optionally including approximate member and presence counts if `with_counts` is true.

Fetch guild application command by id

Fetches detailed information for a specific application command within a Discord guild, identified by `application_id`, `guild_id`, and `command_id`.

Retrieve guild command permissions

Fetches the permissions for a specific application command within a guild, used to inspect its current access settings.

Retrieve guild user ban details

Fetches the ban details for a specific user in a Discord guild, if that user is currently banned.

Fetch emoji by guild and id

Retrieves details for a specific custom emoji within a specified Discord guild, requiring valid and accessible guild and emoji IDs.

Retrieve guild member by user id

Retrieves detailed information for a specific member of a Discord guild, provided the bot belongs to the guild and has necessary permissions (e.g., GUILD_MEMBERS intent).

Preview guild by id

Fetches a public preview of a Discord guild by its ID, if the guild has the preview feature enabled.

Get guild scheduled event by id

Retrieves a specific scheduled event from a Discord guild by its ID, optionally including the count of subscribed users.

Get guild onboarding by id

Retrieves the onboarding settings for a specified Discord guild, including prompts, options, default channels, and enabled status, to examine its new member guidance process when the guild_id is known and accessible.

Retrieve sticker from guild

Retrieves a specific sticker from a Discord guild using the guild and sticker IDs; requires the sticker to exist in the guild.

Retrieve guild template with code

Retrieves the complete structure and details of a Discord guild template using its unique code; the code must be valid and refer to an existing, accessible template.

Retrieve guild vanity url

Retrieves the vanity URL invite code and usage count for a Discord guild. The guild must have the VANITY_URL feature enabled (available for partnered, verified, or Level 3 boosted servers), and the bot must have MANAGE_GUILD permission. Returns the vanity URL code (or null if not set) and the number of times the vanity invite has been used.

Retrieve guild webhooks

Retrieves all webhook objects for a specified Discord guild; requires 'MANAGE_WEBHOOKS' permission for the authenticated entity.

Retrieve guild welcome screen

Retrieves the welcome screen configuration for a Discord guild with the Community feature enabled. Returns the welcome screen description and up to 5 suggested channels. If the welcome screen is disabled, the bot requires MANAGE_GUILD permission to view it.

Retrieve guild widget json

Retrieves the public JSON widget data for a Discord guild, if the widget is enabled for that guild.

Get guild widget png

Retrieves the widget PNG image for a Discord guild. Returns a PNG shield-style badge showing guild information. Use when you need to display guild widget as an image. The widget must be enabled for the guild.

Retrieve guild widget information

Retrieves the widget settings for a specified Discord guild, indicating if the widget is enabled and its configured channel ID; requires a valid `guild_id`.

Retrieve message from channel

Retrieves a specific message from a Discord channel, identified by `channel_id` and `message_id`, if the channel and message exist and are accessible.

Get your applications

Retrieves detailed information about the current authenticated Discord application.

Get oauth2 applications for current user

Retrieves detailed information about the OAuth2 application associated with the current authentication; cannot query other applications.

Retrieve original webhook message

Retrieves the initial response message from a Discord interaction webhook (slash commands, buttons, etc.) or regular webhook. This fetches the '@original' message, which is the first message sent when responding to an interaction or executing a webhook with wait=true. For interaction responses, the interaction token is valid for 15 minutes after the interaction was created.

Get oauth2 keys

Retrieves Discord's OAuth2 public keys (JWK format) for verifying access tokens; keys may rotate, so refresh caches periodically.

Retrieve stage instance by channel id

Gets the active stage instance associated with a stage channel (type 13). Returns the stage instance object if one exists, or a 404 error if the channel has no active stage instance. A stage instance represents a live stage event with a topic, privacy level, and optional scheduled event association.

Retrieve sticker by id

Retrieves a specific Discord sticker by its unique ID.

Retrieve thread member by id

Retrieves a member from a specified thread using their user ID, optionally including the full guild member object.

Retrieve user by id

Fetches public information for a Discord user, requiring a valid and existing user ID (snowflake).

Retrieve webhook by id

Retrieves detailed information for an existing Discord webhook, identified by its unique ID, to verify settings or manage the webhook.

Retrieve webhook information

Fetches a Discord webhook's configuration details (e.g., name, avatar, channel ID) using its ID and token; this excludes message history or usage statistics.

Retrieve webhook message by id

Retrieves a specific message previously sent by a Discord webhook using its `message_id`, requiring `thread_id` if the message is part of a thread.

Retrieve invite by code

Resolves a Discord invite code to get its details, optionally including member counts or data for a specific guild scheduled event; visibility of some details may depend on bot permissions.

Delete invite via code

Revokes a Discord server invite using its unique code, permanently preventing new joins via this link (does not affect existing members); requires 'Manage Server' or 'Manage Invites' permissions on the server.

Join thread

Joins the authenticated user to a thread specified by `channel_id`; use this when the user is not already a member, for archived threads, or for threads requiring explicit joining, provided the thread is joinable, not locked or full, and the user has permissions.

Leave Guild

Enables the bot to leave a specified Discord guild (server) of which it is a member but not the owner; this action is irreversible and the bot must be re-invited to rejoin.

Remove current user from thread

Removes the currently authenticated user from a specified, existing, and accessible Discord thread of which they are currently a member.

List commands for application

Fetches all global application commands for the specified Discord application ID; does not fetch guild-specific commands.

Retrieve guild auto moderation rules

Fetches all auto moderation rules for a specified Discord guild to review or audit its configuration; requires `VIEW_AUDIT_LOG` permissions and the action does not modify rules.

List Channel Invites

Fetches all active invites for a given Discord channel (read-only). Requires MANAGE_CHANNELS permission. Returns a list of invite objects with metadata (uses, max_uses, creator, timestamps, etc.). Response structures vary by invite type (guild, DM, stage instance, scheduled event).

Retrieve channel webhooks

Fetches detailed information for all webhooks in a given valid Discord channel, useful for review or auditing purposes.

Get application guild command permissions

Call this action to retrieve all explicitly set guild-level permission settings for all commands of a specific application within a given guild, typically for auditing or troubleshooting command access.

Fetch guild commands via application id

Fetches all application command definitions (slash, user, and message types) for a specific application within a given Discord guild, optionally including localizations; does not return permissions or usage statistics.

Get guild audit logs by guild id

Retrieves audit log entries (e.g., message deletions, member kicks/bans, role changes) for a specified Discord guild, requiring 'VIEW_AUDIT_LOG' permission.

List guild bans

Fetches a list of users banned from a specified Discord guild; `before`/`after` parameters require user IDs from previous results for correct pagination.

Retrieve guild channels

Fetches all channels (e.g., text, voice, category, threads) and their structural information for a specified Discord guild ID; does not include message content.

Retrieve guild emojis

Fetches all custom emoji objects for a specified Discord guild if the bot has access; returns only custom guild emojis, not standard Unicode or Nitro emojis.

List guild integrations

Lists all integration objects for a specified Discord guild.

Retrieve guild invites by id

Retrieves all currently active invite codes for a specified Discord guild, typically for administration, analytics, or managing guild invitations.

Get guild members

Retrieves members for a Discord guild; requires a valid guild_id for an existing guild.

List guild roles

Fetches all roles in a Discord guild, providing details for each role but not user assignments; `guild_id` must be valid.

Retrieve guild scheduled events

Retrieves a list of scheduled events for a specified Discord guild, optionally including subscribed user counts, provided the authenticated user/bot has access to the guild.

Retrieve users for scheduled event

Fetches users who have expressed interest in a specific scheduled event, requiring valid guild and event IDs.

Retrieve guild stickers

Retrieves all custom sticker objects for a Discord guild; does not include standard/Nitro stickers.

Get guild templates by guild id

Retrieves all guild templates for an existing Discord guild, specified by its ID.

List guild regions

Fetches a list of available voice regions for a specified Discord guild.

Get channel message reaction by emoji

Fetches a list of users who reacted to a specific message with a given emoji in a Discord channel; retrieves users for one emoji at a time.

Fetch messages from channel

Retrieves historical messages from a specified, accessible Discord channel, typically newest first; for real-time messages, use Discord's WebSocket Gateway API.

Get private archived threads for user

Retrieves private archived threads from a specified channel that the current user is a member of.

Retrieve pinned messages in channel

Retrieves all currently pinned messages from a Discord channel. Returns up to 50 pinned messages (Discord's maximum) in the channel. The bot must have permission to view the channel and read message history. Returns an empty list if no messages are pinned.

Get archived private threads by channel id

Lists a channel's private archived threads, sorted by most recent archival, requiring view access to them.

Get archived public threads by channel id

Lists public archived threads in an accessible Discord channel, returning an empty list if none exist; does not list private or active threads.

List sticker packs

Fetches sticker packs available to Nitro subscribers on Discord, excluding custom or guild-specific ones.

List thread members in channel

Retrieves members of a specified Discord thread, with an option to include full guild member objects for each.

Fetch voice regions list

Lists all available Discord voice regions with their ID, name, operational status (custom, deprecated, optimal), noting that availability may vary by server.

Pin message in channel

Pins a message in a Discord channel for increased visibility. Requires the 'Pin Messages' permission (separate from 'Manage Messages' as of Jan 2026). Channel pin limit is 250 messages. Returns HTTP 204 on success. Fails with 403 if missing permissions or 400 if pin limit exceeded.

Retrieve guild prune info

Previews the number of members that would be pruned from a Discord guild based on inactivity days and optional roles; this action only returns a count and does not remove members.

Prune inactive guild members

Removes inactive members from a Discord guild. Requires 'KICK_MEMBERS' permission. Set compute_prune_count=false for large guilds to avoid timeouts (returns null instead of count). To preview the prune count without removing members, use the preview_prune_guild action instead.

Update guild onboarding configuration

Configures or updates a Discord guild's new member onboarding flow, including defining prompts with options, assigning roles/channels, setting default channels, and managing the flow's active status.

Search guild members by username or nickname

Searches for members in a specific Discord guild, allowing filtering by a query string.

Modify channel permissions

Updates or creates a permission overwrite for a role (type `0`) or member (type `1`) specified by `overwrite_id` within an existing Discord channel (`channel_id`), using `allow` and `deny` bitwise values to precisely control permissions.

Update guild template by code

Synchronizes a guild template (by `code`) with its source guild (`guild_id`), updating it to match the source's current configuration; this does not affect guilds already created from this template.

Test bot token authentication

Tool to validate the configured Discord bot token by fetching the current authenticated bot user. Use when diagnosing repeated 401 errors to determine if the issue is an invalid token (this endpoint returns 401) or missing guild membership/permissions/wrong channel_id (this endpoint returns 200 but other operations fail).

Trigger typing indicator

Shows the bot is 'typing' in a Discord channel, typically before sending a message; indicator stops after 10 seconds or upon message send, so use when actively preparing a response.

Remove guild ban

Revokes a ban for a user from a Discord guild, allowing them to rejoin if they choose. Requires BAN_MEMBERS permission.

Unpin message from channel

Unpins a message that is currently pinned in a specified Discord channel; the message itself is not deleted, only removed from the pinned messages list.

Modify application by id

Updates a Discord application's settings using its `application_id`; `max_participants` requires the `APPLICATION_EMBEDDED_ACTIVITIES` flag, and `team_id`, `type`, or `install_params` must be `null` if specified.

Patch command for application

Updates specified properties of a Discord application command (e.g., name, description); omitted properties remain unchanged, and the `options` field, if provided, overwrites all existing options.

Update user application role connection

Updates the current user's application role connection metadata for Discord's Linked Roles feature. This endpoint requires OAuth2 authentication with the 'role_connections.write' scope - it cannot be used with a Bot token. The application must have role connection metadata configured before users can update their connection data. Use case: Update user metadata (e.g., subscription tier, account level) that Discord servers can use as requirements for linked roles.

Modify guild auto moderation rule

Updates an existing auto-moderation rule, identified by `guild_id` and `rule_id` in the path, with new values for rule properties (e.g., `name`, `event_type`) provided in the request body. All body parameters are optional - only include the fields you want to update.

Update channel settings

Updates a Discord channel's settings (name, topic, permissions, etc.). Requires MANAGE_CHANNELS permission. All body parameters are optional - only include fields you want to change. Different parameters apply to different channel types (text, voice, forum, etc.). Fires a Channel Update event on success.

Update guild settings

Updates settings for a Discord guild (server), such as name, region, icon, verification level, and notification settings. Requires the MANAGE_GUILD permission. Transferring ownership requires being the current owner. Managing features or certain visual elements (e.g., banners, splashes) may require specific guild features like 'COMMUNITY' or 'VIP'. All parameters are optional - only include the settings you want to change.

Update application guild command

Updates a specific Discord application command's properties (like name, description, options, or permissions) within a given guild; `application_id`, `guild_id`, and `command_id` must refer to valid entities.

Update guild emoji

Updates a custom emoji's name and/or role restrictions in a Discord guild; cannot create or delete emojis, and role updates for managed emojis may be restricted by their integration.

Modify guild member details

Updates a guild member's attributes including nickname, roles, voice state (mute/deaf/channel), timeout status, and flags. All parameters are optional - only provided fields will be updated. Returns the updated guild member object on success. Requires appropriate permissions for each operation (e.g., MANAGE_NICKNAMES, MANAGE_ROLES, MUTE_MEMBERS, DEAFEN_MEMBERS, MODERATE_MEMBERS).

Modify guild role

Updates a Discord guild role's attributes (name, permissions, color, etc.); requires `MANAGE_ROLES` permission, and the `ROLE_ICONS` guild feature if using `unicode_emoji`; unspecified attributes remain unchanged.

Update guild scheduled event

Updates attributes such as name, description, schedule, status, or location for an existing Discord guild event; only fields in the request body are changed.

Update guild sticker info

Modifies a guild sticker's name, description, or tags. Requires MANAGE_EXPRESSIONS permission (or CREATE_EXPRESSIONS for stickers created by the current user).

Patch guild template information

Updates a Discord guild template's `name` and/or `description` given its `guild_id` and template `code`; omitted fields retain current values, and an empty string for `description` clears it.

Update guild welcome screen

Updates a guild's welcome screen configuration, including description, enabled status, and up to 5 welcome channels. Requires MANAGE_GUILD permission and the guild must have the COMMUNITY feature enabled. All parameters are optional - you can update individual fields without providing all values. When specifying channel emojis, use `emoji_name` (unicode emoji like '👋' or custom emoji name) while `emoji_id` must be `null` if sent.

Update Guild Widget Settings

Updates an existing Discord guild's widget settings, such as its enabled state or invite channel. Requires MANAGE_GUILD permission. Widget settings control the public widget that can be embedded on external websites to show server information.

Update channel message

Updates a message previously sent by the bot in a Discord channel, by modifying its content, embeds, components, flags, or attachment metadata (new attachments cannot be uploaded); only provide fields to change, using null or an empty list to clear existing values.

Update application description

Modifies settings for the current authenticated Discord application (e.g., description, icon, interaction URLs); setting `team_id` to `null` (None) transfers team ownership, while `null` (None) for `type` or `install_params` clears/resets them.

Update bot's nickname in guild

Modifies the current bot's member profile (nickname) in a Discord guild. This endpoint allows the bot to change its own nickname in the specified guild. The bot must be a member of the guild to use this endpoint.

Update current bot user profile

Updates the current bot user's Discord username and/or avatar. This endpoint only works with bot tokens, not OAuth2 user tokens. At least one field (username or avatar) must be provided to update the profile. Username changes are rate-limited to 2 per hour per account.

Patch webhook original message

Updates the original editable message previously sent by a webhook, allowing partial modification of its content (max 2000 chars), embeds (max 10), attachments (kept by `id`, metadata updatable), components, allowed mentions, and flags.

Modify guild voice state for me

Updates the bot's voice state in a guild Stage channel (e.g., suppress/unsuppress audio, request to speak). Requires the bot to already be connected to a stage channel via Gateway API. Cannot be used to join, switch, or disconnect from voice channels.

Patch guild voice state

Updates another user's voice state in a Discord stage channel. IMPORTANT: This endpoint ONLY works for stage channels (not regular voice channels). Primary use is toggling the 'suppress' state to control speaking permissions. Requires the user to already be in the specified stage channel and the bot must have MUTE_MEMBERS permission. Returns 204 No Content on success.

Update webhook details patch

Updates properties (e.g., name, avatar, channel ID) of an existing Discord webhook; the webhook and any new channel (if specified) must exist, with the new channel being in the same server.

Update webhook name and avatar

Updates the default name and/or avatar for an existing Discord webhook, using its ID and token.

Update discord message with webhook

Updates a message previously sent by the *same* webhook, allowing partial modification of content, embeds, attachments, or components; will not edit user/bot messages.

Frequently asked questions

What can I automate with Discord Bot on Definable?

Anything Discord Bot exposes through its API. Common team chat workflows on Definable include automate repetitive tasks, sync data with the rest of your stack, trigger on real-world events. Personas can call any of the 165 Discord Bot tools directly, then chain the result into another integration without you writing code.

How does Discord Bot authentication work?

Discord Bot uses OAUTH2 on Definable. You connect once from the integrations page, scoped to the permissions you choose, and from then on any persona that has the integration enabled can act on your behalf. Tokens are encrypted at rest and rotated automatically.

Is the Discord Bot integration included in my Definable plan?

Yes — every Definable plan, including Starter, includes access to all 165 Discord Bot tools. You only need a separate Discord Bot subscription if Discord Bot itself charges per seat or per API call.

Is using Discord Bot through Definable secure?

Every call from a persona to Discord Bot is logged with the user, persona, prompt, and response. Tokens never leave Definable's secrets vault, scopes are configurable per persona, and you can revoke access at any time from the integration page.

How do I get started with Discord Bot on Definable?

Sign up for Definable, open the integrations page, find Discord Bot, and connect via OAuth or API key. You can immediately attach Discord Bot to any persona and start running workflows. The free Starter plan includes 5,000 credits/month.

What Discord Bot actions does Definable expose?

Definable exposes all 165 Discord Bot actions as callable tools — including `Add recipient to group channel`, `Add guild member`, `Assign role to guild member`, plus 162 more. Each tool gets a typed parameter schema so personas know exactly how to call it.

Ready to automate with Discord Bot?

Wire it up in minutes. No coding required.

← All integrations