# Discordbot

Your Toolhouse AI Worker can connect to Discordbot using 165 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=discordbot).

## Tools (165)

### `Discordbot Add Group Dm User`

Integration name: **DISCORDBOT\_ADD\_GROUP\_DM\_USER**

Adds a user to a Discord group DM channel. Requires a user OAuth2 access token with the gdm.join scope. Bot tokens cannot be used for this endpoint.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                |
| -------------- | ------ | :------: | ------- | -------------------------------------------------------------------------- |
| `nick`         | string |          | —       | Nickname for the user in the group DM.                                     |
| `user_id`      | string |     ✅    | —       | ID of the user to add to the group DM channel.                             |
| `channel_id`   | string |     ✅    | —       | ID of the group DM channel to add the user to.                             |
| `access_token` | string |          | —       | Access token of the user being added; must have the gdm.join OAuth2 scope. |

***

### `Discordbot Add Guild Member`

Integration name: **DISCORDBOT\_ADD\_GUILD\_MEMBER**

Adds a user to a Discord guild using their OAuth2 access token (which must have guilds.join scope). Returns the guild member object on 201 Created, or indicates the user is already a member on 204.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example | Description                                                                                      |
| -------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------ |
| `deaf`         | boolean |          | —       | Whether the user should be server deafened in voice channels.                                    |
| `mute`         | boolean |          | —       | Whether the user should be server muted in voice channels.                                       |
| `nick`         | string  |          | —       | Nickname to set for the user in this guild. Maximum 32 characters.                               |
| `roles`        | array   |          | —       | List of role IDs to assign to the user upon joining.                                             |
| `user_id`      | string  |     ✅    | —       | The unique identifier (snowflake ID) of the user to add.                                         |
| `guild_id`     | string  |     ✅    | —       | The unique identifier (snowflake ID) of the guild to add the user to.                            |
| `access_token` | string  |     ✅    | —       | OAuth2 access token for the user, with guilds.join scope, to authorize adding them to the guild. |

***

### `Discordbot Add Guild Member Role`

Integration name: **DISCORDBOT\_ADD\_GUILD\_MEMBER\_ROLE**

Assigns a role to a guild member. Requires MANAGE\_ROLES permission and the role must be lower in hierarchy than the bot's highest role. Returns 204 on success.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------ |
| `role_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord role to be assigned to the member.     |
| `user_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord user to whom the role will be added.   |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the member and role exist. |

***

### `Discordbot Add My Message Reaction`

Integration name: **DISCORDBOT\_ADD\_MY\_MESSAGE\_REACTION**

Adds an emoji reaction from the bot to a message. Requires READ\_MESSAGE\_HISTORY, and ADD\_REACTIONS if no one else has reacted with this emoji yet.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                   |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `emoji`      | string |     ✅    | —       | Emoji to react with. For Unicode emojis use the character directly (e.g., '👍'). For custom emojis use 'name:id' format (e.g., 'myemoji:123456789012345678'). |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message.                                                                                                                     |
| `message_id` | string |     ✅    | —       | ID of the message to react to.                                                                                                                                |

***

### `Discordbot Add Thread Member`

Integration name: **DISCORDBOT\_ADD\_THREAD\_MEMBER**

Adds a user to a specific, unarchived thread. The user must have access to the parent channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                              |
| ------------ | ------ | :------: | ------- | ---------------------------------------- |
| `user_id`    | string |     ✅    | —       | The ID of the user to add to the thread. |
| `channel_id` | string |     ✅    | —       | The ID of the thread to add the user to. |

***

### `Discordbot Ban User From Guild`

Integration name: **DISCORDBOT\_BAN\_USER\_FROM\_GUILD**

Permanently bans a user from a Discord guild, optionally deleting their recent messages.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example | Description                                                                        |
| ------------------------ | ------- | :------: | ------- | ---------------------------------------------------------------------------------- |
| `user_id`                | string  |     ✅    | —       | The ID of the user to ban.                                                         |
| `guild_id`               | string  |     ✅    | —       | The ID of the guild to ban the user from.                                          |
| `delete_message_seconds` | integer |          | —       | Number of seconds (0-604800) of the user's past messages to delete. Defaults to 0. |

***

### `Discordbot Bulk Ban Users From Guild`

Integration name: **DISCORDBOT\_BULK\_BAN\_USERS\_FROM\_GUILD**

Bans up to 200 users from a Discord guild, optionally deleting their recent messages. Requires BAN\_MEMBERS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example | Description                                                                         |
| ------------------------ | ------- | :------: | ------- | ----------------------------------------------------------------------------------- |
| `guild_id`               | string  |     ✅    | —       | The ID of the guild to ban users from.                                              |
| `user_ids`               | array   |     ✅    | —       | Array of user IDs to ban (maximum 200).                                             |
| `delete_message_seconds` | integer |          | —       | Number of seconds (0-604800) of messages to delete for banned users. Defaults to 0. |

***

### `Discordbot Bulk Delete Messages`

Integration name: **DISCORDBOT\_BULK\_DELETE\_MESSAGES**

Bulk deletes messages in a Discord channel. Requires MANAGE\_MESSAGES permission. Messages must be less than 14 days old. Between 2 and 100 messages can be deleted at once.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                        |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------- |
| `messages`   | array  |     ✅    | —       | List of message IDs to delete (2-100). All messages must be less than 14 days old. |
| `channel_id` | string |     ✅    | —       | ID of the channel from which to bulk delete messages.                              |

***

### `Discordbot Create Application Command`

Integration name: **DISCORDBOT\_CREATE\_APPLICATION\_COMMAND**

Creates a new global Discord application command. Global commands can take up to an hour to propagate. Command names must be unique per type within the application scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                                           |
| ---------------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------- |
| `name`                       | string  |     ✅    | —       | 1-32 character command name. For CHAT\_INPUT commands, must be lowercase.                             |
| `type`                       | integer |          | —       | Command type: 1 (CHAT\_INPUT, default), 2 (USER), 3 (MESSAGE).                                        |
| `options`                    | array   |          | —       | Array of command option objects (max 25). Each must have name, description, and type fields.          |
| `description`                | string  |          | —       | 1-100 character description for CHAT\_INPUT commands. Empty string or omit for USER/MESSAGE commands. |
| `dm_permission`              | boolean |          | —       | Whether the command is available in DMs (global commands only). Defaults to true.                     |
| `application_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                                      |
| `name_localizations`         | object  |          | —       | Localization dictionary mapping locale codes to localized names (1-32 chars each).                    |
| `description_localizations`  | object  |          | —       | Localization dictionary mapping locale codes to localized descriptions (1-100 chars each).            |
| `default_member_permissions` | string  |          | —       | Bitwise permission flags string a member needs. '0' disables for non-admins. Null allows everyone.    |

***

### `Discordbot Create Auto Moderation Rule`

Integration name: **DISCORDBOT\_CREATE\_AUTO\_MODERATION\_RULE**

Creates a new auto moderation rule for a Discord guild. Requires MANAGE\_GUILD permission. Use this to set up filters for profanity, spam, excessive mentions, or custom keywords.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                                                                                                       |
| ------------------ | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`             | string  |     ✅    | —       | The name of the rule (1-100 characters).                                                                                                                          |
| `actions`          | array   |     ✅    | —       | The actions to execute when the rule is triggered (max 5).                                                                                                        |
| `enabled`          | boolean |          | —       | Whether the rule is enabled. Defaults to false.                                                                                                                   |
| `guild_id`         | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the rule will be created.                                                                         |
| `event_type`       | integer |     ✅    | —       | The event type: 1=MESSAGE\_SEND, 2=MEMBER\_UPDATE.                                                                                                                |
| `exempt_roles`     | array   |          | —       | Role IDs not affected by the rule (max 20).                                                                                                                       |
| `trigger_type`     | integer |     ✅    | —       | The trigger type: 1=KEYWORD (max 6/guild), 3=SPAM (max 1/guild), 4=KEYWORD\_PRESET (max 1/guild), 5=MENTION\_SPAM (max 1/guild), 6=MEMBER\_PROFILE (max 1/guild). |
| `exempt_channels`  | array   |          | —       | Channel IDs not affected by the rule (max 50).                                                                                                                    |
| `trigger_metadata` | object  |          | —       | Additional metadata associated with the rule's trigger type.                                                                                                      |

***

### `Discordbot Create Channel Invite`

Integration name: **DISCORDBOT\_CREATE\_CHANNEL\_INVITE**

Creates a new invite link for a Discord channel. Requires CREATE\_INSTANT\_INVITE permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example | Description                                                                                                  |
| ----------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------ |
| `unique`                | boolean |          | —       | If true, do not reuse a similar invite. Useful for creating many unique one-time invites.                    |
| `max_age`               | integer |          | —       | Duration of invite in seconds before expiry, or 0 for never. Must be 0-604800. Defaults to 86400 (24 hours). |
| `max_uses`              | integer |          | —       | Maximum number of times this invite can be used, or 0 for unlimited. Defaults to 0.                          |
| `temporary`             | boolean |          | —       | Whether this invite only grants temporary membership. Defaults to false.                                     |
| `channel_id`            | string  |     ✅    | —       | The ID of the channel to create an invite for.                                                               |
| `target_type`           | integer |          | —       | The type of target for this voice channel invite. 1 for Stream, 2 for Embedded Application.                  |
| `target_user_id`        | string  |          | —       | The ID of the user whose stream to display. Required if target\_type is 1.                                   |
| `target_application_id` | string  |          | —       | The ID of the embedded application to open. Required if target\_type is 2.                                   |

***

### `Discordbot Create Dm`

Integration name: **DISCORDBOT\_CREATE\_DM**

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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                       |
| --------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------- |
| `nicks`         | object |          | —       | Custom nicknames for users in a group DM. Keys are User IDs, values are nicknames. Only used with access\_tokens. |
| `recipient_id`  | string |          | —       | The User ID (snowflake) for a 1-on-1 DM. Use this OR access\_tokens, not both.                                    |
| `access_tokens` | array  |          | —       | OAuth2 access tokens for users in a group DM (1 to 9 others). Use this OR recipient\_id, not both.                |

***

### `Discordbot Create Guild`

Integration name: **DISCORDBOT\_CREATE\_GUILD**

Creates a new Discord guild (server). The bot must be in fewer than 10 guilds to use this endpoint. Icon must be a base64 encoded 128x128 image, and if afk\_channel\_id is set, afk\_timeout must also be set.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                       | Type    | Required | Example | Description                                                                            |
| ------------------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------- |
| `icon`                          | string  |          | —       | Base64 encoded 128x128 image (JPEG, PNG, or GIF) for the guild icon.                   |
| `name`                          | string  |     ✅    | —       | The name of the guild (2-100 characters).                                              |
| `roles`                         | array   |          | —       | Array of role objects for the new guild. The first role sets @everyone permissions.    |
| `region`                        | string  |          | —       | Voice region ID (deprecated; handled automatically by Discord).                        |
| `channels`                      | array   |          | —       | Array of channel objects for the new guild.                                            |
| `afk_timeout`                   | integer |          | —       | AFK timeout in seconds (60, 300, 900, 1800, 3600).                                     |
| `description`                   | string  |          | —       | The description for the guild.                                                         |
| `afk_channel_id`                | string  |          | —       | The ID of the channel to which AFK users are moved. Must be a voice channel.           |
| `preferred_locale`              | string  |          | —       | The preferred locale for a Community guild. Defaults to en-US.                         |
| `system_channel_id`             | string  |          | —       | The ID of the channel where guild system messages are posted.                          |
| `verification_level`            | integer |          | —       | Verification level (0: None, 1: Low, 2: Medium, 3: High, 4: Highest).                  |
| `system_channel_flags`          | integer |          | —       | Bitwise value of system channel flags that control which system messages are sent.     |
| `explicit_content_filter`       | integer |          | —       | Explicit content filter level (0: Disabled, 1: Members without roles, 2: All members). |
| `default_message_notifications` | integer |          | —       | Default message notification level (0: All Messages, 1: Only @mentions).               |

***

### `Discordbot Create Guild Application Command`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_APPLICATION\_COMMAND**

Creates a new guild-specific application command. Command names must be unique per type within the guild (max 100 total commands).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                                  |
| ---------------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------- |
| `name`                       | string  |     ✅    | —       | 1-32 character command name. For CHAT\_INPUT commands, must be lowercase.                    |
| `type`                       | integer |          | —       | Command type: 1 (CHAT\_INPUT, default), 2 (USER), 3 (MESSAGE).                               |
| `options`                    | array   |          | —       | Array of command option objects (max 25).                                                    |
| `guild_id`                   | string  |     ✅    | —       | The unique identifier (snowflake ID) of the guild.                                           |
| `description`                | string  |          | —       | 1-100 character description for CHAT\_INPUT commands. Empty string or omit for USER/MESSAGE. |
| `dm_permission`              | boolean |          | —       | Whether the command is available in DMs. Only for globally-scoped commands.                  |
| `application_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                             |
| `name_localizations`         | object  |          | —       | Localization dictionary mapping locale codes to localized names.                             |
| `description_localizations`  | object  |          | —       | Localization dictionary mapping locale codes to localized descriptions.                      |
| `default_member_permissions` | string  |          | —       | Bitwise permission flags string. '0' disables for non-admins.                                |

***

### `Discordbot Create Guild Channel`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_CHANNEL**

Creates a new Discord channel (text, voice, category, etc.) within a guild. Requires MANAGE\_CHANNELS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type    | Required | Example | Description                                                                                                                               |
| ------------------------------------ | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                               | string  |     ✅    | —       | Channel name (1-100 characters).                                                                                                          |
| `nsfw`                               | boolean |          | —       | Whether the channel is age-restricted.                                                                                                    |
| `type`                               | integer |          | —       | Type of channel (0: GUILD\_TEXT, 2: GUILD\_VOICE, 4: GUILD\_CATEGORY, 5: GUILD\_ANNOUNCEMENT, 13: GUILD\_STAGE\_VOICE, 15: GUILD\_FORUM). |
| `topic`                              | string  |          | —       | Channel topic (0-1024 characters for text; 0-4096 for forum/media channels).                                                              |
| `bitrate`                            | integer |          | —       | Bitrate (in bits) for voice channels (8000-96000; up to 128000 for VIP servers).                                                          |
| `guild_id`                           | string  |     ✅    | —       | ID of the guild (server) to create the channel in.                                                                                        |
| `position`                           | integer |          | —       | Sorting position of the channel.                                                                                                          |
| `parent_id`                          | string  |          | —       | ID of the parent category for this channel.                                                                                               |
| `rtc_region`                         | string  |          | —       | Voice region ID for voice channels (auto if not set).                                                                                     |
| `user_limit`                         | integer |          | —       | Maximum users in a voice channel (0 for no limit, 1-99).                                                                                  |
| `available_tags`                     | array   |          | —       | List of tag objects for forum/media channels (max 20). Each needs a name field.                                                           |
| `default_sort_order`                 | integer |          | —       | Default sort order for forum posts: 0 for Latest Activity, 1 for Creation Date.                                                           |
| `video_quality_mode`                 | integer |          | —       | Camera video quality for voice channels: 1 for auto, 2 for 720p.                                                                          |
| `rate_limit_per_user`                | integer |          | —       | Slowmode: seconds a user must wait before sending another message (0-21600).                                                              |
| `default_forum_layout`               | integer |          | —       | Default forum layout: 0 for Not Set, 1 for List View, 2 for Gallery View.                                                                 |
| `permission_overwrites`              | array   |          | —       | Permission overwrite objects for the channel.                                                                                             |
| `default_reaction_emoji`             | object  |          | —       | Default reaction emoji for forum/media channels. Must contain emoji\_id or emoji\_name.                                                   |
| `default_auto_archive_duration`      | integer |          | —       | Default duration (minutes) for new threads to auto-archive (60, 1440, 4320, 10080).                                                       |
| `default_thread_rate_limit_per_user` | integer |          | —       | Initial rate\_limit\_per\_user for new threads in text channels.                                                                          |

***

### `Discordbot Create Guild Emoji`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_EMOJI**

Creates a new custom emoji in a specified Discord guild, requiring CREATE\_EXPRESSIONS permission and adherence to guild emoji limits.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                                                                                                                                   |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`     | string |     ✅    | —       | The name for the new emoji. Must be between 2 and 32 characters long and can only contain alphanumeric characters and underscores.                                                                            |
| `image`    | string |     ✅    | —       | The base64 encoded image data for the emoji. Must be a 128x128px GIF or PNG. The data must be URI encoded (e.g., 'data:image/png;base64,BASE64\_ENCODED\_IMAGE\_DATA'). Image size should be less than 256KB. |
| `roles`    | array  |          | —       | An array of role IDs to which this emoji will be restricted. If omitted or empty, the emoji is available to @everyone.                                                                                        |
| `guild_id` | string |     ✅    | —       | The ID of the Discord guild (server) where the emoji will be created.                                                                                                                                         |

***

### `Discordbot Create Guild From Template`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_FROM\_TEMPLATE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                       |
| --------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------- |
| `icon`          | string |          | —       | Data URI scheme (e.g., 'data:image/png;base64,...') for the guild's 128x128 icon. |
| `name`          | string |     ✅    | —       | Name for the new guild (2-100 characters).                                        |
| `template_code` | string |     ✅    | —       | The unique code of the guild template to use.                                     |

***

### `Discordbot Create Guild Role`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_ROLE**

Creates a new role in a Discord guild with customizable name, permissions, color, hoist, mentionability, and icon. Requires MANAGE\_ROLES permission. The icon and unicode\_emoji fields are mutually exclusive.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example | Description                                                                                   |
| --------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------- |
| `icon`          | string  |          | —       | Hash of a custom image for the role's icon. Mutually exclusive with unicode\_emoji.           |
| `name`          | string  |          | —       | Name for the new role. If omitted, Discord defaults to 'new role'.                            |
| `color`         | integer |          | —       | RGB color value for the role as an integer (e.g., red is 16711680). Defaults to 0 (no color). |
| `hoist`         | boolean |          | —       | If true, displays the role separately in the member list. Defaults to false.                  |
| `guild_id`      | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the role will be created.     |
| `mentionable`   | boolean |          | —       | If true, this role can be mentioned by others. Defaults to false.                             |
| `permissions`   | string  |          | —       | Bitwise integer for role permissions combined from Discord permission flags.                  |
| `unicode_emoji` | string  |          | —       | Standard Unicode emoji for the role's icon. Mutually exclusive with icon.                     |

***

### `Discordbot Create Guild Scheduled Event`

Integration name: **DISCORDBOT\_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. STAGE\_INSTANCE/VOICE require channel\_id, while EXTERNAL requires entity\_metadata with a location and scheduled\_end\_time.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter              | Type    | Required | Example | Description                                                                                                                    |
| ---------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `name`                 | string  |     ✅    | —       | The name of the scheduled event (1-100 characters).                                                                            |
| `image`                | string  |          | —       | The cover image as a base64 data URI (e.g., 'data:image/png;base64,...').                                                      |
| `guild_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the event will be created.                                     |
| `channel_id`           | string  |          | —       | The channel ID where the event will be hosted. Required for STAGE\_INSTANCE and VOICE entity types. Must be null for EXTERNAL. |
| `description`          | string  |          | —       | The description of the scheduled event (1-1000 characters).                                                                    |
| `entity_type`          | integer |     ✅    | —       | The entity type: 1=STAGE\_INSTANCE, 2=VOICE, 3=EXTERNAL.                                                                       |
| `privacy_level`        | integer |          | —       | The privacy level of the event. Use 2 for GUILD\_ONLY (only accessible to guild members).                                      |
| `entity_metadata`      | object  |          | —       | Additional metadata for the guild scheduled event.                                                                             |
| `scheduled_end_time`   | string  |          | —       | The time the event will end (ISO8601 timestamp). Required for EXTERNAL entity type.                                            |
| `scheduled_start_time` | string  |     ✅    | —       | The time the event will start (ISO8601 timestamp, e.g., '2024-12-31T20:00:00').                                                |

***

### `Discordbot Create Guild Sticker`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_STICKER**

Uploads a PNG, APNG, GIF, or Lottie JSON file (max 512KB) as a new custom sticker to the specified Discord guild; requires Manage Expressions permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                                                                                |
| ------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `file`        | object |     ✅    | —       | Sticker file to upload (PNG, APNG, GIF, or Lottie JSON, max 512KB).                                                        |
| `name`        | string |     ✅    | —       | Name of the sticker (2-30 characters).                                                                                     |
| `tags`        | string |     ✅    | —       | Autocomplete suggestion tags (comma-separated, max 200 characters) for the sticker; corresponds to the Discord emoji name. |
| `guild_id`    | string |     ✅    | —       | ID of the guild to create the sticker for.                                                                                 |
| `description` | string |          | —       | Description for the sticker (empty or 2-100 characters).                                                                   |

***

### `Discordbot Create Guild Template`

Integration name: **DISCORDBOT\_CREATE\_GUILD\_TEMPLATE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                     |
| ------------- | ------ | :------: | ------- | --------------------------------------------------------------- |
| `name`        | string |     ✅    | —       | Name for the new guild template (1-100 characters).             |
| `guild_id`    | string |     ✅    | —       | ID of the existing guild from which to create the template.     |
| `description` | string |          | —       | Optional description for the guild template (0-120 characters). |

***

### `Discordbot Create Interaction Response`

Integration name: **DISCORDBOT\_CREATE\_INTERACTION\_RESPONSE**

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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type    | Required | Example | Description                                                                                                                                                                      |
| ------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data`              | object  |          | —       | Data payload for an interaction callback response.                                                                                                                               |
| `type`              | integer |     ✅    | —       | Type of response: 1 (Pong), 4 (ChannelMessageWithSource), 5 (DeferredChannelMessageWithSource), 6 (DeferredMessageUpdate), 7 (UpdateMessage), 8 (AutocompleteResult), 9 (Modal). |
| `interaction_id`    | string  |     ✅    | —       | ID of the originating user interaction (e.g., slash command, button).                                                                                                            |
| `interaction_token` | string  |     ✅    | —       | Temporary token for responding to the interaction, valid for 15 minutes.                                                                                                         |

***

### `Discordbot Create Message`

Integration name: **DISCORDBOT\_CREATE\_MESSAGE**

Sends a message to a Discord channel. Supports text content, embeds, stickers, components, and replies. Requires SEND\_MESSAGES permission and at least one of content, embeds, sticker\_ids, or components.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type    | Required | Example | Description                                                                                                                                                                             |
| ------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tts`               | boolean |          | —       | Whether this is a text-to-speech message.                                                                                                                                               |
| `flags`             | integer |          | —       | Message flags (e.g., 4 for SUPPRESS\_EMBEDS, 64 for EPHEMERAL).                                                                                                                         |
| `embeds`            | array   |          | —       | Up to 10 embed objects. Each embed can contain title, description, url, timestamp, color, footer, image, thumbnail, video, provider, author, and fields.                                |
| `content`           | string  |          | —       | Message text content (max 2000 characters). Required if embeds, sticker\_ids, and components are all empty.                                                                             |
| `channel_id`        | string  |     ✅    | —       | ID of the channel to send the message to.                                                                                                                                               |
| `components`        | array   |          | —       | Up to 5 action rows of interactive components (buttons, select menus).                                                                                                                  |
| `sticker_ids`       | array   |          | —       | Up to 3 sticker IDs accessible to the bot.                                                                                                                                              |
| `allowed_mentions`  | object  |          | —       | Controls which mentions in content trigger notifications. Keys: parse (list of 'roles', 'users', 'everyone'), roles (list of role IDs), users (list of user IDs), replied\_user (bool). |
| `message_reference` | object  |          | —       | Reference for replying to a message. Requires message\_id. Optional: channel\_id, guild\_id, fail\_if\_not\_exists.                                                                     |

***

### `Discordbot Create Stage Instance`

Integration name: **DISCORDBOT\_CREATE\_STAGE\_INSTANCE**

Creates a new Stage instance in a Stage channel for hosting live audio events. Requires MANAGE\_CHANNELS, MUTE\_MEMBERS, and MOVE\_MEMBERS permissions. A Stage channel can only have one active instance at a time.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type    | Required | Example | Description                                                                                               |
| ------------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------- |
| `topic`                   | string  |     ✅    | —       | The topic/title of the Stage instance (1-120 characters).                                                 |
| `channel_id`              | string  |     ✅    | —       | The ID of the Stage channel (type 13) where the Stage instance will be created.                           |
| `privacy_level`           | integer |          | —       | The privacy level: 2 for GUILD\_ONLY. Defaults to 2 if not specified.                                     |
| `send_start_notification` | boolean |          | —       | Whether to send a notification to @everyone when the Stage starts. Requires MENTION\_EVERYONE permission. |

***

### `Discordbot Create Thread`

Integration name: **DISCORDBOT\_CREATE\_THREAD**

Creates a new thread in a text, announcement, forum, or media channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example | Description                                                                                              |
| ----------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------- |
| `name`                  | string  |     ✅    | —       | The name of the thread (1-100 characters).                                                               |
| `type`                  | integer |          | —       | The type of thread to create. 10 for announcement, 11 for public, 12 for private.                        |
| `message`               | object  |          | —       | The initial message to send in the thread. Required for forum and media channels.                        |
| `invitable`             | boolean |          | —       | Whether non-moderators can add other non-moderators to the thread. Only for private threads.             |
| `channel_id`            | string  |     ✅    | —       | The ID of the channel in which the new thread will be created.                                           |
| `applied_tags`          | array   |          | —       | Array of tag IDs to apply to the thread. Only for forum and media channels.                              |
| `rate_limit_per_user`   | integer |          | —       | Seconds a user must wait before sending another message (0-21600).                                       |
| `auto_archive_duration` | integer |          | —       | Duration in minutes to automatically archive the thread after inactivity. Values: 60, 1440, 4320, 10080. |

***

### `Discordbot Create Thread From Message`

Integration name: **DISCORDBOT\_CREATE\_THREAD\_FROM\_MESSAGE**

Creates a new thread from a specific message in a Discord channel, requiring CREATE\_PUBLIC\_THREADS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example | Description                                                                                                       |
| ----------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------- |
| `name`                  | string  |     ✅    | —       | The name for the new thread (1-100 characters).                                                                   |
| `channel_id`            | string  |     ✅    | —       | The ID of the channel containing the message to create a thread from.                                             |
| `message_id`            | string  |     ✅    | —       | The ID of the message to create the thread from.                                                                  |
| `rate_limit_per_user`   | integer |          | —       | Seconds a user must wait before sending another message in the thread (0-21600).                                  |
| `auto_archive_duration` | integer |          | —       | Duration in minutes to automatically archive the thread after inactivity. Accepted values: 60, 1440, 4320, 10080. |

***

### `Discordbot Create Webhook`

Integration name: **DISCORDBOT\_CREATE\_WEBHOOK**

Creates a new webhook in a specified Discord channel, requiring MANAGE\_WEBHOOKS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                              |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------------- |
| `name`       | string |     ✅    | —       | Name for the webhook (1-80 characters).                                                  |
| `avatar`     | string |          | —       | Base64-encoded image data URI for the webhook avatar (e.g. 'data:image/png;base64,...'). |
| `channel_id` | string |     ✅    | —       | The ID of the channel to create the webhook in.                                          |

***

### `Discordbot Crosspost Message`

Integration name: **DISCORDBOT\_CROSSPOST\_MESSAGE**

Crossposts a message from an announcement channel to all channels following it. The message must not have been previously crossposted and must not be a system message.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                         |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | ID of the announcement channel containing the message to crosspost. |
| `message_id` | string |     ✅    | —       | ID of the message to crosspost to all following channels.           |

***

### `Discordbot Delete All Message Reactions`

Integration name: **DISCORDBOT\_DELETE\_ALL\_MESSAGE\_REACTIONS**

Removes all reactions from a message. Requires MANAGE\_MESSAGES permission. This removes reactions from all users, not just the bot.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                     |
| ------------ | ------ | :------: | ------- | ----------------------------------------------- |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message.       |
| `message_id` | string |     ✅    | —       | ID of the message to remove all reactions from. |

***

### `Discordbot Delete All Message Reactions By Emoji`

Integration name: **DISCORDBOT\_DELETE\_ALL\_MESSAGE\_REACTIONS\_BY\_EMOJI**

Removes all reactions for a specific emoji from a message. Requires MANAGE\_MESSAGES permission. Removes reactions from all users, not just the bot.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                            |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `emoji`      | string |     ✅    | —       | Emoji to remove all reactions for. For Unicode emojis use the character directly (e.g., '👍'). For custom emojis use 'name:id' format. |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message.                                                                                              |
| `message_id` | string |     ✅    | —       | ID of the message to remove reactions from.                                                                                            |

***

### `Discordbot Delete Application Command`

Integration name: **DISCORDBOT\_DELETE\_APPLICATION\_COMMAND**

Permanently deletes a global application command. This is irreversible and the command will no longer appear in Discord clients. Global command deletions can take up to 1 hour to propagate.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                            |
| ---------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------- |
| `command_id`     | string |     ✅    | —       | The unique identifier (snowflake ID) of the command to permanently delete.             |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application that owns the command. |

***

### `Discordbot Delete Auto Moderation Rule`

Integration name: **DISCORDBOT\_DELETE\_AUTO\_MODERATION\_RULE**

Permanently deletes a specific auto moderation rule from a Discord guild. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                    |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------ |
| `rule_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the auto moderation rule to delete.    |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild containing the rule. |

***

### `Discordbot Delete Channel`

Integration name: **DISCORDBOT\_DELETE\_CHANNEL**

Permanently deletes a Discord channel by its ID. This action is irreversible. Returns the deleted channel object (not 204).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                 |
| ------------ | ------ | :------: | ------- | ----------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | The unique identifier of the Discord channel to be deleted. |

***

### `Discordbot Delete Channel Permission Overwrite`

Integration name: **DISCORDBOT\_DELETE\_CHANNEL\_PERMISSION\_OVERWRITE**

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. This action is irreversible.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                          |
| -------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------ |
| `channel_id`   | string |     ✅    | —       | ID of the Discord guild channel from which the permission overwrite will be removed. |
| `overwrite_id` | string |     ✅    | —       | ID of the user or role whose permission overwrite will be deleted from the channel.  |

***

### `Discordbot Delete Group Dm User`

Integration name: **DISCORDBOT\_DELETE\_GROUP\_DM\_USER**

Removes a recipient from a Discord group DM channel. Requires OAuth2 user access tokens with the gdm.join scope. Only the group DM owner or managing application can remove recipients.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                        |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------- |
| `user_id`    | string |     ✅    | —       | The unique identifier of the user to be removed from the group DM channel.         |
| `channel_id` | string |     ✅    | —       | The unique identifier of the group DM channel from which the user will be removed. |

***

### `Discordbot Delete Guild`

Integration name: **DISCORDBOT\_DELETE\_GUILD**

Permanently deletes a specified Discord guild (server). The authenticated user must be the owner of the guild. This action is irreversible.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                        |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------ |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server) to be deleted. |

***

### `Discordbot Delete Guild Application Command`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_APPLICATION\_COMMAND**

Permanently deletes a guild-specific application command. This is irreversible.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                |
| ---------------- | ------ | :------: | ------- | -------------------------------------------------------------------------- |
| `guild_id`       | string |     ✅    | —       | The unique identifier (snowflake ID) of the guild.                         |
| `command_id`     | string |     ✅    | —       | The unique identifier (snowflake ID) of the command to permanently delete. |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.           |

***

### `Discordbot Delete Guild Emoji`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_EMOJI**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                               |
| ---------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------- |
| `emoji_id` | string |     ✅    | —       | The unique identifier of the custom emoji to be deleted from the guild.                   |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server) from which the emoji will be deleted. |

***

### `Discordbot Delete Guild Integration`

Integration name: **DISCORDBOT\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                            |
| ---------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------- |
| `guild_id`       | string |     ✅    | —       | The unique identifier of the Discord guild from which the integration will be deleted. |
| `integration_id` | string |     ✅    | —       | The unique identifier of the integration to be deleted from the guild.                 |

***

### `Discordbot Delete Guild Member`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_MEMBER**

Removes (kicks) a member from a Discord guild. The user must be an existing member of the specified guild. Requires KICK\_MEMBERS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                      |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------ |
| `user_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the user to be removed from the guild.                   |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild from which the member will be removed. |

***

### `Discordbot Delete Guild Member Role`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_MEMBER\_ROLE**

Removes a specified role from a member of a Discord guild. Requires MANAGE\_ROLES permission and the role must be lower in hierarchy than the bot's highest role. Idempotent - succeeds even if member does not have the role.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                             |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------- |
| `role_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the role to be removed from the guild member.                   |
| `user_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the user whose role is to be removed.                           |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild from which the member's role will be removed. |

***

### `Discordbot Delete Guild Role`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_ROLE**

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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                    |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------- |
| `role_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the role to be deleted.                                |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild from which the role will be deleted. |

***

### `Discordbot Delete Guild Scheduled Event`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_SCHEDULED\_EVENT**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                     |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------- |
| `event_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the scheduled event to delete.          |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild containing the event. |

***

### `Discordbot Delete Guild Sticker`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_STICKER**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                        |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------- |
| `guild_id`   | string |     ✅    | —       | The unique identifier of the Discord guild from which the sticker will be deleted. |
| `sticker_id` | string |     ✅    | —       | The unique identifier of the sticker to be deleted.                                |

***

### `Discordbot Delete Guild Template`

Integration name: **DISCORDBOT\_DELETE\_GUILD\_TEMPLATE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                  |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------ |
| `guild_id`      | string |     ✅    | —       | The ID of the guild from which the template will be deleted. |
| `template_code` | string |     ✅    | —       | The unique code of the guild template to be deleted.         |

***

### `Discordbot Delete Message`

Integration name: **DISCORDBOT\_DELETE\_MESSAGE**

Permanently deletes a message from a Discord channel. The bot can delete its own messages or, with MANAGE\_MESSAGES permission, delete messages from other users.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                         |
| ------------ | ------ | :------: | ------- | --------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message to delete. |
| `message_id` | string |     ✅    | —       | ID of the message to delete.                        |

***

### `Discordbot Delete My Message Reaction`

Integration name: **DISCORDBOT\_DELETE\_MY\_MESSAGE\_REACTION**

Removes the bot's own emoji reaction from a message. Only removes the bot's reaction, not other users' reactions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                               |
| ------------ | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `emoji`      | string |     ✅    | —       | Emoji to remove. For Unicode emojis use the character directly (e.g., '👍'). For custom emojis use 'name:id' format (e.g., 'myemoji:123456789012345678'). |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message.                                                                                                                 |
| `message_id` | string |     ✅    | —       | ID of the message to remove the reaction from.                                                                                                            |

***

### `Discordbot Delete Original Webhook Message`

Integration name: **DISCORDBOT\_DELETE\_ORIGINAL\_WEBHOOK\_MESSAGE**

Permanently deletes the original (@original) message posted by a webhook or interaction response.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                            |
| --------------- | ------ | :------: | ------- | ---------------------------------------------------------------------- |
| `thread_id`     | string |          | —       | ID of the thread where the original message is located, if applicable. |
| `webhook_id`    | string |     ✅    | —       | The webhook or application ID.                                         |
| `webhook_token` | string |     ✅    | —       | The webhook or interaction token.                                      |

***

### `Discordbot Delete Stage Instance`

Integration name: **DISCORDBOT\_DELETE\_STAGE\_INSTANCE**

Permanently deletes the Stage instance for a given stage channel, ending the live audio event.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                      |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------ |
| `channel_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the stage channel whose Stage instance is to be deleted. |

***

### `Discordbot Delete Thread Member`

Integration name: **DISCORDBOT\_DELETE\_THREAD\_MEMBER**

Removes a user from a specified, unarchived thread. Requires MANAGE\_THREADS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                               |
| ------------ | ------ | :------: | ------- | --------------------------------------------------------- |
| `user_id`    | string |     ✅    | —       | The ID of the user to remove from the thread.             |
| `channel_id` | string |     ✅    | —       | The ID of the thread from which the user will be removed. |

***

### `Discordbot Delete User Message Reaction`

Integration name: **DISCORDBOT\_DELETE\_USER\_MESSAGE\_REACTION**

Removes a specific user's emoji reaction from a message. Requires MANAGE\_MESSAGES permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                          |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------- |
| `emoji`      | string |     ✅    | —       | Emoji to remove. For Unicode emojis use the character directly (e.g., '👍'). For custom emojis use 'name:id' format. |
| `user_id`    | string |     ✅    | —       | ID of the user whose reaction to remove.                                                                             |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message.                                                                            |
| `message_id` | string |     ✅    | —       | ID of the message to remove the reaction from.                                                                       |

***

### `Discordbot Delete Webhook`

Integration name: **DISCORDBOT\_DELETE\_WEBHOOK**

Permanently deletes a Discord webhook by its unique ID. This action is irreversible.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                     |
| ------------ | ------ | :------: | ------- | ----------------------------------------------- |
| `webhook_id` | string |     ✅    | —       | The unique identifier of the webhook to delete. |

***

### `Discordbot Delete Webhook By Token`

Integration name: **DISCORDBOT\_DELETE\_WEBHOOK\_BY\_TOKEN**

Permanently deletes a Discord webhook using its ID and token, without bot authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                     |
| --------------- | ------ | :------: | ------- | ----------------------------------------------- |
| `webhook_id`    | string |     ✅    | —       | The unique identifier of the webhook to delete. |
| `webhook_token` | string |     ✅    | —       | The secret token of the webhook.                |

***

### `Discordbot Delete Webhook Message`

Integration name: **DISCORDBOT\_DELETE\_WEBHOOK\_MESSAGE**

Deletes a message previously sent by a Discord webhook.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                        |
| --------------- | ------ | :------: | ------- | -------------------------------------------------- |
| `thread_id`     | string |          | —       | ID of the thread the message is in, if applicable. |
| `message_id`    | string |     ✅    | —       | The ID of the message to delete.                   |
| `webhook_id`    | string |     ✅    | —       | The unique ID of the webhook.                      |
| `webhook_token` | string |     ✅    | —       | The secret token for the webhook.                  |

***

### `Discordbot Execute Github Compatible Webhook`

Integration name: **DISCORDBOT\_EXECUTE\_GITHUB\_COMPATIBLE\_WEBHOOK**

Forwards GitHub event notifications to a Discord channel via a GitHub-compatible webhook endpoint.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example | Description                                                                |
| --------------- | ------- | :------: | ------- | -------------------------------------------------------------------------- |
| `ref`           | string  |          | —       | Git reference involved in the event (e.g. 'refs/heads/main').              |
| `wait`          | boolean |          | —       | If true, waits for message confirmation before responding.                 |
| `issue`         | object  |          | —       | GitHub issue object for issue-related events.                              |
| `action`        | string  |          | —       | Type of action that triggered the GitHub event (e.g. 'opened', 'created'). |
| `answer`        | object  |          | —       | Answer object for GitHub Discussions answer events.                        |
| `forced`        | boolean |          | —       | Whether the push was a force push.                                         |
| `forkee`        | object  |          | —       | New repository object created in fork events.                              |
| `member`        | object  |          | —       | GitHub member/user object for member-related events.                       |
| `review`        | object  |          | —       | GitHub pull request review object for review events.                       |
| `sender`        | object  |          | —       | GitHub user/application that triggered the event.                          |
| `comment`       | object  |          | —       | GitHub comment object for comment-related events.                          |
| `commits`       | array   |          | —       | List of commit details for push events.                                    |
| `compare`       | string  |          | —       | URL to view the comparison of changes.                                     |
| `release`       | object  |          | —       | GitHub release object for release events.                                  |
| `ref_type`      | string  |          | —       | Type of the Git reference (e.g. 'branch', 'tag').                          |
| `check_run`     | object  |          | —       | GitHub Check Run object for CI/CD events.                                  |
| `thread_id`     | string  |          | —       | ID of a target Discord thread for the message.                             |
| `discussion`    | object  |          | —       | GitHub Discussion object for discussion events.                            |
| `repository`    | object  |          | —       | GitHub repository object containing repo metadata.                         |
| `webhook_id`    | string  |     ✅    | —       | The unique identifier of the Discord webhook.                              |
| `check_suite`   | object  |          | —       | GitHub Check Suite object for grouped check runs.                          |
| `head_commit`   | object  |          | —       | Most recent commit object in push events.                                  |
| `pull_request`  | object  |          | —       | GitHub pull request object for PR-related events.                          |
| `webhook_token` | string  |     ✅    | —       | The secret token for the Discord webhook.                                  |

***

### `Discordbot Execute Slack Compatible Webhook`

Integration name: **DISCORDBOT\_EXECUTE\_SLACK\_COMPATIBLE\_WEBHOOK**

Sends messages to Discord via its Slack-compatible webhook endpoint, supporting Slack attachment formatting.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example | Description                                                                       |
| --------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------- |
| `text`          | string  |          | —       | The main message content (max 2000 characters). Supports Slack mrkdwn formatting. |
| `wait`          | boolean |          | —       | If true, waits for server confirmation before responding.                         |
| `icon_url`      | string  |          | —       | URL for the avatar icon, overriding the default webhook icon.                     |
| `username`      | string  |          | —       | Override the default webhook username (max 80 characters).                        |
| `thread_id`     | string  |          | —       | ID of a target thread within the channel to send the message to.                  |
| `webhook_id`    | string  |     ✅    | —       | The unique identifier of the Discord webhook.                                     |
| `attachments`   | array   |          | —       | Up to 10 Slack-style attachment objects for rich formatting.                      |
| `webhook_token` | string  |     ✅    | —       | The secret token for the Discord webhook.                                         |

***

### `Discordbot Execute Webhook`

Integration name: **DISCORDBOT\_EXECUTE\_WEBHOOK**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                             |
| ------------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------------- |
| `tts`              | boolean |          | —       | Send as a text-to-speech message.                                                       |
| `poll`             | object  |          | —       | A poll object to attach to the message.                                                 |
| `wait`             | boolean |          | —       | If true, waits for server confirmation and returns a message object. Defaults to true.  |
| `flags`            | integer |          | —       | Message flags bitfield (e.g. 4 for SUPPRESS\_EMBEDS, 4096 for SUPPRESS\_NOTIFICATIONS). |
| `embeds`           | array   |          | —       | Up to 10 embed objects for rich content.                                                |
| `content`          | string  |          | —       | Message text content (max 2000 characters).                                             |
| `username`         | string  |          | —       | Override the default username of the webhook (max 80 characters).                       |
| `thread_id`        | string  |          | —       | ID of a thread in the webhook's channel to send the message to.                         |
| `avatar_url`       | string  |          | —       | Override the default avatar of the webhook with a URL to an image.                      |
| `components`       | array   |          | —       | Message components (buttons, select menus), up to 5 action rows.                        |
| `webhook_id`       | string  |     ✅    | —       | The unique ID of the Discord webhook.                                                   |
| `thread_name`      | string  |          | —       | Name of a thread to create when executing on a forum channel (max 100 characters).      |
| `applied_tags`     | array   |          | —       | Array of tag IDs to apply to a forum thread (only works with thread\_name).             |
| `webhook_token`    | string  |     ✅    | —       | The secret token for the Discord webhook.                                               |
| `allowed_mentions` | object  |          | —       | Controls which mentions in content actually ping recipients.                            |

***

### `Discordbot Follow Channel`

Integration name: **DISCORDBOT\_FOLLOW\_CHANNEL**

Follows an Announcement Channel to relay its messages to a target channel via webhook. The bot must have MANAGE\_WEBHOOKS permission in the target channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example | Description                                                                                                                              |
| -------------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `channel_id`         | string |     ✅    | —       | The ID of the Announcement Channel (type 5) to follow. This is the source channel whose messages will be relayed.                        |
| `webhook_channel_id` | string |     ✅    | —       | The ID of the target channel where messages from the followed Announcement Channel will be posted. Requires MANAGE\_WEBHOOKS permission. |

***

### `Discordbot Get Active Guild Threads`

Integration name: **DISCORDBOT\_GET\_ACTIVE\_GUILD\_THREADS**

Retrieves all active (non-archived) threads in a Discord guild that the bot can access.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                          |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The ID of the guild to retrieve active threads from. |

***

### `Discordbot Get Application`

Integration name: **DISCORDBOT\_GET\_APPLICATION**

Retrieves the full details of a Discord application by its application\_id.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                  |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------- |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application to retrieve. |

***

### `Discordbot Get Application Command`

Integration name: **DISCORDBOT\_GET\_APPLICATION\_COMMAND**

Retrieves a specific global application command by its application ID and command ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                      |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `command_id`     | string |     ✅    | —       | The unique identifier (snowflake ID) of the command to retrieve. |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application. |

***

### `Discordbot Get Application Role Connections Metadata`

Integration name: **DISCORDBOT\_GET\_APPLICATION\_ROLE\_CONNECTIONS\_METADATA**

Retrieves all role connection metadata records for a Discord application. Returns an empty list if none are configured.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                      |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application. |

***

### `Discordbot Get Application User Role Connection`

Integration name: **DISCORDBOT\_GET\_APPLICATION\_USER\_ROLE\_CONNECTION**

Fetches the role connection object for the current user for a specified Discord application. Requires OAuth2 with the role\_connections.write scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                                                   |
| ---------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------- |
| `application_id` | string |     ✅    | —       | The unique ID of the Discord application for which the user's role connection information is being requested. |

***

### `Discordbot Get Auto Moderation Rule`

Integration name: **DISCORDBOT\_GET\_AUTO\_MODERATION\_RULE**

Retrieves the complete configuration of a specific auto moderation rule within a Discord guild.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                   |
| ---------- | ------ | :------: | ------- | ----------------------------------------------------------------------------- |
| `rule_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the auto moderation rule to retrieve. |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild.                    |

***

### `Discordbot Get Bot Gateway`

Integration name: **DISCORDBOT\_GET\_BOT\_GATEWAY**

Retrieves the WSS URL, recommended shard count, and session start limits for connecting a bot to the Discord Gateway.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Get Channel`

Integration name: **DISCORDBOT\_GET\_CHANNEL**

Retrieves detailed metadata for a specific Discord channel by its channel\_id. Returns only channel metadata, not message content or member lists.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                |
| ------------ | ------ | :------: | ------- | ------------------------------------------ |
| `channel_id` | string |     ✅    | —       | The ID of the Discord channel to retrieve. |

***

### `Discordbot Get Gateway`

Integration name: **DISCORDBOT\_GET\_GATEWAY**

Retrieves the WebSocket URL to connect to Discord's Gateway for receiving real-time events. This is a public endpoint that does not require authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Get Guild`

Integration name: **DISCORDBOT\_GET\_GUILD**

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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                                     |
| ------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------- |
| `guild_id`    | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) to retrieve. |
| `with_counts` | boolean |          | —       | When true, includes approximate member and presence counts for the guild.       |

***

### `Discordbot Get Guild Application Command`

Integration name: **DISCORDBOT\_GET\_GUILD\_APPLICATION\_COMMAND**

Retrieves detailed information for a specific application command within a Discord guild.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                      |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `guild_id`       | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild.       |
| `command_id`     | string |     ✅    | —       | The unique identifier (snowflake ID) of the command to retrieve. |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application. |

***

### `Discordbot Get Guild Application Command Permissions`

Integration name: **DISCORDBOT\_GET\_GUILD\_APPLICATION\_COMMAND\_PERMISSIONS**

Retrieves the permissions for a specific application command within a guild.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                      |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `guild_id`       | string |     ✅    | —       | The unique identifier (snowflake ID) of the guild.               |
| `command_id`     | string |     ✅    | —       | The unique identifier (snowflake ID) of the command.             |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application. |

***

### `Discordbot Get Guild Ban`

Integration name: **DISCORDBOT\_GET\_GUILD\_BAN**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                     |
| ---------- | ------ | :------: | ------- | ----------------------------------------------- |
| `user_id`  | string |     ✅    | —       | The ID of the user to retrieve ban details for. |
| `guild_id` | string |     ✅    | —       | The ID of the guild.                            |

***

### `Discordbot Get Guild Emoji`

Integration name: **DISCORDBOT\_GET\_GUILD\_EMOJI**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                       |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------- |
| `emoji_id` | string |     ✅    | —       | The unique identifier of the custom emoji to retrieve.                                            |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) from which to fetch the emoji. |

***

### `Discordbot Get Guild Member`

Integration name: **DISCORDBOT\_GET\_GUILD\_MEMBER**

Retrieves detailed information for a specific member of a Discord guild, provided the bot belongs to the guild and has necessary permissions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                                 |
| ---------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------- |
| `user_id`  | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord user whose guild member information is to be retrieved. |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) from which to fetch the member.          |

***

### `Discordbot Get Guild Preview`

Integration name: **DISCORDBOT\_GET\_GUILD\_PREVIEW**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                     |
| ---------- | ------ | :------: | ------- | --------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server) to preview. |

***

### `Discordbot Get Guild Scheduled Event`

Integration name: **DISCORDBOT\_GET\_GUILD\_SCHEDULED\_EVENT**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example | Description                                                                     |
| ----------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------- |
| `event_id`        | string  |     ✅    | —       | The unique identifier (snowflake ID) of the scheduled event to retrieve.        |
| `guild_id`        | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild containing the event. |
| `with_user_count` | boolean |          | —       | When true, includes the count of users subscribed to the event in the response. |

***

### `Discordbot Get Guilds Onboarding`

Integration name: **DISCORDBOT\_GET\_GUILDS\_ONBOARDING**

Retrieves the onboarding settings for a specified Discord guild, including prompts, options, default channels, and enabled status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                              |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild for which to retrieve onboarding information. |

***

### `Discordbot Get Guild Sticker`

Integration name: **DISCORDBOT\_GET\_GUILD\_STICKER**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                        |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------- |
| `guild_id`   | string |     ✅    | —       | The snowflake ID of the Discord guild (server) from which to retrieve the sticker. |
| `sticker_id` | string |     ✅    | —       | The snowflake ID of the sticker to retrieve.                                       |

***

### `Discordbot Get Guild Template`

Integration name: **DISCORDBOT\_GET\_GUILD\_TEMPLATE**

Retrieves the complete structure and details of a Discord guild template using its unique code.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                            |
| --------------- | ------ | :------: | ------- | -------------------------------------- |
| `template_code` | string |     ✅    | —       | The unique code of the guild template. |

***

### `Discordbot Get Guild Vanity Url`

Integration name: **DISCORDBOT\_GET\_GUILD\_VANITY\_URL**

Retrieves the vanity URL invite code and usage count for a Discord guild. Requires MANAGE\_GUILD permission and the VANITY\_URL feature.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                      |
| ---------- | ------ | :------: | ------- | -------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild for which to retrieve the vanity URL. |

***

### `Discordbot Get Guild Webhooks`

Integration name: **DISCORDBOT\_GET\_GUILD\_WEBHOOKS**

Retrieves all webhooks for a specified Discord guild, requiring MANAGE\_WEBHOOKS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                               |
| ---------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild for which to retrieve webhooks. |

***

### `Discordbot Get Guild Welcome Screen`

Integration name: **DISCORDBOT\_GET\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                      |
| ---------- | ------ | :------: | ------- | -------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique snowflake ID of the Discord guild to retrieve the welcome screen for. |

***

### `Discordbot Get Guild Widget`

Integration name: **DISCORDBOT\_GET\_GUILD\_WIDGET**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                      |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------ |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild for which to retrieve the widget JSON. |

***

### `Discordbot Get Guild Widget Png`

Integration name: **DISCORDBOT\_GET\_GUILD\_WIDGET\_PNG**

Tool to retrieve a PNG image widget for a Discord guild. Use when you need a visual representation of the guild widget that can be displayed on external websites. The widget must be enabled in the guild's server settings.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example               | Description                                                                                                                                                                    |
| ---------- | ------ | :------: | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `style`    | string |          | —                     | Customizes the visual appearance of the widget image. Options: 'shield' (compact badge-style), 'banner1', 'banner2', 'banner3', 'banner4' (various horizontal banner formats). |
| `guild_id` | string |     ✅    | `"81384788765712384"` | The unique identifier of the guild (snowflake ID).                                                                                                                             |

***

### `Discordbot Get Guild Widget Settings`

Integration name: **DISCORDBOT\_GET\_GUILD\_WIDGET\_SETTINGS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                      |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------ |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild for which to retrieve widget settings. |

***

### `Discordbot Get Message`

Integration name: **DISCORDBOT\_GET\_MESSAGE**

Retrieves a specific message from a Discord channel by channel and message ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                           |
| ------------ | ------ | :------: | ------- | ----------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | The ID of the Discord channel containing the message. |
| `message_id` | string |     ✅    | —       | The ID of the message to retrieve.                    |

***

### `Discordbot Get My Application`

Integration name: **DISCORDBOT\_GET\_MY\_APPLICATION**

Retrieves detailed information about the current authenticated Discord application via /applications/@me.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Get My Oauth2 Application`

Integration name: **DISCORDBOT\_GET\_MY\_OAUTH2\_APPLICATION**

Retrieves detailed information about the OAuth2 application associated with the current authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Get Original Webhook Message`

Integration name: **DISCORDBOT\_GET\_ORIGINAL\_WEBHOOK\_MESSAGE**

Retrieves the original (@original) message from a Discord webhook or interaction response.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                 |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------- |
| `thread_id`     | string |          | —       | ID of the thread where the original message was posted, if applicable.                      |
| `webhook_id`    | string |     ✅    | —       | The webhook or application ID. For interaction responses, this is the bot's application ID. |
| `webhook_token` | string |     ✅    | —       | The webhook or interaction token. For interactions, valid for 15 minutes.                   |

***

### `Discordbot Get Public Keys`

Integration name: **DISCORDBOT\_GET\_PUBLIC\_KEYS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Get Stage Instance`

Integration name: **DISCORDBOT\_GET\_STAGE\_INSTANCE**

Retrieves the active Stage instance for a specified stage channel. Returns 404 if no active Stage instance exists.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                               |
| ------------ | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the stage channel whose active Stage instance is to be retrieved. |

***

### `Discordbot Get Sticker`

Integration name: **DISCORDBOT\_GET\_STICKER**

Retrieves a specific Discord sticker by its unique ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                      |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `sticker_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the sticker to retrieve. |

***

### `Discordbot Get Thread Member`

Integration name: **DISCORDBOT\_GET\_THREAD\_MEMBER**

Retrieves a member from a specified thread using their user ID, optionally including guild member details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                           |
| ------------- | ------- | :------: | ------- | --------------------------------------------------------------------- |
| `user_id`     | string  |     ✅    | —       | The ID of the user whose membership in the thread is being retrieved. |
| `channel_id`  | string  |     ✅    | —       | The ID of the thread.                                                 |
| `with_member` | boolean |          | —       | If true, includes the full guild member object in the response.       |

***

### `Discordbot Get User`

Integration name: **DISCORDBOT\_GET\_USER**

Fetches public information for a Discord user by their user ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                           |
| --------- | ------ | :------: | ------- | --------------------------------------------------------------------- |
| `user_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord user to retrieve. |

***

### `Discordbot Get Webhook`

Integration name: **DISCORDBOT\_GET\_WEBHOOK**

Retrieves detailed information for a Discord webhook by its unique ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                               |
| ------------ | ------ | :------: | ------- | --------------------------------------------------------- |
| `webhook_id` | string |     ✅    | —       | The unique identifier of the Discord webhook to retrieve. |

***

### `Discordbot Get Webhook By Token`

Integration name: **DISCORDBOT\_GET\_WEBHOOK\_BY\_TOKEN**

Retrieves a Discord webhook's configuration using its ID and token, without requiring bot authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                   |
| --------------- | ------ | :------: | ------- | --------------------------------------------- |
| `webhook_id`    | string |     ✅    | —       | The unique identifier of the Discord webhook. |
| `webhook_token` | string |     ✅    | —       | The secret token for the Discord webhook.     |

***

### `Discordbot Get Webhook Message`

Integration name: **DISCORDBOT\_GET\_WEBHOOK\_MESSAGE**

Retrieves a specific message previously sent by a Discord webhook.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                         |
| --------------- | ------ | :------: | ------- | --------------------------------------------------- |
| `thread_id`     | string |          | —       | ID of the thread if the message is part of one.     |
| `message_id`    | string |     ✅    | —       | The unique ID of the message to retrieve.           |
| `webhook_id`    | string |     ✅    | —       | The unique ID of the webhook that sent the message. |
| `webhook_token` | string |     ✅    | —       | The secret token for the webhook.                   |

***

### `Discordbot Invite Resolve`

Integration name: **DISCORDBOT\_INVITE\_RESOLVE**

Resolves a Discord invite code to get its details, optionally including member counts and expiration.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example | Description                                                          |
| ----------------- | ------- | :------: | ------- | -------------------------------------------------------------------- |
| `invite_code`     | string  |     ✅    | —       | The unique invite code (e.g. 'nYUs4yAE' from 'discord.gg/nYUs4yAE'). |
| `with_counts`     | boolean |          | —       | If true, include approximate member and presence counts.             |
| `with_expiration` | boolean |          | —       | If true, include the expiration date of the invite.                  |

***

### `Discordbot Invite Revoke`

Integration name: **DISCORDBOT\_INVITE\_REVOKE**

Revokes a Discord invite using its code, permanently preventing new joins via this link.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                      |
| ------------- | ------ | :------: | ------- | ------------------------------------------------ |
| `invite_code` | string |     ✅    | —       | The unique code of the Discord invite to revoke. |

***

### `Discordbot Join Thread`

Integration name: **DISCORDBOT\_JOIN\_THREAD**

Joins the authenticated user to a thread specified by channel\_id.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                   |
| ------------ | ------ | :------: | ------- | ----------------------------- |
| `channel_id` | string |     ✅    | —       | The ID of the thread to join. |

***

### `Discordbot Leave Guild`

Integration name: **DISCORDBOT\_LEAVE\_GUILD**

Enables the bot to leave a specified Discord guild (server). This action is irreversible and the bot must be re-invited to rejoin.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                  |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server) the bot wishes to leave. |

***

### `Discordbot Leave Thread`

Integration name: **DISCORDBOT\_LEAVE\_THREAD**

Removes the currently authenticated user from a specified thread.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                    |
| ------------ | ------ | :------: | ------- | ------------------------------ |
| `channel_id` | string |     ✅    | —       | The ID of the thread to leave. |

***

### `Discordbot List Application Commands`

Integration name: **DISCORDBOT\_LIST\_APPLICATION\_COMMANDS**

Fetches all global application commands for the specified Discord application. Does not include guild-specific commands.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type    | Required | Example | Description                                                                        |
| -------------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------- |
| `application_id`     | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                   |
| `with_localizations` | boolean |          | —       | Whether to include full localization dictionaries in the returned command objects. |

***

### `Discordbot List Auto Moderation Rules`

Integration name: **DISCORDBOT\_LIST\_AUTO\_MODERATION\_RULES**

Retrieves all auto moderation rules for a specified Discord guild. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                    |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild whose auto moderation rules to list. |

***

### `Discordbot List Channel Invites`

Integration name: **DISCORDBOT\_LIST\_CHANNEL\_INVITES**

Fetches all active invites for a given Discord channel. Requires MANAGE\_CHANNELS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                          |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------ |
| `channel_id` | string |     ✅    | —       | The ID of the channel to retrieve invites for. Requires MANAGE\_CHANNELS permission. |

***

### `Discordbot List Channel Webhooks`

Integration name: **DISCORDBOT\_LIST\_CHANNEL\_WEBHOOKS**

Retrieves all webhooks configured in a given Discord channel. Requires the MANAGE\_WEBHOOKS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                        |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------ |
| `channel_id` | string |     ✅    | —       | The unique identifier of the Discord channel to list webhooks for. |

***

### `Discordbot List Guild Application Command Permissions`

Integration name: **DISCORDBOT\_LIST\_GUILD\_APPLICATION\_COMMAND\_PERMISSIONS**

Retrieves all guild-level permission settings for all commands of a specific application within a guild.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                      |
| ---------------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `guild_id`       | string |     ✅    | —       | The unique identifier (snowflake ID) of the guild.               |
| `application_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application. |

***

### `Discordbot List Guild Application Commands`

Integration name: **DISCORDBOT\_LIST\_GUILD\_APPLICATION\_COMMANDS**

Fetches all application commands registered for a specific guild. Does not include global commands.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type    | Required | Example | Description                                                                        |
| -------------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------- |
| `guild_id`           | string  |     ✅    | —       | The unique identifier (snowflake ID) of the guild to list commands for.            |
| `application_id`     | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                   |
| `with_localizations` | boolean |          | —       | Whether to include full localization dictionaries in the returned command objects. |

***

### `Discordbot List Guild Audit Log Entries`

Integration name: **DISCORDBOT\_LIST\_GUILD\_AUDIT\_LOG\_ENTRIES**

Retrieves audit log entries for a specified Discord guild, requiring VIEW\_AUDIT\_LOG permission. Supports filtering by user, action type, and pagination.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                            |
| ------------- | ------- | :------: | ------- | ---------------------------------------------------------------------- |
| `after`       | string  |          | —       | Retrieve audit log entries after this entry ID for pagination.         |
| `limit`       | integer |          | —       | Maximum number of audit log entries to return (1-100). Defaults to 50. |
| `before`      | string  |          | —       | Retrieve audit log entries before this entry ID for pagination.        |
| `user_id`     | string  |          | —       | Filter logs by the ID of the user who performed the action.            |
| `guild_id`    | string  |     ✅    | —       | ID of the Discord guild for which to retrieve audit logs.              |
| `action_type` | integer |          | —       | Filter logs by a specific audit log event type.                        |

***

### `Discordbot List Guild Bans`

Integration name: **DISCORDBOT\_LIST\_GUILD\_BANS**

Fetches a list of users banned from a specified Discord guild. Requires BAN\_MEMBERS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example | Description                                                                 |
| ---------- | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `after`    | string  |          | —       | Fetch bans for users with IDs after this user ID. For forward pagination.   |
| `limit`    | integer |          | —       | Maximum number of bans to return (1-1000).                                  |
| `before`   | string  |          | —       | Fetch bans for users with IDs before this user ID. For backward pagination. |
| `guild_id` | string  |     ✅    | —       | The ID of the guild to retrieve bans from.                                  |

***

### `Discordbot List Guild Channels`

Integration name: **DISCORDBOT\_LIST\_GUILD\_CHANNELS**

Fetches all channels (text, voice, category, etc.) for a specified Discord guild. Does not include threads or message content.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                      |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | Identifier of the Discord guild (server) whose channels to list. |

***

### `Discordbot List Guild Emojis`

Integration name: **DISCORDBOT\_LIST\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                  |
| ---------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) for which to list emojis. |

***

### `Discordbot List Guild Integrations`

Integration name: **DISCORDBOT\_LIST\_GUILD\_INTEGRATIONS**

Lists all integration objects for a specified Discord guild. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                |
| ---------- | ------ | :------: | ------- | -------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild for which to list integrations. |

***

### `Discordbot List Guild Invites`

Integration name: **DISCORDBOT\_LIST\_GUILD\_INVITES**

Retrieves all currently active invite codes for a specified Discord guild.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                          |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The ID of the guild to retrieve active invites from. |

***

### `Discordbot List Guild Members`

Integration name: **DISCORDBOT\_LIST\_GUILD\_MEMBERS**

Retrieves a list of members for a Discord guild. Requires GUILD\_MEMBERS intent. Supports pagination via limit and after parameters.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example | Description                                                                                  |
| ---------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------- |
| `after`    | string  |          | —       | User ID for pagination offset; fetches members with IDs greater than this value.             |
| `limit`    | integer |          | —       | Max number of members to return (1-1000). Defaults to 1 if not specified.                    |
| `guild_id` | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) to retrieve members from. |

***

### `Discordbot List Guild Roles`

Integration name: **DISCORDBOT\_LIST\_GUILD\_ROLES**

Fetches all roles in a Discord guild, providing details for each role including permissions, color, position, and other attributes.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------ |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) to retrieve roles from. |

***

### `Discordbot List Guild Scheduled Events`

Integration name: **DISCORDBOT\_LIST\_GUILD\_SCHEDULED\_EVENTS**

Retrieves a list of scheduled events for a specified Discord guild, optionally including subscribed user counts.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example | Description                                                                               |
| ----------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------- |
| `guild_id`        | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild whose scheduled events to list. |
| `with_user_count` | boolean |          | —       | When true, includes the count of users subscribed to each scheduled event.                |

***

### `Discordbot List Guild Scheduled Event Users`

Integration name: **DISCORDBOT\_LIST\_GUILD\_SCHEDULED\_EVENT\_USERS**

Fetches users who have expressed interest in a specific scheduled event within a Discord guild. Supports pagination and optional guild member data.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                                  |
| ------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------- |
| `after`       | string  |          | —       | Return users after this user ID for pagination.                              |
| `limit`       | integer |          | —       | Maximum number of users to return (1-100). Defaults to 100 if not specified. |
| `before`      | string  |          | —       | Return users before this user ID for pagination.                             |
| `event_id`    | string  |     ✅    | —       | The unique identifier (snowflake ID) of the scheduled event.                 |
| `guild_id`    | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild.                   |
| `with_member` | boolean |          | —       | When true, includes the guild member object for each user in the response.   |

***

### `Discordbot List Guild Stickers`

Integration name: **DISCORDBOT\_LIST\_GUILD\_STICKERS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                    |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) for which to list stickers. |

***

### `Discordbot List Guild Templates`

Integration name: **DISCORDBOT\_LIST\_GUILD\_TEMPLATES**

Retrieves all guild templates for an existing Discord guild, specified by its ID. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                 |
| ---------- | ------ | :------: | ------- | --------------------------------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild for which to retrieve templates. |

***

### `Discordbot List Guild Voice Regions`

Integration name: **DISCORDBOT\_LIST\_GUILD\_VOICE\_REGIONS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                          |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------- |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server). |

***

### `Discordbot List Message Reactions By Emoji`

Integration name: **DISCORDBOT\_LIST\_MESSAGE\_REACTIONS\_BY\_EMOJI**

Lists users who reacted to a message with a specific emoji. Supports pagination.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                     |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `after`      | string  |          | —       | Get users after this user ID, for pagination.                                                                                   |
| `emoji`      | string  |     ✅    | —       | Emoji to get reactions for. For Unicode emojis use the character directly (e.g., '👍'). For custom emojis use 'name:id' format. |
| `limit`      | integer |          | —       | Max number of users to return (1-100, defaults to 25).                                                                          |
| `channel_id` | string  |     ✅    | —       | ID of the channel containing the message.                                                                                       |
| `message_id` | string  |     ✅    | —       | ID of the message to retrieve reactions from.                                                                                   |

***

### `Discordbot List Messages`

Integration name: **DISCORDBOT\_LIST\_MESSAGES**

Retrieves messages from a Discord channel, ordered newest first. Supports pagination via before/after/around parameters.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                  |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------ |
| `after`      | string  |          | —       | Get messages after this message ID for forward pagination.   |
| `limit`      | integer |          | —       | Max number of messages to return (1-100, defaults to 50).    |
| `around`     | string  |          | —       | Get messages around this message ID.                         |
| `before`     | string  |          | —       | Get messages before this message ID for backward pagination. |
| `channel_id` | string  |     ✅    | —       | ID of the Discord channel to fetch messages from.            |

***

### `Discordbot List My Private Archived Threads`

Integration name: **DISCORDBOT\_LIST\_MY\_PRIVATE\_ARCHIVED\_THREADS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                 |
| ------------ | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `limit`      | integer |          | —       | Maximum number of threads to return (1-100).                                |
| `before`     | string  |          | —       | ISO8601 timestamp or thread ID. Returns threads archived before this value. |
| `channel_id` | string  |     ✅    | —       | The ID of the channel to retrieve private archived threads from.            |

***

### `Discordbot List Pinned Messages`

Integration name: **DISCORDBOT\_LIST\_PINNED\_MESSAGES**

Retrieves all pinned messages from a Discord channel. Returns up to 50 pinned messages.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                 |
| ------------ | ------ | :------: | ------- | ----------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | ID of the Discord channel to retrieve pinned messages from. |

***

### `Discordbot List Private Archived Threads`

Integration name: **DISCORDBOT\_LIST\_PRIVATE\_ARCHIVED\_THREADS**

Lists private archived threads in a Discord channel, sorted by most recent archival. Requires view access.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                 |
| ------------ | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `limit`      | integer |          | —       | Maximum number of threads to return (1-100).                                |
| `before`     | string  |          | —       | ISO8601 timestamp or thread ID. Returns threads archived before this value. |
| `channel_id` | string  |     ✅    | —       | The ID of the channel to retrieve private archived threads from.            |

***

### `Discordbot List Public Archived Threads`

Integration name: **DISCORDBOT\_LIST\_PUBLIC\_ARCHIVED\_THREADS**

Lists public archived threads in a Discord channel, sorted by most recent archival.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                 |
| ------------ | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `limit`      | integer |          | —       | Maximum number of threads to return (1-100).                                |
| `before`     | string  |          | —       | ISO8601 timestamp or thread ID. Returns threads archived before this value. |
| `channel_id` | string  |     ✅    | —       | The ID of the channel to retrieve public archived threads from.             |

***

### `Discordbot List Sticker Packs`

Integration name: **DISCORDBOT\_LIST\_STICKER\_PACKS**

Fetches all available Nitro sticker packs from Discord, excluding custom or guild-specific sticker packs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot List Thread Members`

Integration name: **DISCORDBOT\_LIST\_THREAD\_MEMBERS**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example | Description                                                            |
| ------------- | ------- | :------: | ------- | ---------------------------------------------------------------------- |
| `after`       | string  |          | —       | User ID to paginate from, returning members after this ID.             |
| `limit`       | integer |          | —       | Maximum number of thread members to return (1-100).                    |
| `channel_id`  | string  |     ✅    | —       | The ID of the thread to retrieve members from.                         |
| `with_member` | boolean |          | —       | If true, includes the full guild member object for each thread member. |

***

### `Discordbot List Voice Regions`

Integration name: **DISCORDBOT\_LIST\_VOICE\_REGIONS**

Lists all available Discord voice regions that can be used when setting a voice or stage channel's region.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Pin Message`

Integration name: **DISCORDBOT\_PIN\_MESSAGE**

Pins a message in a Discord channel. Requires MANAGE\_MESSAGES permission. A channel can have at most 50 pinned messages.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                         |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the message to pin.                    |
| `message_id` | string |     ✅    | —       | ID of the message to pin. Channel cannot exceed 50 pinned messages. |

***

### `Discordbot Preview Prune Guild`

Integration name: **DISCORDBOT\_PREVIEW\_PRUNE\_GUILD**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example | Description                                                                                               |
| --------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------- |
| `days`          | integer |          | —       | Number of days of inactivity (1-30). Defaults to 7 if not specified.                                      |
| `guild_id`      | string  |     ✅    | —       | The unique identifier of the Discord guild for which to preview the prune operation.                      |
| `include_roles` | array   |          | —       | List of role IDs to include when calculating prune count. By default, members with roles are not counted. |

***

### `Discordbot Prune Guild`

Integration name: **DISCORDBOT\_PRUNE\_GUILD**

Removes inactive members from a Discord guild. Requires KICK\_MEMBERS permission. Set compute\_prune\_count=false for large guilds to avoid timeouts.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example | Description                                                                                                           |
| --------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `days`                | integer |          | —       | Number of days a member must be inactive (1-30, default 7) to be eligible for pruning.                                |
| `guild_id`            | string  |     ✅    | —       | ID of the Discord guild for member pruning.                                                                           |
| `include_roles`       | array   |          | —       | List of role IDs. Members with a subset of these roles who are inactive will be pruned.                               |
| `compute_prune_count` | boolean |          | —       | If true (default), returns the actual count of pruned members. If false, returns null (recommended for large guilds). |

***

### `Discordbot Put Guilds Onboarding`

Integration name: **DISCORDBOT\_PUT\_GUILDS\_ONBOARDING**

Configures or updates a Discord guild's new member onboarding flow, including prompts, options, default channels, and enabled status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example | Description                                                                    |
| --------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------ |
| `mode`                | integer |          | —       | Onboarding mode (0 = ONBOARDING\_DEFAULT, 1 = ONBOARDING\_ADVANCED).           |
| `enabled`             | boolean |          | —       | If true, the guild's onboarding flow is active.                                |
| `prompts`             | array   |          | —       | Up to 5 onboarding prompts for the guild.                                      |
| `guild_id`            | string  |     ✅    | —       | Guild's unique ID (snowflake) for which onboarding settings are being updated. |
| `default_channel_ids` | array   |          | —       | Up to 7 channel IDs new members join post-onboarding.                          |

***

### `Discordbot Search Guild Members`

Integration name: **DISCORDBOT\_SEARCH\_GUILD\_MEMBERS**

Searches for members in a specific Discord guild by matching a query string against usernames and nicknames. Returns matching guild member objects.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example | Description                                                                                                            |
| ---------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `limit`    | integer |          | —       | Maximum number of members to return (1-1000). Defaults to 1 if not specified.                                          |
| `query`    | string  |     ✅    | —       | The query string to match against usernames or nicknames. The search is prefix-based (e.g., 'adm' will match 'admin'). |
| `guild_id` | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild (server) to search within.                                   |

***

### `Discordbot Set Channel Permission Overwrite`

Integration name: **DISCORDBOT\_SET\_CHANNEL\_PERMISSION\_OVERWRITE**

Updates or creates a permission overwrite for a role (type 0) or member (type 1) within a Discord channel using allow and deny bitwise values. Requires MANAGE\_ROLES permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example | Description                                                                                   |
| -------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------- |
| `deny`         | string  |          | —       | Bitwise value of Discord permission flags to deny as a string. '0' means no explicit denials. |
| `type`         | integer |     ✅    | —       | Type of entity overwrite\_id refers to: 0 for a role or 1 for a member (user).                |
| `allow`        | string  |          | —       | Bitwise value of Discord permission flags to grant as a string. '0' means no new permissions. |
| `channel_id`   | string  |     ✅    | —       | The unique identifier of the Discord channel where the permission overwrite will be applied.  |
| `overwrite_id` | string  |     ✅    | —       | The unique identifier of the role or member (user) to whom the permission overwrite applies.  |

***

### `Discordbot Sync Guild Template`

Integration name: **DISCORDBOT\_SYNC\_GUILD\_TEMPLATE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                    |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------ |
| `guild_id`      | string |     ✅    | —       | The unique identifier of the Discord guild that is the source of the template. |
| `template_code` | string |     ✅    | —       | The unique code of the guild template to be synchronized.                      |

***

### `Discordbot Test Auth`

Integration name: **DISCORDBOT\_TEST\_AUTH**

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).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Discordbot Trigger Typing Indicator`

Integration name: **DISCORDBOT\_TRIGGER\_TYPING\_INDICATOR**

Shows the bot is typing in a Discord channel. The indicator stops after 10 seconds or upon message send. Use when actively preparing a response.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                  |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------- |
| `channel_id` | string |     ✅    | —       | The unique identifier of the Discord channel where the typing indicator should be displayed. |

***

### `Discordbot Unban User From Guild`

Integration name: **DISCORDBOT\_UNBAN\_USER\_FROM\_GUILD**

Revokes a ban for a user from a Discord guild, allowing them to rejoin. Requires BAN\_MEMBERS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                 |
| ---------- | ------ | :------: | ------- | ------------------------------------------- |
| `user_id`  | string |     ✅    | —       | The ID of the user to unban.                |
| `guild_id` | string |     ✅    | —       | The ID of the guild to remove the ban from. |

***

### `Discordbot Unpin Message`

Integration name: **DISCORDBOT\_UNPIN\_MESSAGE**

Unpins a message from a Discord channel. The message is not deleted, only removed from the pinned list. Requires MANAGE\_MESSAGES permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                      |
| ------------ | ------ | :------: | ------- | ------------------------------------------------ |
| `channel_id` | string |     ✅    | —       | ID of the channel containing the pinned message. |
| `message_id` | string |     ✅    | —       | ID of the message to unpin.                      |

***

### `Discordbot Update Application`

Integration name: **DISCORDBOT\_UPDATE\_APPLICATION**

Updates a Discord application's settings using its application\_id.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                           | Type    | Required | Example | Description                                                                |
| ----------------------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------- |
| `icon`                              | string  |          | —       | Base64 encoded application icon (PNG, JPEG, or GIF).                       |
| `tags`                              | array   |          | —       | Up to 5 tags describing the application (max 20 chars each).               |
| `flags`                             | integer |          | —       | Bitwise application flags value.                                           |
| `cover_image`                       | string  |          | —       | Base64 encoded cover image (PNG, JPEG, or GIF).                            |
| `description`                       | string  |          | —       | New description for the application.                                       |
| `application_id`                    | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application to update. |
| `max_participants`                  | integer |          | —       | Max participants for an embedded activity.                                 |
| `custom_install_url`                | string  |          | —       | Custom URL for post-authorization redirection.                             |
| `interactions_endpoint_url`         | string  |          | —       | HTTPS URL for Discord to send interaction events.                          |
| `role_connections_verification_url` | string  |          | —       | URL for role connection verification.                                      |

***

### `Discordbot Update Application Command`

Integration name: **DISCORDBOT\_UPDATE\_APPLICATION\_COMMAND**

Updates properties of a global application command. Omitted properties remain unchanged. The options field, if provided, overwrites all existing options.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                                 |
| ---------------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------- |
| `name`                       | string  |          | —       | New name for the command (1-32 characters).                                                 |
| `options`                    | array   |          | —       | New list of command option objects. If provided, all existing options are overwritten.      |
| `command_id`                 | string  |     ✅    | —       | The unique identifier (snowflake ID) of the command to update.                              |
| `description`                | string  |          | —       | New description for the command (1-100 characters). Empty string for USER/MESSAGE commands. |
| `dm_permission`              | boolean |          | —       | Whether the command is available in DMs with the app.                                       |
| `application_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                            |
| `name_localizations`         | object  |          | —       | Localization dictionary mapping locale codes to localized names.                            |
| `description_localizations`  | object  |          | —       | Localization dictionary mapping locale codes to localized descriptions.                     |
| `default_member_permissions` | string  |          | —       | Bitwise permission flags string. '0' disables for non-admins. Null allows everyone.         |

***

### `Discordbot Update Application User Role Connection`

Integration name: **DISCORDBOT\_UPDATE\_APPLICATION\_USER\_ROLE\_CONNECTION**

Updates the current user's application role connection metadata for Discord's Linked Roles feature. Requires OAuth2 with the role\_connections.write scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example | Description                                                                                                                                                        |
| ------------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `metadata`          | object |          | —       | A dictionary of custom metadata key-value pairs. Keys must match metadata keys configured in the application's role connection metadata schema. Maximum 5 entries. |
| `platform_name`     | string |          | —       | The vanity name of the platform to display in Discord's user profile (max 50 characters).                                                                          |
| `application_id`    | string |     ✅    | —       | The unique Discord application ID (snowflake). Must have linked role connection metadata configured.                                                               |
| `platform_username` | string |          | —       | The user's username on the external platform (max 100 characters).                                                                                                 |

***

### `Discordbot Update Auto Moderation Rule`

Integration name: **DISCORDBOT\_UPDATE\_AUTO\_MODERATION\_RULE**

Updates an existing auto moderation rule in a Discord guild. Only fields provided in the request body are changed. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                    |
| ------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------ |
| `name`             | string  |          | —       | The name of the rule (1-100 characters).                                       |
| `actions`          | array   |          | —       | The actions to execute when the rule is triggered (max 5).                     |
| `enabled`          | boolean |          | —       | Whether the rule is enabled.                                                   |
| `rule_id`          | string  |     ✅    | —       | The unique identifier (snowflake ID) of the auto moderation rule to update.    |
| `guild_id`         | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild containing the rule. |
| `event_type`       | integer |          | —       | The event type: 1=MESSAGE\_SEND, 2=MEMBER\_UPDATE.                             |
| `exempt_roles`     | array   |          | —       | Role IDs not affected by the rule (max 20).                                    |
| `exempt_channels`  | array   |          | —       | Channel IDs not affected by the rule (max 50).                                 |
| `trigger_metadata` | object  |          | —       | Additional metadata associated with the rule's trigger type.                   |

***

### `Discordbot Update Channel`

Integration name: **DISCORDBOT\_UPDATE\_CHANNEL**

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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type    | Required | Example | Description                                                                       |
| ------------------------------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------- |
| `name`                               | string  |          | —       | New channel name (1-100 characters).                                              |
| `nsfw`                               | boolean |          | —       | Whether the channel is age-restricted (NSFW).                                     |
| `type`                               | integer |          | —       | Channel type. Only conversion between text (0) and announcement (5) is supported. |
| `flags`                              | integer |          | —       | Channel flags bitfield.                                                           |
| `topic`                              | string  |          | —       | Channel topic (0-1024 chars for text/announcement, 0-4096 for forum/media).       |
| `bitrate`                            | integer |          | —       | Bitrate in bits per second for voice/stage channels (8000-384000).                |
| `position`                           | integer |          | —       | Sorting position of the channel in the guild.                                     |
| `parent_id`                          | string  |          | —       | ID of the parent category channel (null to remove from category).                 |
| `channel_id`                         | string  |     ✅    | —       | The unique identifier of the Discord channel to modify.                           |
| `rtc_region`                         | string  |          | —       | Voice region ID (null for automatic selection).                                   |
| `user_limit`                         | integer |          | —       | Maximum users in a voice channel (0=unlimited, 1-99).                             |
| `available_tags`                     | array   |          | —       | Tags available in a forum/media channel (max 20).                                 |
| `default_sort_order`                 | integer |          | —       | Default sort order for forum posts (0=latest activity, 1=creation date).          |
| `video_quality_mode`                 | integer |          | —       | Camera video quality mode (1=auto, 2=720p).                                       |
| `rate_limit_per_user`                | integer |          | —       | Slowmode rate limit in seconds per user (0-21600).                                |
| `default_forum_layout`               | integer |          | —       | Default forum layout (0=not set, 1=list view, 2=gallery view).                    |
| `permission_overwrites`              | array   |          | —       | Channel-specific permission overwrites for roles and members.                     |
| `default_reaction_emoji`             | object  |          | —       | Default reaction emoji for forum posts.                                           |
| `default_auto_archive_duration`      | integer |          | —       | Default thread auto-archive duration in minutes (60, 1440, 4320, 10080).          |
| `default_thread_rate_limit_per_user` | integer |          | —       | Initial rate\_limit\_per\_user for new threads (0-21600 seconds).                 |

***

### `Discordbot Update Guild`

Integration name: **DISCORDBOT\_UPDATE\_GUILD**

Updates settings for a Discord guild (server). Requires the MANAGE\_GUILD permission. All parameters except guild\_id are optional -- only include the settings you want to change.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                       | Type    | Required | Example | Description                                                                                                 |
| ------------------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------- |
| `icon`                          | string  |          | —       | Base64 encoded 128x128 image data URL for the guild icon. Set to null to remove.                            |
| `name`                          | string  |          | —       | New name for the guild (2-100 characters).                                                                  |
| `banner`                        | string  |          | —       | Base64 encoded 16:9 image for guild banner (requires BANNER feature). Set to null to remove.                |
| `region`                        | string  |          | —       | Voice region ID for the guild (deprecated). Set to null for automatic.                                      |
| `splash`                        | string  |          | —       | Base64 encoded 16:9 image for guild invite splash (requires INVITE\_SPLASH feature). Set to null to remove. |
| `features`                      | array   |          | —       | List of guild feature strings to enable (e.g. COMMUNITY, DISCOVERABLE).                                     |
| `guild_id`                      | string  |     ✅    | —       | The ID of the guild (server) to update (snowflake).                                                         |
| `owner_id`                      | string  |          | —       | User ID to transfer guild ownership to. Requires being the current owner.                                   |
| `afk_timeout`                   | integer |          | —       | AFK timeout in seconds (60, 300, 900, 1800, 3600).                                                          |
| `description`                   | string  |          | —       | New description for the guild. Set to null to remove.                                                       |
| `home_header`                   | string  |          | —       | Base64 encoded image for guild home header (requires COMMUNITY feature). Set to null to remove.             |
| `afk_channel_id`                | string  |          | —       | ID of the AFK channel; null to disable.                                                                     |
| `discovery_splash`              | string  |          | —       | Base64 encoded image for guild discovery splash (requires DISCOVERABLE feature). Set to null to remove.     |
| `preferred_locale`              | string  |          | —       | Preferred locale for server discovery and Discord notices (e.g. en-US).                                     |
| `rules_channel_id`              | string  |          | —       | ID of the channel for server rules (requires COMMUNITY feature); null to disable.                           |
| `system_channel_id`             | string  |          | —       | ID of the channel for guild notices; null to disable.                                                       |
| `verification_level`            | integer |          | —       | Verification level (0: None, 1: Low, 2: Medium, 3: High, 4: Very High).                                     |
| `system_channel_flags`          | integer |          | —       | System channel flags as an integer bitfield.                                                                |
| `explicit_content_filter`       | integer |          | —       | Explicit content filter level (0: Disabled, 1: Members without roles, 2: All members).                      |
| `safety_alerts_channel_id`      | string  |          | —       | ID of the channel for Discord safety alerts; null to disable.                                               |
| `public_updates_channel_id`     | string  |          | —       | ID of the channel for Discord notices to admins; null to disable.                                           |
| `premium_progress_bar_enabled`  | boolean |          | —       | Whether to display the server boost progress bar.                                                           |
| `default_message_notifications` | integer |          | —       | Default message notification level (0: All Messages, 1: Only @mentions).                                    |

***

### `Discordbot Update Guild Application Command`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_APPLICATION\_COMMAND**

Updates properties of a guild-specific application command. Omitted properties remain unchanged.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                            |
| ---------------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------- |
| `name`                       | string  |          | —       | New name for the command (1-32 characters).                                            |
| `options`                    | array   |          | —       | New list of command option objects. If provided, all existing options are overwritten. |
| `guild_id`                   | string  |     ✅    | —       | The unique identifier (snowflake ID) of the guild.                                     |
| `command_id`                 | string  |     ✅    | —       | The unique identifier (snowflake ID) of the command to update.                         |
| `description`                | string  |          | —       | New description for the command (1-100 characters).                                    |
| `dm_permission`              | boolean |          | —       | Whether available in DMs. Not supported for guild commands; will be ignored.           |
| `application_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord application.                       |
| `name_localizations`         | object  |          | —       | Localization dictionary mapping locale codes to localized names.                       |
| `description_localizations`  | object  |          | —       | Localization dictionary mapping locale codes to localized descriptions.                |
| `default_member_permissions` | string  |          | —       | Bitwise permission flags string.                                                       |

***

### `Discordbot Update Guild Emoji`

Integration name: **DISCORDBOT\_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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                                            |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `name`     | string |          | —       | The new name for the emoji (2-32 characters). If not provided, the name will not be changed.                           |
| `roles`    | array  |          | —       | A list of role IDs that are allowed to use this emoji. Provide an empty list to make the emoji available to @everyone. |
| `emoji_id` | string |     ✅    | —       | The unique identifier of the custom emoji to be updated.                                                               |
| `guild_id` | string |     ✅    | —       | The unique identifier of the Discord guild (server) where the emoji resides.                                           |

***

### `Discordbot Update Guild Member`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_MEMBER**

Updates a guild member's attributes including nickname, roles, voice state, timeout status, and flags. Only provided fields will be updated. Requires appropriate permissions for each operation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                      | Type    | Required | Example | Description                                                                                               |
| ------------------------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------- |
| `deaf`                         | boolean |          | —       | Whether to server-deafen the member in voice channels. Requires DEAFEN\_MEMBERS permission.               |
| `mute`                         | boolean |          | —       | Whether to server-mute the member in voice channels. Requires MUTE\_MEMBERS permission.                   |
| `nick`                         | string  |          | —       | New nickname for the guild member. Set to empty string to remove. Maximum 32 characters.                  |
| `flags`                        | integer |          | —       | Guild member flags represented as a bit set integer.                                                      |
| `roles`                        | array   |          | —       | Array of role IDs to assign to the member. Replaces all current roles except @everyone.                   |
| `user_id`                      | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord user whose guild member attributes are being updated. |
| `guild_id`                     | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the member belongs.                       |
| `channel_id`                   | string  |          | —       | Voice channel ID to move the member to. Set to null to disconnect from voice.                             |
| `communication_disabled_until` | string  |          | —       | ISO8601 timestamp when the user's timeout expires. Max 28 days from now. Set to null to remove timeout.   |

***

### `Discordbot Update Guild Role`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_ROLE**

Updates a Discord guild role's attributes (name, permissions, color, etc.). Requires MANAGE\_ROLES permission. Unspecified attributes remain unchanged. The icon and unicode\_emoji fields are mutually exclusive.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example | Description                                                                                              |
| --------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------- |
| `icon`          | string  |          | —       | New role icon as base64 encoded image data. Mutually exclusive with unicode\_emoji.                      |
| `name`          | string  |          | —       | New name for the role (max 100 characters).                                                              |
| `color`         | integer |          | —       | New color as an integer representation of a hex code (0 for no color).                                   |
| `hoist`         | boolean |          | —       | Whether to display the role separately in the member list.                                               |
| `role_id`       | string  |     ✅    | —       | The unique identifier (snowflake ID) of the role to be updated.                                          |
| `guild_id`      | string  |     ✅    | —       | The unique identifier (snowflake ID) of the guild containing the role.                                   |
| `mentionable`   | boolean |          | —       | Whether to allow anyone to mention this role.                                                            |
| `permissions`   | string  |          | —       | Bitwise value for new role permissions.                                                                  |
| `unicode_emoji` | string  |          | —       | New unicode emoji for the role's icon. Mutually exclusive with icon. Requires ROLE\_ICONS guild feature. |

***

### `Discordbot Update Guild Scheduled Event`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_SCHEDULED\_EVENT**

Updates an existing scheduled event in a Discord guild. Only fields provided in the request body are changed. Supports updating name, description, schedule, status, location, and other event attributes.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter              | Type    | Required | Example | Description                                                                                                                   |
| ---------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `name`                 | string  |          | —       | The name of the scheduled event (1-100 characters).                                                                           |
| `image`                | string  |          | —       | The cover image as a base64 data URI.                                                                                         |
| `status`               | integer |          | —       | The event status: 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED. Cannot change from COMPLETED or CANCELED.                   |
| `event_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the scheduled event to update.                                                        |
| `guild_id`             | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild containing the event.                                               |
| `channel_id`           | string  |          | —       | The channel ID where the event will be hosted. Required for STAGE\_INSTANCE and VOICE. Set to null when changing to EXTERNAL. |
| `description`          | string  |          | —       | The description of the scheduled event (1-1000 characters).                                                                   |
| `entity_type`          | integer |          | —       | The entity type: 1=STAGE\_INSTANCE, 2=VOICE, 3=EXTERNAL.                                                                      |
| `privacy_level`        | integer |          | —       | The privacy level of the event. Use 2 for GUILD\_ONLY.                                                                        |
| `entity_metadata`      | object  |          | —       | Additional metadata for the guild scheduled event.                                                                            |
| `scheduled_end_time`   | string  |          | —       | The time the event will end (ISO8601 timestamp). Required for EXTERNAL entity type.                                           |
| `scheduled_start_time` | string  |          | —       | The time the event will start (ISO8601 timestamp).                                                                            |

***

### `Discordbot Update Guild Sticker`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_STICKER**

Modifies a guild sticker's name, description, or tags. Requires MANAGE\_EXPRESSIONS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                                                   |
| ------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------- |
| `name`        | string |          | —       | New name for the sticker (2-30 characters).                                                   |
| `tags`        | string |          | —       | The Discord name of a unicode emoji representing the sticker's expression (2-200 characters). |
| `guild_id`    | string |     ✅    | —       | ID of the guild where the sticker is located.                                                 |
| `sticker_id`  | string |     ✅    | —       | ID of the sticker to be updated.                                                              |
| `description` | string |          | —       | New description for the sticker (2-100 characters).                                           |

***

### `Discordbot Update Guild Template`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_TEMPLATE**

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

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                         |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `name`          | string |          | —       | New name for the guild template; if omitted, the current name is retained.                                          |
| `guild_id`      | string |     ✅    | —       | Unique identifier of the Discord guild where the template resides.                                                  |
| `description`   | string |          | —       | New description for the guild template; if omitted, the current description is retained. An empty string clears it. |
| `template_code` | string |     ✅    | —       | Unique code of the guild template to be updated.                                                                    |

***

### `Discordbot Update Guild Welcome Screen`

Integration name: **DISCORDBOT\_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 COMMUNITY feature.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                           |
| ------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------- |
| `enabled`          | boolean |          | —       | Whether the welcome screen is enabled.                                                |
| `guild_id`         | string  |     ✅    | —       | The unique ID (snowflake) of the guild whose welcome screen is to be updated.         |
| `description`      | string  |          | —       | The server description to show in the welcome screen. Set to null to remove.          |
| `welcome_channels` | array   |          | —       | An array of welcome channel objects (max 5). Set to null or empty list to remove all. |

***

### `Discordbot Update Guild Widget Settings`

Integration name: **DISCORDBOT\_UPDATE\_GUILD\_WIDGET\_SETTINGS**

Updates a Discord guild's widget settings, such as its enabled state or invite channel. Requires MANAGE\_GUILD permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                         |
| ------------ | ------- | :------: | ------- | ----------------------------------------------------------------------------------- |
| `enabled`    | boolean |          | —       | Enables (true) or disables (false) the guild widget. Omit to leave unchanged.       |
| `guild_id`   | string  |     ✅    | —       | Unique ID (snowflake) of the Discord guild whose widget settings are to be updated. |
| `channel_id` | string  |          | —       | The channel ID to set as the widget's invite channel, or null to clear it.          |

***

### `Discordbot Update Message`

Integration name: **DISCORDBOT\_UPDATE\_MESSAGE**

Edits a message previously sent by the bot. Only provide fields you want to change; use null or empty list to clear values.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                                |
| ------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------ |
| `flags`            | integer |          | —       | Message flags to set (e.g., 4 for SUPPRESS\_EMBEDS).                                       |
| `embeds`           | array   |          | —       | Up to 10 embed objects. Set to empty list to remove all embeds.                            |
| `content`          | string  |          | —       | New message content (max 2000 characters). Set to empty string to clear.                   |
| `channel_id`       | string  |     ✅    | —       | ID of the channel containing the message to edit.                                          |
| `components`       | array   |          | —       | Message components (buttons, select menus). Set to empty list to remove.                   |
| `message_id`       | string  |     ✅    | —       | ID of the message to edit. Must be a message sent by the bot.                              |
| `attachments`      | array   |          | —       | Attachments to keep or update metadata for. Omit to keep existing; empty list removes all. |
| `allowed_mentions` | object  |          | —       | Controls which mentions trigger notifications.                                             |

***

### `Discordbot Update My Application`

Integration name: **DISCORDBOT\_UPDATE\_MY\_APPLICATION**

Updates settings for the current authenticated Discord application via /applications/@me.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                           | Type    | Required | Example | Description                                                  |
| ----------------------------------- | ------- | :------: | ------- | ------------------------------------------------------------ |
| `icon`                              | string  |          | —       | Base64 encoded application icon (PNG, JPEG, or GIF).         |
| `tags`                              | array   |          | —       | Up to 5 tags describing the application (max 20 chars each). |
| `flags`                             | integer |          | —       | Bitwise application flags value.                             |
| `cover_image`                       | string  |          | —       | Base64 encoded cover image (PNG, JPEG, or GIF).              |
| `description`                       | string  |          | —       | New description for the application.                         |
| `max_participants`                  | integer |          | —       | Max participants for an embedded activity.                   |
| `custom_install_url`                | string  |          | —       | Custom URL for post-authorization redirection.               |
| `interactions_endpoint_url`         | string  |          | —       | HTTPS URL for Discord to send interaction events.            |
| `role_connections_verification_url` | string  |          | —       | URL for role connection verification.                        |

***

### `Discordbot Update My Guild Member`

Integration name: **DISCORDBOT\_UPDATE\_MY\_GUILD\_MEMBER**

Modifies the current bot's member profile (nickname) in a Discord guild. The bot must be a member of the guild and have CHANGE\_NICKNAME permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                         |
| ---------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------- |
| `nick`     | string |          | —       | The new nickname for the bot in the guild. Set to null or empty to remove. Maximum 32 characters.   |
| `guild_id` | string |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild where the bot's nickname will be updated. |

***

### `Discordbot Update My User`

Integration name: **DISCORDBOT\_UPDATE\_MY\_USER**

Updates the current bot user's Discord username and/or avatar. Only works with bot tokens. Username changes are rate-limited to 2 per hour.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                                |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------- |
| `avatar`   | string |          | —       | Base64 encoded image data for the new avatar (format: 'data:image/png;base64,...'). Set to null to remove. |
| `username` | string |          | —       | The new username for the bot user. Must be 2-32 characters. Changes are rate-limited to 2 per hour.        |

***

### `Discordbot Update Original Webhook Message`

Integration name: **DISCORDBOT\_UPDATE\_ORIGINAL\_WEBHOOK\_MESSAGE**

Updates the original (@original) message previously sent by a webhook or interaction response.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                      |
| ------------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------- |
| `flags`            | integer |          | —       | Message flags bitfield (e.g. 4 for SUPPRESS\_EMBEDS).                            |
| `embeds`           | array   |          | —       | Up to 10 embed objects; replaces existing embeds.                                |
| `content`          | string  |          | —       | New message content (max 2000 characters). Null or empty string removes content. |
| `thread_id`        | string  |          | —       | ID of the thread the message is in, if applicable.                               |
| `components`       | array   |          | —       | Message components (buttons, select menus); replaces existing.                   |
| `webhook_id`       | string  |     ✅    | —       | The webhook or application ID.                                                   |
| `attachments`      | array   |          | —       | Attachments to keep/update. Include existing attachment IDs to retain them.      |
| `webhook_token`    | string  |     ✅    | —       | The webhook or interaction token.                                                |
| `allowed_mentions` | object  |          | —       | Controls which mentions in the message content trigger pings.                    |

***

### `Discordbot Update Self Voice State`

Integration name: **DISCORDBOT\_UPDATE\_SELF\_VOICE\_STATE**

Updates the bot's own voice state in a guild Stage channel, such as toggling suppress or requesting to speak. The bot must already be connected to a stage channel via the Gateway API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                                             |
| ---------------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------- |
| `guild_id`                   | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild.                                              |
| `suppress`                   | boolean |          | —       | Whether to suppress (mute) the bot in the stage channel. True to suppress, false to unsuppress.         |
| `channel_id`                 | string  |          | —       | The ID of the stage channel. Required for stage channel operations.                                     |
| `request_to_speak_timestamp` | string  |          | —       | ISO8601 timestamp for requesting to speak. Set to a timestamp to request, or null to clear the request. |

***

### `Discordbot Update Voice State`

Integration name: **DISCORDBOT\_UPDATE\_VOICE\_STATE**

Updates another user's voice state in a Discord stage channel. Only works for stage channels, not regular voice channels. Primarily used to toggle suppress state for speaking permissions. Requires MUTE\_MEMBERS permission.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                                                                                                         |
| ------------ | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`    | string  |     ✅    | —       | The unique identifier (snowflake ID) of the user whose voice state to update.                                                       |
| `guild_id`   | string  |     ✅    | —       | The unique identifier (snowflake ID) of the Discord guild.                                                                          |
| `suppress`   | boolean |          | —       | Whether to suppress (mute) the user in the stage channel. True to suppress, false to unsuppress. Requires MUTE\_MEMBERS permission. |
| `channel_id` | string  |          | —       | The ID of the stage channel where the user is participating. Required for stage channel operations.                                 |

***

### `Discordbot Update Webhook`

Integration name: **DISCORDBOT\_UPDATE\_WEBHOOK**

Updates properties of an existing Discord webhook such as name, avatar, or channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                  |
| ------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------- |
| `name`       | string |          | —       | New default name for the webhook.                                            |
| `avatar`     | string |          | —       | Data URI for the new webhook avatar image. Set to null to remove the avatar. |
| `channel_id` | string |          | —       | ID of the new channel to move the webhook to.                                |
| `webhook_id` | string |     ✅    | —       | The unique identifier of the webhook to update.                              |

***

### `Discordbot Update Webhook By Token`

Integration name: **DISCORDBOT\_UPDATE\_WEBHOOK\_BY\_TOKEN**

Updates a Discord webhook's name and/or avatar using its ID and token, without bot authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                  |
| --------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------- |
| `name`          | string |          | —       | New default name for the webhook (1-80 characters).                          |
| `avatar`        | string |          | —       | Data URI for the new webhook avatar image. Set to null to remove the avatar. |
| `webhook_id`    | string |     ✅    | —       | The unique identifier of the webhook to update.                              |
| `webhook_token` | string |     ✅    | —       | The secure token of the webhook.                                             |

***

### `Discordbot Update Webhook Message`

Integration name: **DISCORDBOT\_UPDATE\_WEBHOOK\_MESSAGE**

Updates a message previously sent by a webhook, allowing modification of content, embeds, attachments, or components.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example | Description                                                                 |
| ------------------ | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `flags`            | integer |          | —       | Message flags bitfield (e.g. 4 for SUPPRESS\_EMBEDS).                       |
| `embeds`           | array   |          | —       | Up to 10 embed objects; replaces existing embeds.                           |
| `content`          | string  |          | —       | New message text (max 2000 characters). Empty string removes content.       |
| `thread_id`        | string  |          | —       | ID of the thread the message is in, if applicable.                          |
| `components`       | array   |          | —       | Message components (buttons, select menus); replaces existing.              |
| `message_id`       | string  |     ✅    | —       | The ID of the message to update.                                            |
| `webhook_id`       | string  |     ✅    | —       | The unique ID of the webhook.                                               |
| `attachments`      | array   |          | —       | Attachments to keep/update. Include existing attachment IDs to retain them. |
| `webhook_token`    | string  |     ✅    | —       | The secret token for the webhook.                                           |
| `allowed_mentions` | object  |          | —       | Controls which mentions in the message content trigger pings.               |

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/discordbot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
