• Tools
Tools
  • Tools
loading...
No Results
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • Bitbucket
  • Coda
  • Code
  • ConvertKit
  • CSV
  • Crypto
  • Clockify
  • Data Shaping
  • Date & Time
  • Delay
  • DingTalk
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Github
  • Gitlab
  • Google Calendar
  • Google Developer
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Grafana
  • HaloPSA
  • Hacker News
  • Harvest
  • Help Scout
  • Hubspot
  • Intercom
  • Jenkins
  • Kafka
  • MailChimp
  • Microsoft Excel
  • Monday
  • Notion
  • Odoo
  • Ortto
  • Okta
  • Paddle
  • PayPal
  • Pipedrive
  • Qdrant
  • QRCode
  • QuickBooks
  • Redis
  • Segment
  • Search&Crawl
  • ServiceNow
  • Shopify
  • Stripe
  • Text
  • Trello
  • Twilio
  • WooCommerce
  • WordPress
  • Wikipedia
  • Xml
  • Zendesk
  • Zoom
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.
  • Member and Role Administration: Fetch lists of members in your server and assign or remove roles from them.

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 provides a comprehensive set of operations for managing resources within a Discord server (guild), primarily focusing on Channels, Messages, and Members.

Resource Operation Description
Channel Create a Channel Creates a new channel in a specified server.
Channel Delete a Channel Deletes a specified Discord channel.
Channel Get a Channel Retrieves information about a single Discord channel by its ID.
Channel Get Many Channels Retrieves a list of all channels in a specified server.
Channel Update a Channel Updates the properties of a specified Discord channel.
Member Get Many Members Retrieves a list of members from a specified server.
Member Role Add a Role to a Member Adds a specific role to a member in a server.
Member Role Remove a Role from a Member Removes a specific role from a member in a server.
Message Delete a Message Deletes a specified message in a channel.
Message Get a Message Retrieves a specific message from a channel.
Message Get Many Messages Retrieves multiple messages from a specified channel.
Message Send a Message Sends a message to a specified channel.
Message Send Message and Wait for Response Sends a message and waits for a reply within a timeout period.
Message Reaction React with an Emoji to a Message Adds an emoji reaction to a specified message.

Operation Details

Add a Role to a Member

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

Input Parameters:

  • GuildId: The ID of the Discord guild where the member resides.
  • UserId: The ID of the member to whom the role will be added.
  • RoleId: The ID of the role to add to the member.

Output:

  • GuildId (string): The ID of the guild where the role was added.
  • UserId (string): The ID of the member who received the role.
  • RoleId (string): The ID of the role that was added.
  • StatusCode (number): HTTP status code returned by the Discord API (204 indicates success), -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the operation failed; empty if successful.

Create a Channel

Creates a new channel in the specified Discord guild (server) using the provided OAuth2 access token.

Input Parameters:

  • GuildId: The ID of the Discord guild (server) where the new channel will be created.
  • ChannelName: The name of the channel to be created.

Options:

  • ChannelType (number): The type of channel, e.g., 0 for text channel, 2 for voice channel.

Output:

  • ChannelId (string): The ID of the newly created channel.
  • ChannelInfo (object): The full channel object returned by the Discord API.
  • StatusCode (number): HTTP status code returned by the Discord API; 201 indicates successful creation, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid, empty string if successful.

Delete a Channel

Deletes a specified Discord channel using the provided OAuth2 access token.

Input Parameters:

  • ChannelId: The ID of the Discord channel to be deleted.

Output:

  • ChannelId (string): The ID of the deleted channel.
  • ChannelInfo (object): The channel object returned by the Discord API if available, otherwise empty.
  • StatusCode (number): HTTP status code returned by the Discord API; 200 or 204 indicates successful deletion, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid, empty string if successful.

Delete a Message

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

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message.
  • MessageId: The ID of the message to delete.

Output:

  • ChannelId (string): The ID of the channel from which the message was deleted.
  • MessageId (string): The ID of the deleted message.
  • StatusCode (number): HTTP status code returned by the Discord API; 204 indicates successful deletion, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid, empty if successful.

Get Many Channels

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

Input Parameters:

  • GuildId: The ID of the Discord guild (server) whose channels are to be retrieved.

Output:

  • Channels (object-array): A list of channel objects returned by the Discord API for the specified guild.
  • StatusCode (number): HTTP status code from Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception or request failure.
  • ErrorMessage (string): Error message if the request fails or parameters are invalid; empty if successful.

Get Many Members

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

Input Parameters:

  • GuildId: The ID of the Discord guild from which members will be retrieved.

Options:

  • Limit (number): Maximum number of members to retrieve (1-1000), optional, default is 1000.
  • After (string): Retrieve members after this user ID, optional.

Output:

  • Members (object-array): List of guild member objects returned by the Discord API.
  • StatusCode (number): HTTP status code from Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request fails or parameters are invalid; empty if successful.

Get Many Messages

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

Input Parameters:

  • ChannelId: The ID of the Discord channel from which messages will be retrieved.

Options:

  • Limit (number): Maximum number of messages to retrieve (1-100), optional, default is 50.
  • Before (string): Retrieve messages sent before this message ID, optional.
  • After (string): Retrieve messages sent after this message ID, optional.
  • Around (string): Retrieve messages around this message ID, optional.

Output:

  • Messages (object-array): A list of message objects returned by the Discord API.
  • StatusCode (number): HTTP status code from Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception or request failure.
  • ErrorMessage (string): Error message if the request fails or parameters are invalid; empty if successful.

Get a Channel

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

Input Parameters:

  • ChannelId: The ID of the Discord channel to retrieve.

Output:

  • ChannelInfo (object): The channel object returned by the Discord API when successful.
  • StatusCode (number): HTTP status code returned by the Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid, empty string if successful.

Get a Message

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

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message.
  • MessageId: The ID of the Discord message to retrieve.

Output:

  • ChannelId (string): The ID of the channel containing the message.
  • MessageId (string): The ID of the retrieved message.
  • MessageInfo (object): The message object returned by the Discord API when successful.
  • StatusCode (number): HTTP status code returned by the Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception or request failure.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid; empty if successful.

Remove a Role from a Member

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

Input Parameters:

  • GuildId: The ID of the Discord guild where the member resides.
  • UserId: The ID of the member from whom the role will be removed.
  • RoleId: The ID of the role to be removed from the member.

Output:

  • GuildId (string): The ID of the guild where the role was removed.
  • UserId (string): The ID of the member who had the role removed.
  • RoleId (string): The ID of the role that was removed.
  • StatusCode (number): HTTP status code returned by the Discord API (204 indicates success), -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the operation failed; empty if successful.

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.
  • Content: The content of the message to send.

Options:

  • Timeout (number): The maximum time in seconds to wait for a reply message (>= 1).

Output:

  • SentMessageId (string): The ID of the message that was sent.
  • ResponseMessageInfo (object): The first reply message object returned by Discord API if received; empty if timed out.
  • TimedOut (bool): Indicates whether no reply was received within the timeout period.
  • StatusCode (number): Overall operation status code: 200 for success (reply received or timed out), -1 for parameter validation error, HTTP status codes for request errors, 500 for exceptions.
  • ErrorMessage (string): Error message if parameter validation fails or request errors; empty otherwise.

Send a Message

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

Input Parameters:

  • ChannelId: The ID of the Discord channel where the message will be sent.
  • Content: The content of the message to be sent.

Output:

  • ChannelId (string): The ID of the channel to which the message was sent.
  • MessageId (string): The ID of the created message.
  • MessageInfo (object): The message object returned by the Discord API upon successful creation.
  • StatusCode (number): HTTP status code returned by the Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the operation failed or parameters are invalid; empty if successful.

React with an Emoji to a Message

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

Input Parameters:

  • ChannelId: The ID of the Discord channel containing the message.
  • MessageId: The ID of the message to which the reaction will be added.
  • Emoji: The emoji to react with, either a Unicode character (e.g., "👍") or a custom emoji identifier ("name:id").

Output:

  • ChannelId (string): The ID of the channel containing the message.
  • MessageId (string): The ID of the message to which the reaction was added.
  • Emoji (string): The emoji that was added.
  • StatusCode (number): HTTP status code returned by the Discord API (204 indicates success), -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the operation failed; empty if successful.

Update a Channel

Updates properties of a specified Discord channel using the provided OAuth2 access token.

Input Parameters:

  • ChannelId: The ID of the Discord channel to be updated.

Options:

  • ChannelName: New name for the channel, optional.
  • ChannelTopic: New topic for the channel, optional.

Output:

  • ChannelInfo (object): The updated channel object returned by the Discord API when successful.
  • StatusCode (number): HTTP status code returned by the Discord API; 200 indicates success, -1 indicates parameter validation error, 500 indicates exception.
  • ErrorMessage (string): Error message if the request failed or parameters are invalid, empty if successful.

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: Dec 3, 2025
Was This Page Helpful?
Prev DingTalk
Next Dropbox
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