• Tools
Tools
  • Tools
loading...
No Results
  • ActiveCampaign
  • AirDroid Business
    • Index
    • Batch Resolve Device and Group IDs by Name
    • Batch Resolve Device IDs by Name
    • Batch Resolve Group IDs by Name
    • Batch Get Devices by Device or Group IDs
    • Clear app data and cache
    • Create a group
    • Delete groups
    • Delete Provisioning Templates
    • Disable lost mode
    • Error codes
    • Enable lost mode
    • Field reference
    • Get average screen time
    • Get account activities
    • Get a Configuration
    • Get a device by name
    • Get a device app by name
    • Get a group
    • Get a group id by group name
    • Get a Provisioning Template
    • Get an activity log
    • Get all devices
    • Get all device apps
    • Get all devices with filter
    • Get Config File Deployment Status
    • Get device info push
    • Get device location report
    • Get device network connection history
    • Get device application usage duration
    • Get device application report
    • Get device online status report
    • Get device remote access report
    • Get data usage overview and trends
    • Get tag ids by tag names
    • Get top 10 apps by usage duration
    • Get top 10 data usage apps
    • Generate Device Owner Enrollment QR for Template
    • List Groups
    • List Policy and Kiosk Configurations
    • List Provisioning Templates
    • Lock a device
    • Move devices to a group
    • Open app to foreground
    • Power off a device
    • Reboot device
    • Remote operation
    • Search Groups
    • Set tags
    • Turn off device screen
    • Unenroll a device
    • Update a device name
    • Update a device remark
    • Update a group name
    • Update a group remark
    • Retry Organization App Library Distribution
    • Search Organization App Library Applications
    • Batch Set Device Tags
    • Search Batch Operation Activity Logs
    • Search File Batch Delete Results
    • Search File Batch Send Results
    • Batch Delete Files
    • Batch Send Files
    • Batch Clear App Data and Cache
    • Move Groups to a Group
    • List Organization App Library Distribution Status
    • Get Application Uninstall Result
    • Get Device Daemon Permissions
    • Create Tags
    • Uninstall Application
    • List Organization App Library Applications
    • Delete Tag
    • Batch Upload Qiniu Files
    • Search File Batch Upload Results
    • Retry Batch Qiniu File Upload
  • Adalo
  • Appstore
  • Asana
  • AWS Lambda
  • AWS-S3
  • BambooHR
  • Bitbucket
  • Brevo
  • Clockify
  • Coda
  • ConvertKit
  • DingTalk
  • Discord
  • Discourse
  • Dropbox
  • Elasticsearch
  • Elastic Security
  • FeiShu
  • Firecrawl
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Github
  • Gitlab
  • Google Ads
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Grafana
  • Hacker News
  • HaloPSA
  • Harvest
  • Help Scout
  • Hubspot
  • Intercom
  • Jenkins
  • Jira
  • Kafka
  • Lemlist
  • Linear
  • Magento
  • MailChimp
  • Mautic
  • Metabase
  • Microsoft Excel
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft Sharepoint
  • Microsoft Teams
  • Microsoft To Do
  • monday.com
  • MySQL
  • Nextcloud
  • Notion
  • Odoo
  • Okta
  • OpenAI
  • Ortto
  • Paddle
  • PayPal
  • Pipedrive
  • PostgreSQL
  • PostHog
  • Qdrant
  • QuickBooks
  • Redis
  • Segment
  • SendGrid
  • ServiceNow
  • Shopify
  • Slack
  • Splunk
  • Spotify
  • Strapi
  • Stripe
  • System Tools
    • Code
    • CSV
    • Crypto
    • Data Shaping
    • Date & Time
    • Delay
    • Documents
    • QRCode
    • Search&Crawl
    • Text
    • Xml
  • Teambition
  • Telegram
  • Todoist
  • Trello
  • Twilio
  • Webflow
  • Wekan
  • Wikipedia
  • WooCommerce
  • WordPress
  • X
  • YouTube
  • Zammad
  • Zendesk
  • Zoho CRM
  • Zoom
  • Zulip
Home > Tools

Discord

1. Overview

Discord is a voice, video, and text communication service used by tens of millions of people to hang out and talk with their friends and communities. It provides a platform for creating servers (called "guilds") where users can join channels to chat about various topics.

The GoInsight Discord node allows you to automate interactions with your Discord servers directly within your workflows. You can manage channels, send messages, and moderate members programmatically. Key capabilities include:

  • Channel Management: Create, update, retrieve, and delete channels within your server.
  • Message Automation: Send messages to specific channels, retrieve message history, and delete messages.
  • Guild, Member, and Role Administration: Fetch guild, member, and role data from your server and assign or remove roles programmatically.

2. Prerequisites

Before using this node, you must have a valid Discord account. You will also need to create a Discord Application and a Bot user to obtain the necessary credentials for API access. Depending on the operations you wish to perform, your Bot may require specific permissions (e.g., Manage Channels, Send Messages, Manage Roles) within the target server.

3. Credentials

For a detailed guide on how to obtain and configure your credentials, please refer to our official documentation: Credentials Configuration Guide.

4. Supported Operations

Summary

This node primarily operates on resources such as Channel, Guild, Member, Role, Member Role, and Message.

Resource Operation Description
Channel Create a Channel ⚠️ WARNING: This operation creates a live Discord channel immediately and is not idempotent. Repeating the same request may create duplicate channels.
Channel Delete a Channel ⚠️ WARNING: This operation PERMANENTLY deletes the Discord channel and CANNOT be undone. Deletes a specified Discord channel using the Discord Bot token.
Channel Get Many Channels Retrieves a list of all channels in the specified Discord guild (server) using the provided bot token.
Channel Get a Channel Retrieves information about a Discord channel by its ID using the provided bot token.
Channel Update a Channel ⚠️ WARNING: This operation updates the live Discord channel immediately. Only the fields you provide will be updated; other fields remain unchanged.
Guild Get Many Guilds Retrieves partial guild objects for the Discord servers the bot has joined using cursor-based pagination.
Member Get Many Members Retrieves multiple members from a specified Discord guild using the provided bot token with optional pagination parameters.
Member Get a Member Retrieves a specified member from a Discord guild using the provided bot token.
Role Get Many Roles Retrieves all roles in the specified Discord guild using the provided bot token.
Member Role Add a Role to a Member Adds a role to a specified member in a Discord guild using the provided bot token.
Member Role Remove a Role from a Member Removes a role from a specified member in a Discord guild using the provided bot token.
Message Delete a Message Deletes a specified message in a Discord channel using the provided bot token.
Message Get Many Messages Retrieves multiple messages from a specified Discord channel using the provided bot token with optional pagination parameters.
Message Get a Message Retrieves a specified message from a Discord channel using the provided bot token.
Message Send Message and Wait for Response Sends a message to a specified Discord channel and waits for a reply within a given timeout period.
Message Send a Message Sends a message to a specified Discord channel using the provided bot token.
Message React with an Emoji to a Message Adds an emoji reaction to a specified Discord message in a channel using the provided bot token.

Operation Details

Create a Channel

⚠️ WARNING: This operation creates a live Discord channel immediately and is not idempotent. Repeating the same request may create duplicate channels.

Creates a new channel in the specified Discord guild (server) using the provided bot token. To reduce duplicate risk, call Get Many Channels first to verify whether the target name already exists.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) where the new channel will be created. This is a numeric string (e.g., "1234567890123456789"). You can obtain the Guild ID by: 1) Enabling Developer Mode in Discord Settings > Advanced, 2) Right-clicking on the server icon > Copy ID, or 3) Calling the Get Many Guilds action to list guilds the bot can access.
  • ChannelName: The name of the channel to be created. Channel names must be between 1-100 characters and can only contain alphanumeric characters, hyphens, and underscores. To reduce duplicate-channel risk, call Get Many Channels first if you need to confirm the name is not already in use.

Options:

  • ChannelType: The type of channel to create. Common values: 0 = Guild Text (Default, regular text channel for messaging), 2 = Guild Voice (voice channel for audio/video chat), 4 = Guild Category (container for organizing multiple channels), 5 = Guild News (announcement channel, requires server boost), 13 = Guild Stage Voice (stage channel for hosting events), 15 = Guild Forum (forum channel for threaded discussions). For most use cases, choose 0 (text channel) or 2 (voice channel).

Output:

  • Channel (object): The full channel object returned by the Discord API. Core fields: id (string, Channel ID), type (int, Channel type: 0=text, 2=voice, 4=category, 5=news, 13=stage, 15=forum), name (string, Channel name), guild_id (string, Parent guild ID), position (int, Sorting position), permission_overwrites (array, Permission settings), topic (string, Channel topic for text channels), nsfw (bool, Age-restricted flag), last_message_id (string, ID of last message), bitrate (int, Voice channel bitrate), user_limit (int, Voice channel user limit), rate_limit_per_user (int, Slowmode delay in seconds), parent_id (string, Parent category ID). Empty object if creation failed.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Delete a Channel

⚠️ WARNING: This operation PERMANENTLY deletes the Discord channel and CANNOT be undone. Deletes a specified Discord channel using the Discord Bot token (obtained from Discord Developer Portal > Bot Settings > Token). The bot must have "Manage Channels" permission in the guild.

Input Parameters:

  • ChannelId: The ID of the Discord channel to be deleted. How to obtain: - Use "Get Guild Channels" to list all channels in a guild - Use "Get Channel" to retrieve a specific channel's details - Channel IDs are 18-19 digit numeric strings (e.g., "1468814521924718674") Permissions required: - Bot must have "Manage Channels" permission in the guild - Cannot delete the guild's system channels (rules, community updates) Example: "1468814521924718674"

Output:

  • Channel (object): The deleted Discord channel object. Returns the channel's final state before deletion. Core fields: - id (string): Channel unique identifier (18-19 digits) - name (string): Channel name - type (number): Channel type (0=text, 2=voice, 4=category, etc.) - guild_id (string): Parent guild ID Configuration: - position (number): Sorting position in channel list - permission_overwrites (array): Role/user permission overrides - parent_id (string): Parent category ID (null if top-level) Metadata: - flags (number): Channel flags bitfield - nsfw (boolean): Age-restricted content flag - topic (string): Channel topic/description Voice-specific (if applicable): - bitrate, user_limit, rtc_region, video_quality_mode Thread-specific (if applicable): - message_count, member_count, thread_metadata For complete field documentation, see: https://discord.com/developers/docs/resources/channel#channel-object
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get Many Channels

Retrieves a list of all channels in the specified Discord guild (server) using the provided bot token.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) whose channels are to be retrieved. To get Guild ID: 1) Enable Developer Mode in Discord (User Settings → Advanced → Developer Mode), 2) Right-click the server icon → Copy Server ID, or 3) Use the Get Many Guilds action to list all accessible servers. Example: 1234567890123456789

Output:

  • Channels (object-array): A list of channel objects returned by the Discord API for the specified guild. Each channel object contains: id (string, unique channel identifier), name (string, channel name), type (number, 0=Text, 2=Voice, 4=Category, 5=Announcement, 13=Stage, 15=Forum), position (number, sorting position), parent_id (string|null, parent category ID), permissions_overwrites (array, channel-specific permission overrides), topic (string|null, channel topic), nsfw (boolean, age-restricted flag), last_message_id (string|null, ID of last message), bitrate (number, voice channel bitrate), user_limit (number, voice channel user limit), rate_limit_per_user (number, slowmode seconds). Full reference: https://discord.com/developers/docs/resources/channel#channel-object
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get a Channel

Retrieves information about a Discord channel by its ID using the provided bot token.

Input Parameters:

  • ChannelId: The ID of the Discord channel to retrieve. This is a 17-19 digit numeric string (Snowflake format). You can obtain Channel IDs by: 1) Right-click a channel in Discord desktop/web app and select 'Copy ID' (Developer Mode must be enabled in User Settings > Advanced); 2) Use 'List Guild Channels' action to get all channel IDs in a server; 3) Extract from message URLs: discord.com/channels/SERVER_ID/CHANNEL_ID/MESSAGE_ID. Example: "1234567890123456789"

Output:

  • Channel (object): The channel object returned by Discord API when successful. Core fields include: id (string, channel unique identifier in Snowflake format), type (number, channel type: 0=Text, 2=Voice, 4=Category, 5=News, 13=Stage), guild_id (string, server/guild ID this channel belongs to), name (string, channel name 1-100 characters), topic (string, channel topic/description 0-1024 characters), position (number, sorting position in channel list), nsfw (boolean, whether marked as NSFW), parent_id (string, category ID if nested under a category), last_message_id (string, ID of the last message sent), bitrate (number, voice channel bitrate 8000-384000), user_limit (number, voice channel user limit 0-99), rate_limit_per_user (number, slowmode seconds 0-21600), owner_id (string, thread creator ID for threads), application_id (string, application ID if bot-created), last_pin_timestamp (string, ISO8601 timestamp of last pinned message), flags (number, channel flags bitfield). Complete field reference: https://discord.com/developers/docs/resources/channel#channel-object
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Update a Channel

⚠️ WARNING: This operation updates the live Discord channel immediately. Review ChannelId and the fields you are changing before you call it.

Updates properties of a specified Discord channel using PATCH strategy. Only the fields you provide will be updated; other fields remain unchanged.

Input Parameters:

  • ChannelId: The ID of the Discord channel to be updated. To obtain: 1) Enable Developer Mode in Discord settings, right-click the channel and select Copy ID; 2) Or call the Get Many Channels action to list all channels in the target guild.

Options:

  • ChannelName: New name for the channel (2-100 characters), optional. Only the fields you provide will be updated.
  • ChannelTopic: New topic/description for the channel (0-1024 characters), optional. Only the fields you provide will be updated.

Output:

  • ChannelInfo (object): The updated channel object returned by the Discord API. Contains the following core fields: - id (string): Channel unique identifier - name (string): Channel name (2-100 characters) - type (number): Channel type (0=text channel, 2=voice channel, 4=category, 5=announcement channel, etc.) - topic (string): Channel topic/description - guild_id (string): The server (guild) ID this channel belongs to - position (number): Sorting position in the channel list - permission_overwrites (array): Permission overwrites for members and roles - nsfw (boolean): Whether the channel is marked as NSFW - parent_id (string): ID of the parent category channel
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get Many Guilds

Retrieves partial guild objects for the Discord servers the bot has joined using the provided bot token. Supports cursor-based pagination with Before, After, and Limit.

Options:

  • Limit: Maximum number of guilds to retrieve in this page (1-200). Default is 100. Use a smaller value when you plan to iterate through many guilds.
  • Before: Return guilds before this guild ID for pagination. Mutually exclusive with After. Use the Pagination.first_guild_id or Pagination.last_guild_id from a previous response as needed. Leave empty for the first page.
  • After: Return guilds after this guild ID for pagination. Mutually exclusive with Before. Leave empty for the first page when fetching the earliest available page.

Output:

  • Guilds (object-array): List of partial guild objects the bot has joined. Each object contains fields such as id, name, icon, owner, permissions, and features. Use Guilds[].id as GuildId in other Discord actions.
  • Pagination (object): Pagination metadata for this response page. Contains limit, returned_count, first_guild_id, last_guild_id, has_more, before, and after.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get Many Members

Retrieves multiple members from a specified Discord guild using the provided bot token with optional pagination parameters.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) from which members will be retrieved. This is a unique 18-19 digit number (Snowflake ID). You can find it by enabling Developer Mode in Discord settings and right-clicking the server icon. Example: "1234567890123456789"

Options:

  • Limit: Maximum number of members to retrieve per page (1-1000). Default is 100.
  • After: Retrieve members after this user ID for pagination. This should be the 'user.id' of the last member from the previous response (from Pagination.last_user_id). Leave empty for the first page. Example: "1234567890123456789"

Output:

  • Members (object-array): List of guild member objects. Each member object contains: - user (object): User information with fields: id, username, discriminator, avatar, bot, system, mfa_enabled, banner, accent_color, locale, verified, email, flags, premium_type, public_flags - nick (string): Guild nickname (null if not set) - avatar (string): Guild-specific avatar hash (null if not set) - roles (array): Array of role IDs the member has - joined_at (string): ISO 8601 timestamp of when user joined the guild - premium_since (string): ISO 8601 timestamp of when user started boosting (null if not boosting) - deaf (boolean): Whether user is deafened in voice channels - mute (boolean): Whether user is muted in voice channels - flags (number): Guild member flags - pending (boolean): Whether user has passed membership screening - permissions (string): Total permissions of the member in the channel - communication_disabled_until (string): ISO 8601 timestamp until when user is timed out (null if not timed out) Full schema: https://discord.com/developers/docs/resources/guild#guild-member-object
  • Pagination (object): Pagination metadata for retrieving next page: - limit (number): The limit value used in this request - returned_count (number): Actual number of members returned in this response - last_user_id (string): The user.id of the last member in current response, use this as 'After' parameter for next page request - has_more (boolean): Whether there might be more members available (true if returned_count equals limit)
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get a Member

Retrieves a specified member from a Discord guild using the provided bot token.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) where the member belongs. This is an 18-19 digit Snowflake ID. You can obtain it by enabling Developer Mode in Discord, then right-clicking the server icon and selecting Copy ID. Example: 1234567890123456789
  • UserId: The Discord user ID of the member to retrieve. You can obtain it by enabling Developer Mode in Discord, then right-clicking the target user and selecting Copy ID, or by using the Get Many Members action and reading members[].user.id. Example: 9876543210987654321

Output:

  • GuildId (string): The Discord guild ID used in this request, echoed back for tracing and downstream workflows.
  • UserId (string): The Discord user ID used in this request, echoed back for tracing and downstream workflows.
  • Member (object): The Discord guild member object returned by Discord API. Core fields include user, nick, avatar, roles, joined_at, premium_since, deaf, mute, flags, pending, permissions, and communication_disabled_until.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get Many Roles

Retrieves all roles in the specified Discord guild using the provided bot token.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) whose roles will be retrieved. This is an 18-19 digit Snowflake ID. You can obtain it by enabling Developer Mode in Discord, then right-clicking the server icon and selecting Copy ID. Example: 1234567890123456789

Output:

  • Roles (object-array): List of Discord role objects returned by the guild roles endpoint. Core fields include id, name, color, hoist, position, permissions, managed, mentionable, icon, unicode_emoji, flags, and tags.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Add a Role to a Member

Adds a role to a specified member in a Discord guild using the provided bot token.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) where the member resides. Can be obtained from the Discord Developer Portal (Server Settings > Widget) or via the Get Guild API. Format: 18-19 digit numeric string. Example: "1234567890123456789"
  • UserId: The ID of the member to whom the role will be added. Can be obtained via List Guild Members API or from user interaction events (e.g., message author ID). Format: 18-19 digit numeric string. Example: "9876543210987654321"
  • RoleId: The ID of the role to add to the member. Can be obtained via Get Guild Roles API or from the Discord app (Server Settings > Roles, enable Developer Mode and right-click role). Format: 18-19 digit numeric string. Example: "1122334455667788990"

Output:

  • GuildId (string): The Discord guild ID where the role was added, echoed back for traceability and downstream workflows.
  • UserId (string): The Discord user ID of the member who received the added role in this operation.
  • RoleId (string): The Discord role ID that was added to the target member in this operation.
  • OriginalStatusCode (number): The original HTTP status code returned by the Discord API. Default 0 means the request did not reach upstream (e.g., timeout). 204 indicates success. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Remove a Role from a Member

Removes a role from a specified member in a Discord guild using the provided bot token.

Input Parameters:

  • GuildId: The ID of the Discord guild where the member resides. Can be obtained from the Get Many Guilds action or from the Discord Developer Portal under your application's settings. Example: 1234567890123456789
  • UserId: The ID of the member from whom the role will be removed. Can be obtained from the Get Many Members or Get a Member actions. Example: 9876543210987654321
  • RoleId: The ID of the role to be removed from the member. Can be obtained from the Get Many Roles action. Example: 1122334455667788990

Output:

  • GuildId (string): The Discord guild ID where the role was removed, echoed back for traceability and downstream workflows.
  • UserId (string): The Discord user ID of the member whose role was removed by this operation.
  • RoleId (string): The Discord role ID that was removed from the target member in this operation.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Delete a Message

Deletes a specified message in a Discord channel using the provided bot token.

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message. You can get this ID from Get Many Channels, Send a Message output, or Discord Developer Mode. Example: 1234567890123456789
  • MessageId: The ID of the message to delete. You can get this ID from Get Many Messages, Send a Message, or Send Message and Wait for Response output. Example: 9876543210987654321

Output:

  • ChannelId (string): The Discord channel ID from which the message was deleted, echoed back for traceability and downstream logging.
  • MessageId (string): The Discord message ID that was deleted by this operation, echoed back for audit and workflow chaining.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get Many Messages

Retrieves multiple messages from a specified Discord channel using the provided bot token with optional pagination parameters.

Input Parameters:

  • ChannelId: The ID of the Discord channel from which messages will be retrieved. Can be obtained from: 1) Get Many Channels output, 2) Discord UI (right-click channel -> Copy ID, requires Developer Mode enabled), or 3) Channel creation response. Example: 123456789012345678

Options:

  • Limit: Maximum number of messages to retrieve (1-100). Defaults to 50 if not specified.
  • Before: Retrieve messages sent BEFORE this message ID (older messages). Use the 'oldest_message_id' from previous response's Pagination object to fetch the next page. Mutually exclusive with 'after' and 'around'. Example: "987654321098765432"
  • After: Retrieve messages sent AFTER this message ID (newer messages). Use the 'newest_message_id' from previous response's Pagination object to fetch the previous page. Mutually exclusive with 'before' and 'around'. Example: "987654321098765432"
  • Around: Retrieve messages AROUND this message ID (context messages). Returns messages before and after the specified ID. Mutually exclusive with 'before' and 'after'. Example: "987654321098765432"

Output:

  • Messages (object-array): A list of message objects returned by the Discord API. Each message object contains: id (string, message unique ID), content (string, message text), author (object with id, username, discriminator, avatar), timestamp (string, ISO 8601 format), edited_timestamp (string or null), channel_id (string), guild_id (string, if in a guild), attachments (array of attachment objects), embeds (array of embed objects), reactions (array of reaction objects), mentions (array of user objects), mention_roles (array of role IDs), pinned (boolean), type (number, message type). Full schema: https://discord.com/developers/docs/resources/message#message-object
  • Pagination (object): Pagination metadata. Contains: returned_count (number, count of messages in this response), has_more (boolean, true if more messages may exist), oldest_message_id (string, ID of the oldest message in this response, use as 'before' parameter for next page), newest_message_id (string, ID of the newest message in this response, use as 'after' parameter for previous page).
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Get a Message

Retrieves a specified message from a Discord channel using the provided bot token.

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message. How to obtain: - Method 1: Copy from Discord channel URL (e.g., https://discord.com/channels/SERVER_ID/CHANNEL_ID) - Method 2: Use Get Many Channels to retrieve channel IDs - Method 3: Right-click the channel in the Discord desktop app → Copy ID (requires Developer Mode enabled). Example: 123456789012345678
  • MessageId: The ID of the Discord message to retrieve. How to obtain: - Method 1: Copy from a message URL (right-click message → Copy Message Link) - Method 2: Use Get Many Messages to retrieve message IDs from a channel - Method 3: Right-click the message in the Discord desktop app → Copy ID (requires Developer Mode enabled). Example: 987654321098765432

Output:

  • ChannelId (string): The Discord channel ID that contains the retrieved message, echoed back for chaining and audit logs.
  • MessageId (string): The Discord message ID that was retrieved by this operation, echoed back for workflow chaining.
  • Message (object): The Discord message object containing the following core fields: - id (string): Message unique identifier - content (string): Message text content - author (object): Author information including id, username, avatar, discriminator - timestamp (string): Message creation time in ISO 8601 format - channel_id (string): Channel ID where the message was posted - attachments (array): List of attached files or media - embeds (array): List of embedded content (links, images, videos) - reactions (array): List of emoji reactions - edited_timestamp (string|null): Last edit time, null if never edited - mention_everyone (boolean): Whether the message mentions @everyone - mentions (array): List of mentioned users - mention_roles (array): List of mentioned roles - pinned (boolean): Whether the message is pinned - tts (boolean): Whether this is a text-to-speech message - type (number): Message type (0=default, 19=reply, etc.) Refer to Discord API documentation for complete field list.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Send Message and Wait for Response

Sends a message to a specified Discord channel and waits for a reply within a given timeout period.

Input Parameters:

  • ChannelId: The ID of the Discord channel to send the message and listen for replies. How to get: 1. Enable 'Developer Mode' in Discord (Settings > Advanced > Developer Mode) 2. Right-click the target channel > Click 'Copy ID' 3. Format: 18-19 digit number, e.g., '123456789012345678' Example: "123456789012345678"
  • Content: The content of the message to send. Format requirements: - Maximum length: 2000 characters - Supports Markdown format (bold, italic, code) - Supports Emoji (:smile: or Unicode emoji) - Does not support attachments (use Discord Embed API for rich content) Example: "Hello @User, please confirm your order: Order #12345"

Options:

  • Timeout: The maximum time in seconds to wait for a reply message (>= 1). Recommended values: - 30-120 seconds for quick Q&A scenarios - 300 seconds for approval workflows Default: 30 seconds
  • PollInterval: The interval in seconds between polling attempts to check for new messages (>= 1). Note: Frequent polling may trigger Discord API rate limits (429 error). Default: 1 second

Output:

  • SentMessageId (string): The ID of the message that was sent successfully. Format: 18-19 digit string (e.g., '123456789012345678'). Empty if sending failed.
  • ResponseMessage (object): The first reply message object returned by Discord API (Discord Message Object). Key fields: - id (string): Message ID - content (string): Message content - author (object): Author info, contains id, username, discriminator, avatar - timestamp (string): Message timestamp (ISO 8601 format, e.g., '2024-01-15T10:30:00.000Z') - channel_id (string): Channel ID where the message was sent - type (number): Message type (0=default, 19=reply, etc.) - mentions (array): Mentioned users - mention_roles (array): Mentioned roles - attachments (array): Message attachments - embeds (array): Embedded content - reactions (array): Message reactions Returns empty object {} if timed out or no reply received. See full structure: https://discord.com/developers/docs/resources/channel#message-object
  • TimedOut (bool): Indicates whether no reply was received within the timeout period. Business meaning: - true: No reply received within timeout. Consider this a normal business branch, not a failure. You may need to resend or notify the user. - false: Reply received successfully or an error occurred before timeout. Note: This flag is only meaningful when StatusCode=200.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

Send a Message

Sends a message to a specified Discord channel using the provided bot token.

Input Parameters:

  • ChannelId: The ID of the Discord channel where the message will be sent (18-19 digit number). To obtain: 1) Enable Developer Mode in Discord (User Settings > Advanced > Developer Mode), 2) Right-click the target channel and select 'Copy ID', 3) Or use Get Channels API. Example: "1234567890123456789"
  • Content: The content of the message to be sent (max 2000 characters). Supported formats: Markdown (bold, italic, ~~strikethrough~~), Emoji (:smile: or 👋), Mention user (<@USER_ID>), Mention channel (<#CHANNEL_ID>), and fenced code blocks containing text like code. Example: Hello **@everyone**! Check out <#9876543210987654321> 🚀

Output:

  • ChannelId (string): The Discord channel ID to which the message was sent, echoed back for follow-up actions and logs.
  • MessageId (string): The Discord message ID created by this operation, echoed back for follow-up retrieval or deletion.
  • MessageInfo (object): Discord message object containing the following core fields: id (string): Unique message ID, channel_id (string): Channel ID, author (object): Author information with id, username, bot fields, content (string): Message content, timestamp (string): Creation time (ISO 8601 format), edited_timestamp (string|null): Edit time, mentions (array): List of mentioned users, attachments (array): List of attachments, embeds (array): List of embedded content, reactions (array): List of reactions, pinned (boolean): Whether pinned, type (number): Message type. For complete field reference, see Discord API documentation: https://discord.com/developers/docs/resources/message
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

React with an Emoji to a Message

Adds an emoji reaction to a specified Discord message in a channel using the provided bot token.

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message. How to get Channel ID: 1. Enable Developer Mode in Discord (User Settings > Advanced > Developer Mode) 2. Right-click the target channel > Copy ID You can also use the Get Many Channels action to list all channels in a guild. Example: "1234567890123456789"
  • MessageId: The ID of the message to which the reaction will be added. How to get Message ID: 1. Enable Developer Mode in Discord 2. Right-click the target message > Copy ID You can also use the Get Many Messages action to fetch recent messages from a channel. Example: "9876543210987654321"
  • Emoji: The emoji to react with. Supports two formats: 1. Unicode Emoji: Use the actual emoji character directly. Examples: "👍", "❤️", "🎉", "🔥" 2. Custom Server Emoji: Format: "name:emoji_id" - name: The emoji name (without colons) - emoji_id: The emoji's unique ID How to get Custom Emoji ID: 1. Enable Developer Mode in Discord 2. Right-click the custom emoji > Copy Link 3. Extract the ID from the URL: https://cdn.discordapp.com/emojis/{id}.png Example: "thinking:123456789012345678" Note: The bot must have access to the server where the custom emoji is from.

Output:

  • ChannelId (string): The ID of the channel containing the message (echoed from input for confirmation).
  • MessageId (string): The ID of the message to which the reaction was successfully added (echoed from input).
  • Emoji (string): The emoji that was successfully added to the message (echoed from input).
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): Detailed error message if any error occurred. Empty string if the operation succeeded.

5. Example Usage

This section will guide you through creating a simple workflow to send a notification message to a specific Discord channel.

Workflow Overview: Start -> Discord: Send a Message -> Answer

Step-by-Step Guide

  1. Add the Discord Node:
    • In your workflow canvas, click the + button to add a new node.
    • Select the "Tools" tab in the pop-up panel.
    • Find and select "Discord" from the list of tools.
    • From the list of supported operations for Discord, click on "Send a Message". This will add the node to your canvas.
  2. Configure the Node:
    • Click on the newly added "Send a Message" node to open its configuration panel on the right.
    • Credentials: In the credentials field at the top, click the dropdown menu and select your pre-configured Discord credential.
    • Parameters: Fill in the required input parameters for the operation.
    • ChannelId: Enter the unique ID of the Discord channel where you want to send the message. You can get this by enabling Developer Mode in Discord and right-clicking the channel to copy its ID.
    • Content: Type the message you wish to send. For example, "Workflow executed successfully!". You can also use variables from previous nodes to create dynamic messages.
  3. Run and Validate:
    • Once all required parameters are filled, any error indicators on the node should disappear.
    • Click the "Run Test" button in the top-right corner of the canvas to execute the workflow.
    • After a successful run, you can click the logs icon in the top-right corner to view the detailed inputs and outputs of the node, confirming that the message was sent.

After completing these steps, your workflow is fully configured. When executed, it will automatically send the specified message to your designated Discord channel.

6. FAQs

Q: Why am I getting a 401 Unauthorized or 403 Forbidden error?

A: This typically indicates an issue with your credentials or permissions. Please check the following:

  • Correct Credentials: Ensure your Bot Token is correct and has been configured properly in GoInsight's credentials manager.
  • Bot Permissions: Verify that your bot has been invited to the target Discord server (guild) and has the necessary permissions for the action you are trying to perform (e.g., "Send Messages" permission in the target channel).
  • OAuth2 Scopes: Make sure you have enabled the correct OAuth2 scopes (like bot and applications.commands) when you created the bot invitation link.

Q: How do I find the ID for a Channel, User, Guild, or Role?

A: To get these IDs, you need to enable Developer Mode in your Discord client.

  • Enable Developer Mode: Go to User Settings > Advanced and toggle on Developer Mode.
  • Copy ID: Once enabled, you can right-click on a server name, channel, user, or role to see a "Copy ID" option in the context menu. Click it to copy the unique ID to your clipboard.

7. Official Documentation

For more in-depth information about the Discord API and its capabilities, please refer to the official documentation:

Discord Official API Documentation

Updated on: Aug 14, 2026
Was This Page Helpful?
Prev DingTalk
Next Discourse
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
    • Step-by-Step Guide
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results