Resources · n8n integration

Discord n8n integrationAutomate Discord with n8n.

Your community lives on Discord, your automations live elsewhere. The Discord n8n integration covers 14 operations over 3 resources: channels, messages and members. No trigger node exists on the Discord side, so a workflow starts elsewhere and Discord is where it posts, reads or grants a role.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What can the Discord n8n integration actually do?

The Discord n8n integration is the Discord node shipped with n8n, driven by a workflow. It authenticates with a bot token, an OAuth2 app or a Discord webhook URL, then works on three resources: Channel, Message and Member. Fourteen operations cover creating and editing channels, sending and reading messages, reacting with an emoji, listing members and granting or revoking a role.

Start with the alert nobody has to refresh. A Schedule Trigger pulls a value or a row from Google Sheets, a filter keeps only what crosses the threshold, and message.send posts the result in the channel that cares about it. The same alert sent to Slack or Telegram is built the same way in n8n; on Discord it lands where the community already sits, and a role mention pings only the people on duty.

Second shape: moderation with a human in the loop. A workflow reads new posts with message.getAll, a text classifier scores them, and the doubtful ones go to a moderator through message.sendAndWait. The run stops on an approval button, and only a Yes calls message.deleteMessage. No message disappears on a model's word alone, and the decision stays visible in the channel where it was taken.

Third shape: access that follows the money. A payment webhook fires member.roleAdd to unlock the paid channels, the end of a subscription fires member.roleRemove, and member.getAll exports the roster when someone wants to check who still belongs there. Channels follow the same lifecycle: channel.create opens a space for a project, channel.update slows it down when it gets loud, channel.deleteChannel closes it once the archive is done.

Two things the node will not do for you. Nothing listens to Discord: there is no Discord trigger in n8n, so a message posted on the server never starts a run by itself, and the entry point is a Schedule Trigger, the n8n Webhook node called by a third-party service, or another app's trigger. And embeds stop at the fields the node exposes; a footer or custom fields go through Input Method set to Raw JSON, or through the HTTP Request node aimed at the Discord API with the very same credential. That fallback also answers any endpoint the node does not cover.

Still weighing platforms or still learning the tool? The n8n review takes the hosting and cost questions apart, and the n8n training walks through building this kind of workflow end to end.

Connect

How do you connect Discord to n8n?

  1. 01

    Create the app and generate a bot token

    In the Discord developer portal, create an application, enter a Name and select Create. Open Bot in the left menu, then Reset Token under Token to generate the bot token, and copy it. Under Privileged Gateway Intents, n8n recommends turning on SERVER MEMBERS INTENT, required for the events listed under GUILD_MEMBERS.

  2. 02

    Set the scopes and permissions, then install the bot

    Guild Install is the installation context for a bot added to a server, the common case with n8n. In Default Install Settings, select the applications.commands and bot scopes. On Bot Permissions, n8n recommends Send Messages, Manage Channels, Manage Roles, Read Message History and Add Reactions. Then open the install link and select Add to server.

  3. 03

    Create the credential in n8n

    A credential lives in the n8n Credentials menu and serves every workflow. The bot method asks for the Bot Token alone. OAuth2 adds a Client ID, a Client Secret, the Authentication placement (header or body) and a bot token; the OAuth Redirect URL from n8n goes into the Redirects of the Discord app. The webhook method needs a Webhook URL.

Actions

What the Discord node does, operation by operation

The Discord node exposes 14 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteDeleteReact with EmojiRole AddRole RemoveSendSend and Wait for Response
Channel✓✓✓✓✓
Message✓✓✓✓✓✓
Member✓✓✓

Channel

5 operations
01

Create a channel

channel.create

What you see in n8n

Notes & use cases

Creates a channel in the chosen server and returns it, so the next node can already post in it.

Key parameters

  • Server: the server the bot was installed on, picked from the dropdown or by ID.
  • Name: the channel name, usually lowercase with hyphens (new-channel).
  • Type: 0 for a text channel, 2 for voice, 4 for a category.
  • Parent Category: optional, files the channel under an existing category instead of leaving it loose.
  • Topic: optional description of the channel, up to 1024 characters.
Use cases
one channel per client project, opened the day the deal is signed, with the brief posted in it a second later.
02

Delete a channel

channel.deleteChannel

What you see in n8n

Notes & use cases

Removes one channel from a server, which makes this the closing step of a lifecycle workflow rather than a routine action.

Key parameters

  • Channel: selected by name, URL or ID, so an ID carried over from a previous node works as well as a manual pick.
  • Server: the server that holds it, since the same channel name can exist in several.
Use cases
an events community that opens channels for each edition and clears them once the recordings and the notes are archived elsewhere.
03

Get a channel

channel.get

What you see in n8n

Notes & use cases

Returns a single channel with its settings. Useful when a workflow needs to know what it is about to touch, or needs the channel data for a later node.

Key parameters

  • Channel: the channel to read, chosen from the list or resolved from an ID or a URL.
  • Server: the server it belongs to.
Use cases
read the topic of a support channel before a bot posts the on-call rotation of the week into it.
04

Get many channels

channel.getAll

What you see in n8n

Notes & use cases

Retrieves the channels of a server, one item per channel, which is how a workflow maps a server before acting on it.

Key parameters

  • Server: the server to scan.
  • Return All: enabled, n8n chains the API pages until every channel is out; disabled, Limit sets the maximum number of channels returned.
  • Filter by Type: keeps only text (0), voice (2) or category (4) channels.
Use cases
a monthly inventory of text channels exported to a spreadsheet, to spot the ones nobody has written in.
05

Update a channel

channel.update

What you see in n8n

Notes & use cases

Applies new settings to an existing channel, field by field, without recreating it.

Key parameters

  • Channel: the channel being edited.
  • Name: fill it only to rename the channel; left empty, the current name stays.
  • Rate Limit Per User: the number of seconds a member has to wait before sending another message, the slow mode of a channel under pressure.
  • User Limit: the maximum number of members in a voice channel, 0 meaning no limit, like Bitrate only relevant there.
Use cases
slow mode switched on the general channel for the duration of a launch, then set back the morning after.

Message

6 operations
06

Delete a message

message.deleteMessage

What you see in n8n

Notes & use cases

Deletes one message in a channel, identified by its ID.

Key parameters

  • Message ID: the numeric ID of the message (1057576506244726804), copied with developer mode on or carried by the node that read the message.
  • Channel: where that message was posted.
  • Server: the server hosting the channel.
Use cases
spam moderation, where a classifier scores incoming posts and this operation clears the ones a moderator confirmed.
07

Get a message

message.get

What you see in n8n

Notes & use cases

Fetches a single message and returns its data, raw by default.

Key parameters

  • Message ID: the ID of the message to read.
  • Channel and Server: where to look for it.
  • Simplify: enabled, the node returns a simplified version of the response instead of the raw payload, which keeps the next nodes readable.
Use cases
pull the text of a pinned announcement to reuse it, word for word, in a newsletter draft or a status page.
08

Get many messages

message.getAll

What you see in n8n

Notes & use cases

Retrieves the latest messages in a channel, one item per message, ready for a summary or an export.

Key parameters

  • Channel: the channel to read.
  • Return All: enabled, every message the API returns comes through; disabled, Limit caps how many land in the workflow.
  • Simplify: trims the response so a summarizing node does not choke on raw fields.
Use cases
a daily digest of the feedback channel, summarized by a model and sent to the product team before the stand-up.
09

React with an emoji to a message

message.react

What you see in n8n

Notes & use cases

Adds a reaction to an existing message. It is the quiet way for a workflow to answer, without adding a post to the channel.

Key parameters

  • Emoji: the emoji the bot reacts with, typed into the field.
  • Message ID: the message getting the reaction.
  • Channel and Server: its location.
Use cases
a support request marked as taken over the second a ticket is created on the other side, so nobody answers it twice.
10

Send a message

message.send

What you see in n8n

Notes & use cases

Posts a message in a channel, or as a direct message to a member, with optional embeds and files.

Key parameters

  • Send To: channel posts in the channel, user sends a DM to the account chosen in User.
  • Message: the content, up to 2000 characters; a mention needs an ID, not a display name, in the form <@USER_ID>.
  • Embeds: Title, Description, Author, URL and URL Image in the form; Input Method on Raw JSON opens Value for the rest, a footer for instance.
  • Message to Reply to: the ID of the message this one answers.
Use cases
a deployment notice with its link in an embed, dropped in the channel developers actually read.
11

Send message and wait for response

message.sendAndWait

What you see in n8n

Notes & use cases

Posts a message, then pauses the execution until someone answers. This is the operation that turns a Discord channel into the approval step of an automation.

Key parameters

  • Message: the question being asked, required here.
  • Response Type: approval puts buttons in the message, freeText opens a form for a written answer, customForm builds a form from the elements you define.
  • Approval Options: Type of Approval offers Approve Only or Approve and Disapprove, with your own button labels.
  • Limit Wait Time: caps how long the node waits before the execution resumes.
Use cases
a moderator validates a deletion, or a manager approves an outgoing quote, inside the channel where the team already talks.

Member

3 operations
12

Get many members

member.getAll

What you see in n8n

Notes & use cases

Lists the members of a server, with the controls a large community needs to be read in several passes.

Key parameters

  • Server: the community to list.
  • Return All: enabled, the node walks through every page; disabled, Limit fixes the maximum number of members returned.
  • After: the ID of the user after which the next members are returned, the way to resume a long export where it stopped.
  • Simplify: returns a lighter version of each member record.
Use cases
a nightly comparison between the member list and the CRM, to spot paying customers who never joined the server.
13

Add a role to a member

member.roleAdd

What you see in n8n

Notes & use cases

Assigns one or several roles to a member. On Discord, that is how access is granted, since permissions and private channels hang off roles. The bot needs the Manage Roles permission n8n recommends.

Key parameters

  • Role: the roles to add, ticked in the list read from the server, several at once if needed.
  • User: the member receiving them, chosen from the list or resolved from an ID passed by the previous node.
  • Server: where the roles and the member live.
Use cases
a paid order gives the customer role, which opens the private channels without anyone clicking in the Discord settings.
14

Remove a role from a member

member.roleRemove

What you see in n8n

Notes & use cases

Takes one or several roles back from a member. Mirror of the previous operation, and the clean way to close an access without kicking anyone out of the server.

Key parameters

  • Role: the roles to withdraw, selected the same way as when they were granted.
  • User: the member losing them.
  • Server: the server where the change applies.
Use cases
a subscription that ends strips the members role at the close of the billing period, while the account keeps reading the public channels.
Need help

Need help automating Discord with n8n?

A person reads every message.

FAQ

Discord and n8n, the questions that come next

01Is the Discord n8n integration free?
Yes on the n8n side. The Discord node ships with n8n, so there is nothing to install and no extra cost, whether the workflow runs on n8n Cloud or on a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow built on one runs the same on the other. What Discord itself charges for a server, for boosts or for any of its own plans is a separate question, and this page does not cover it. Budget for the automation is therefore a question of where n8n runs and how much you run through it, not of a licence for the node.
02What credentials and permissions does the Discord node need?
Three authentication methods are supported: a bot token, OAuth2, or a Discord webhook. The bot method needs a Bot Token, generated in the developer portal by creating an app, opening Bot and selecting Reset Token. OAuth2 needs a Client ID, a Client Secret, a choice between sending Authentication in the header or in the body, plus a Bot Token, and the OAuth Redirect URL from n8n pasted into the Redirects list of the Discord app. The webhook method needs only a Webhook URL. On the bot side, n8n recommends permissions such as Send Messages, Manage Channels, Manage Roles, Manage Messages, Read Message History and Add Reactions, plus the Server Members Intent for anything that reads members.
03What are the limits of the Discord node in n8n?
The node exposes 14 operations over 3 resources, so it covers channels, messages and members, and nothing beyond that. A message tops out at 2000 characters. Embeds are limited to the fields in the form, with Raw JSON as the escape hatch for a footer or custom fields. Mentions need IDs rather than display names, which means a previous node has to supply them. Listing operations page through the API with Return All and Limit. For anything the node does not expose, the HTTP Request node calls the Discord API directly, reusing the same credential, for example a POST on the messages endpoint of a channel in API version 10.
04Can a workflow start from a Discord message?
No. There is no Discord trigger node in n8n, so nothing on the server can start an execution by itself. A Discord workflow begins somewhere else: a Schedule Trigger running at a fixed interval, the n8n Webhook node, which is a URL n8n exposes for a third-party service to call, or the trigger of another application already in the stack. The Discord node then plays the action part. For a human step in the middle of a run, Send message and wait for response does the opposite job: it pauses the execution inside a channel until a member answers, then lets the workflow continue.
05n8n or Make to automate Discord?
Both drive Discord from a visual canvas, so the choice rarely comes down to the node. Make is hosted only and billed by operation, which suits a team that wants nothing to run and a volume that stays predictable. n8n can be self-hosted with Docker or npm, or used on n8n Cloud, and the same workflow behaves identically on both, which matters when member lists and message content should stay on your own infrastructure. The cost model differs too, since a self-hosted instance turns per-operation billing into a server bill. Judge on hosting, data control, cost model and how comfortable your team is with the canvas, not on the logos.