Discord is a powerful communication platform that allows you to connect with friends, communities, and teams. It offers a range of features for team collaboration, including text channels, voice channels, and video calls.
With a Discord account or bot, you can:
- Send messages: Send messages to a specific channel
- Get messages: Get messages from a specific channel
- Get server: Get information about a specific server
- Get user: Get information about a specific user
In Sim, the Discord integration enables your agents to access and leverage your organization's Discord servers. Agents can retrieve information from Discord channels, search for specific users, get server information, and send messages. This allows your workflows to integrate with your Discord communities, automate notifications, and create interactive experiences.
Important: To read message content, your Discord bot needs the "Message Content Intent" enabled in the Discord Developer Portal. Without this permission, you'll still receive message metadata but the content field will appear empty.
Discord components in Sim use efficient lazy loading, only fetching data when needed to minimize API calls and prevent rate limiting. Token refreshing happens automatically in the background to maintain your connection.
- Go to the Discord Developer Portal
- Create a new application and navigate to the "Bot" tab
- Create a bot and copy your bot token
- Under "Privileged Gateway Intents", enable the Message Content Intent to read message content
- Invite your bot to your servers with appropriate permissions
Comprehensive Discord integration: messages, threads, channels, roles, members, invites, and webhooks.
Send a message to a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to send the message to |
content | string | No | The text content of the message |
serverId | string | Yes | The Discord server ID (guild ID) |
files | file[] | No | Files to attach to the message |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Discord message data |
↳ id | string | Author user ID |
↳ content | string | Message content |
↳ channel_id | string | Channel ID where message was sent |
↳ author | object | Message author information |
↳ id | string | Author user ID |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ timestamp | string | Message timestamp |
↳ edited_timestamp | string | Message edited timestamp |
↳ embeds | array | Message embeds |
↳ attachments | array | Message attachments |
↳ mentions | array | User mentions in message |
↳ mention_roles | array | Role mentions in message |
↳ mention_everyone | boolean | Whether message mentions everyone |
Retrieve messages from a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to retrieve messages from |
limit | number | No | Maximum number of messages to retrieve (default: 10, max: 100) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Container for messages data |
↳ messages | array | Array of Discord messages with full metadata |
↳ id | string | Author user ID |
↳ content | string | Message content |
↳ channel_id | string | Channel ID |
↳ author | object | Message author information |
↳ id | string | Author user ID |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ timestamp | string | Message timestamp |
↳ edited_timestamp | string | Message edited timestamp |
↳ embeds | array | Message embeds |
↳ attachments | array | Message attachments |
↳ mentions | array | User mentions in message |
↳ mention_roles | array | Role mentions in message |
↳ mention_everyone | boolean | Whether message mentions everyone |
↳ id | string | Author user ID |
↳ content | string | Message content |
↳ channel_id | string | Channel ID |
↳ author | object | Message author information |
↳ id | string | Author user ID |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ username | string | Author username |
↳ avatar | string | Author avatar hash |
↳ bot | boolean | Whether author is a bot |
↳ timestamp | string | Message timestamp |
↳ edited_timestamp | string | Message edited timestamp |
↳ embeds | array | Message embeds |
↳ attachments | array | Message attachments |
↳ mentions | array | User mentions in message |
↳ mention_roles | array | Role mentions in message |
↳ mention_everyone | boolean | Whether message mentions everyone |
Retrieve information about a Discord server (guild)
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Discord server (guild) information |
↳ id | string | Server ID |
↳ name | string | Server name |
↳ icon | string | Server icon hash |
↳ description | string | Server description |
↳ owner_id | string | Server owner user ID |
↳ roles | array | Server roles |
↳ channels | array | Server channels |
↳ member_count | number | Number of members in server |
Retrieve information about a Discord user
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | Discord bot token for authentication |
userId | string | Yes | The Discord user ID |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Discord user information |
↳ id | string | User ID |
↳ username | string | Username |
↳ discriminator | string | User discriminator (4-digit number) |
↳ avatar | string | User avatar hash |
↳ bot | boolean | Whether user is a bot |
↳ system | boolean | Whether user is a system user |
↳ email | string | User email (if available) |
↳ verified | boolean | Whether user email is verified |
Edit an existing message in a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message to edit |
content | string | No | The new text content for the message |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Updated Discord message data |
↳ id | string | Message ID |
↳ content | string | Updated message content |
↳ channel_id | string | Channel ID |
↳ edited_timestamp | string | Message edited timestamp |
Delete a message from a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message to delete |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Add a reaction emoji to a Discord message
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message to react to |
emoji | string | Yes | The emoji to react with (unicode emoji or custom emoji in name:id format) |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Remove a reaction from a Discord message
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message with the reaction |
emoji | string | Yes | The emoji to remove (unicode emoji or custom emoji in name:id format) |
userId | string | No | The user ID whose reaction to remove (omit to remove bot's own reaction) |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Pin a message in a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message to pin |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Unpin a message in a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID containing the message |
messageId | string | Yes | The ID of the message to unpin |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Create a thread in a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to create the thread in |
name | string | Yes | The name of the thread (1-100 characters) |
messageId | string | No | The message ID to create a thread from (if creating from existing message) |
autoArchiveDuration | number | No | Duration in minutes to auto-archive the thread (60, 1440, 4320, 10080) |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Created thread data |
↳ id | string | Thread ID |
↳ name | string | Thread name |
↳ type | number | Thread channel type |
↳ guild_id | string | Server ID |
↳ parent_id | string | Parent channel ID |
Join a thread in Discord
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
threadId | string | Yes | The thread ID to join |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Leave a thread in Discord
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
threadId | string | Yes | The thread ID to leave |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Archive or unarchive a thread in Discord
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
threadId | string | Yes | The thread ID to archive/unarchive |
archived | boolean | Yes | Whether to archive (true) or unarchive (false) the thread |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Updated thread data |
↳ id | string | Thread ID |
↳ archived | boolean | Whether thread is archived |
Create a new channel in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
name | string | Yes | The name of the channel (1-100 characters) |
type | number | No | Channel type (0=text, 2=voice, 4=category, 5=announcement, 13=stage) |
topic | string | No | Channel topic (0-1024 characters) |
parentId | string | No | Parent category ID for the channel |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Created channel data |
↳ id | string | Channel ID |
↳ name | string | Channel name |
↳ type | number | Channel type |
↳ guild_id | string | Server ID |
Update a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to update |
name | string | No | The new name for the channel |
topic | string | No | The new topic for the channel |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Updated channel data |
↳ id | string | Channel ID |
↳ name | string | Channel name |
↳ type | number | Channel type |
↳ topic | string | Channel topic |
Delete a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to delete |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Get information about a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to retrieve |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Channel data |
↳ id | string | Channel ID |
↳ name | string | Channel name |
↳ type | number | Channel type |
↳ topic | string | Channel topic |
↳ guild_id | string | Server ID |
Create a new role in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
name | string | Yes | The name of the role |
color | number | No | RGB color value as integer (e.g., 0xFF0000 for red) |
hoist | boolean | No | Whether to display role members separately from online members |
mentionable | boolean | No | Whether the role can be mentioned |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Created role data |
↳ id | string | Role ID |
↳ name | string | Role name |
↳ color | number | Role color |
↳ hoist | boolean | Whether role is hoisted |
↳ mentionable | boolean | Whether role is mentionable |
Update a role in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
roleId | string | Yes | The role ID to update |
name | string | No | The new name for the role |
color | number | No | RGB color value as integer |
hoist | boolean | No | Whether to display role members separately |
mentionable | boolean | No | Whether the role can be mentioned |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Updated role data |
↳ id | string | Role ID |
↳ name | string | Role name |
↳ color | number | Role color |
Delete a role from a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
roleId | string | Yes | The role ID to delete |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Assign a role to a member in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to assign the role to |
roleId | string | Yes | The role ID to assign |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Remove a role from a member in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to remove the role from |
roleId | string | Yes | The role ID to remove |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Kick a member from a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to kick |
reason | string | No | Reason for kicking the member |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Ban a member from a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to ban |
reason | string | No | Reason for banning the member |
deleteMessageDays | number | No | Number of days to delete messages for (0-7) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Unban a member from a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to unban |
reason | string | No | Reason for unbanning the member |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Get information about a member in a Discord server
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to retrieve |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Member data |
↳ user | object | User information |
↳ id | string | User ID |
↳ username | string | Username |
↳ avatar | string | Avatar hash |
↳ id | string | User ID |
↳ username | string | Username |
↳ avatar | string | Avatar hash |
↳ nick | string | Server nickname |
↳ roles | array | Array of role IDs |
↳ joined_at | string | When the member joined |
Update a member in a Discord server (e.g., change nickname)
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
serverId | string | Yes | The Discord server ID (guild ID) |
userId | string | Yes | The user ID to update |
nick | string | No | New nickname for the member (null to remove) |
mute | boolean | No | Whether to mute the member in voice channels |
deaf | boolean | No | Whether to deafen the member in voice channels |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Updated member data |
↳ nick | string | Server nickname |
↳ mute | boolean | Voice mute status |
↳ deaf | boolean | Voice deaf status |
Create an invite link for a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to create an invite for |
maxAge | number | No | Duration of invite in seconds (0 = never expires, default 86400) |
maxUses | number | No | Max number of uses (0 = unlimited, default 0) |
temporary | boolean | No | Whether invite grants temporary membership |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Created invite data |
↳ code | string | Invite code |
↳ url | string | Full invite URL |
↳ max_age | number | Max age in seconds |
↳ max_uses | number | Max uses |
↳ temporary | boolean | Whether temporary |
Get information about a Discord invite
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
inviteCode | string | Yes | The invite code to retrieve |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Invite data |
↳ code | string | Invite code |
↳ guild | object | Server information |
↳ channel | object | Channel information |
↳ approximate_member_count | number | Approximate member count |
↳ approximate_presence_count | number | Approximate online count |
Delete a Discord invite
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
inviteCode | string | Yes | The invite code to delete |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
Create a webhook in a Discord channel
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
channelId | string | Yes | The Discord channel ID to create the webhook in |
name | string | Yes | Name of the webhook (1-80 characters) |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Created webhook data |
↳ id | string | Webhook ID |
↳ name | string | Webhook name |
↳ token | string | Webhook token |
↳ url | string | Webhook URL |
↳ channel_id | string | Channel ID |
Execute a Discord webhook to send a message
| Parameter | Type | Required | Description |
|---|
webhookId | string | Yes | The webhook ID |
webhookToken | string | Yes | The webhook token |
content | string | Yes | The message content to send |
username | string | No | Override the default username of the webhook |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Message sent via webhook |
↳ id | string | Message ID |
↳ content | string | Message content |
↳ channel_id | string | Channel ID |
↳ timestamp | string | Message timestamp |
Get information about a Discord webhook
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
webhookId | string | Yes | The webhook ID to retrieve |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
data | object | Webhook data |
↳ id | string | Webhook ID |
↳ name | string | Webhook name |
↳ channel_id | string | Channel ID |
↳ guild_id | string | Server ID |
↳ token | string | Webhook token |
Delete a Discord webhook
| Parameter | Type | Required | Description |
|---|
botToken | string | Yes | The bot token for authentication |
webhookId | string | Yes | The webhook ID to delete |
serverId | string | Yes | The Discord server ID (guild ID) |
| Parameter | Type | Description |
|---|
message | string | Success or error message |