# Discord

An instant messaging and VoIP social platform.

- **Category:** team chat
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 16
- **Triggers:** 1
- **Slug:** `DISCORD`
- **Version:** 20260316_00

## Tools

### Get Current User Application Entitlements

**Slug:** `DISCORD_GET_CURRENT_USER_APPLICATION_ENTITLEMENTS`

Tool to retrieve entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `exclude_ended` | boolean | No | Whether to exclude ended entitlements. Defaults to false if not provided. |
| `application_id` | string | Yes | The ID of the application to retrieve entitlements for. |
| `exclude_deleted` | boolean | No | Whether to exclude deleted entitlements. Defaults to true if not provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Gateway

**Slug:** `DISCORD_GET_GATEWAY`

Tool to retrieve a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Guild Template

**Slug:** `DISCORD_GET_GUILD_TEMPLATE`

Tool to retrieve information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique template code identifier for the guild template to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Guild Widget

**Slug:** `DISCORD_GET_GUILD_WIDGET`

Tool to retrieve the guild widget in JSON format. Use when you need to get public information about a Discord guild's widget that can be displayed on external websites. The widget must be enabled in the guild's server settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the guild (snowflake ID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Guild Widget PNG

**Slug:** `DISCORD_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.

#### Input Parameters

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

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invite (Deprecated)

**Slug:** `DISCORD_GET_INVITE`

DEPRECATED: Use DISCORD_INVITE_RESOLVE instead. Tool to retrieve information about a specific invite code. Use when you need to get details about a guild or channel associated with an invite. Response may be null or partial for expired, revoked, or inaccessible invites; do not infer guild membership or channel access from the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invite_code` | string | Yes | A single Discord invite code (e.g., "0vCdhLbwjZZTWZLD"). Can be provided as a bare code or as a full URL like "https://discord.gg/0vCdhLbwjZZTWZLD". Only one invite code should be provided. If multiple codes or URLs are present, only the first one will be used. |
| `with_counts` | boolean | No | Whether to include approximate member and presence counts in the response (approximate_member_count and approximate_presence_count fields). |
| `with_expiration` | boolean | No | Whether to include the expiration date (expires_at field) in the response. Note: expires_at is typically returned regardless of this parameter. |
| `guild_scheduled_event_id` | string | No | The ID of a guild scheduled event to include with the invite. When provided, the response will include guild_scheduled_event details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get my guild member

**Slug:** `DISCORD_GET_MY_GUILD_MEMBER`

Retrieves the guild member object for the currently authenticated user within a specified guild, provided they are a member of that guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which to fetch the member object. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get my OAuth2 authorization

**Slug:** `DISCORD_GET_MY_OAUTH2_AUTHORIZATION`

Retrieves current OAuth2 authorization details for the application, including app info, scopes, token expiration, and user data (contingent on scopes like 'identify').

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get my user

**Slug:** `DISCORD_GET_MY_USER`

Fetches comprehensive profile information for the currently authenticated Discord user, including email if the 'email' scope is granted.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get OpenID Connect userinfo

**Slug:** `DISCORD_GET_OPENID_CONNECT_USERINFO`

Retrieve OpenID Connect compliant user information for the authenticated user. Returns standardized OIDC user claims (sub, email, nickname, picture, locale, etc.) following the OpenID Connect specification. Requires OAuth2 access token with 'openid' scope; additional fields require 'identify' and 'email' scopes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Keys

**Slug:** `DISCORD_GET_PUBLIC_KEYS`

Tool to retrieve Discord OAuth2 public keys. Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `DISCORD_GET_USER`

Retrieve information about a Discord user. With OAuth Bearer token authentication, this returns the authenticated user's information (use '@me'). With Bot token authentication, you can query any user by their ID. Use this when you need user details like username, avatar, email (if email scope is granted), locale, premium status, or other profile information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user to retrieve. Use '@me' to get the current authenticated user. Note: With OAuth Bearer token authentication, only '@me' is supported. With Bot token authentication, you can query any user ID (snowflake format). If you're unsure, start with '@me'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve Invite

**Slug:** `DISCORD_INVITE_RESOLVE`

Tool to resolve and retrieve information about a Discord invite code. Use when you need to get details about a guild, channel, or event associated with an invite code.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The invite code to resolve (e.g., "discord-api" for vanity URLs, or "abc123xyz" for regular invite codes). |
| `with_counts` | boolean | No | Whether to include approximate member counts (approximate_member_count and approximate_presence_count) in the response. |
| `with_expiration` | boolean | No | Whether to include the expiration date (expires_at) in the response. Note: This parameter is deprecated as expires_at is now always returned. |
| `guild_scheduled_event_id` | string | No | The guild scheduled event ID to include with the invite. When provided with a valid event ID, returns guild_scheduled_event data in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve user connections

**Slug:** `DISCORD_LIST_MY_CONNECTIONS`

Retrieves a list of the authenticated user's connected third-party accounts on Discord.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List my guilds

**Slug:** `DISCORD_LIST_MY_GUILDS`

Lists the current user's guilds, returning partial data for each; primarily used for displaying server lists or verifying memberships.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Get guilds after this guild ID. |
| `limit` | integer | No | Max number of guilds to return (1-200, default 200). |
| `before` | string | No | Get guilds before this guild ID. |
| `with_counts` | boolean | No | Include approximate member and presence counts for each guild (defaults to false). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sticker Packs

**Slug:** `DISCORD_LIST_STICKER_PACKS`

Tool to retrieve all available Discord Nitro sticker packs. Use when you need to list or browse official Discord sticker packs.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |


## Triggers

### New Discord Message Trigger

**Slug:** `DISCORD_NEW_MESSAGE_TRIGGER`

**Type:** poll

Polls a specific Discord channel for new messages.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the Discord channel to monitor for new messages. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `limit` | integer | No | The number of messages to fetch per poll. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_type` | string | No | Type of Discord message event |
| `message` | object | Yes | The Discord message that was created |
