Back to Tutorials

How to Connect n8n to Discord: Built-in Node vs Community Nodes

Posted by Oct 27, 2026

n8n has a built-in Discord node that sends and manages messages, channels and members. What it doesn’t have is a Discord trigger: n8n’s documentation lists the Discord app node but no Discord trigger node, so a workflow can’t start by itself when someone posts in your server. That gap is what most Discord community nodes fill. This guide covers the built-in node and its three credential types (from n8n’s documentation) and the most used Discord community packages (from our own npm data).

Quick comparison

Built-in Discord node Discord community nodes
Does Channels, messages and members (send, read, manage, moderate) Mostly triggers on Discord messages and events, plus bot features such as slash commands and buttons
Starts a workflow on a Discord message No, there is no built-in Discord trigger Yes, several packages are triggers
Comes with n8n Yes No, installed as a community package
n8n Cloud Available Only packages that n8n has verified

What the built-in Discord node can do

  • Channel: Create, Delete, Get, Get Many, Update
  • Message: Delete, Get, Get Many, React with Emoji, Send, Send and Wait for Response
  • Member: Ban, Get Many, Kick, Role Add, Role Remove, Timeout, Unban

Choose a credential: webhook, bot or OAuth2

The Discord credential supports three methods. n8n’s guidance on choosing:

  • Webhook is the simplest. A webhook belongs to one channel and can post messages there, without a bot user or authentication. It can’t listen or respond to users. Use it when you only need to send messages to a channel.
  • Bot is the interactive step up. A bot added to a server can work in all its channels: manage channels, send and retrieve messages, list users and change their roles. Use it for interactive or multi-step workflows.
  • OAuth2 is a bot that uses the OAuth2 flow instead of only the bot token. Same features as a bot, with a simpler installation.

Webhook credential

  1. In your Discord Server Settings, open Integrations.
  2. Select Create Webhook, give it a name and, if you like, an avatar.
  3. In the CHANNEL dropdown, pick the channel it posts to.
  4. Select Copy Webhook URL and paste it into the n8n credential.

Bot credential

  1. Create an app in the Discord developer portal.
  2. Under Bot, select Reset Token and copy the token into the n8n credential.
  3. Under Bot > Privileged Gateway Intents, add the intents you need. n8n recommends the Server Members Intent, which the bot needs to receive member events.
  4. Under Installation > Installation Contexts, select Guild Install (most common for n8n) and, under Install Link, Discord Provided Link.
  5. In Default Install Settings, select the applications.commands and bot scopes.
  6. Under Bot > Bot Permissions, add permissions. n8n’s recommended list: Manage Roles, Manage Channels, Read Messages/View Channels, Send Messages, Create Public Threads, Create Private Threads, Send Messages in Threads, Send TTS Messages, Manage Messages, Manage Threads, Embed Links, Attach Files, Read Message History, Add Reactions.
  7. Copy the link from Installation > Install Link, open it in your browser and select Add to server. The bot then shows in the member list.

OAuth2 credential

Create the app and bot as above, then add to the n8n credential the Bot Token, the Client ID and a Client Secret from the app’s OAuth2 page, and choose whether to send authentication in the header or the body. Copy n8n’s OAuth Redirect URL into OAuth2 > Redirects in the Discord app and save.

Common issues and fixes

Adding fields to embeds

The Send operation supports embeds through Add Embeds (Description, Author, Title, URL, URL Image). For other embed fields, such as footer or fields, set Input Method to Raw JSON and put a JSON object in Value. If embeds still give you trouble, n8n suggests sending the message with the HTTP Request node and your Discord credential as a POST to https://discord.com/api/v10/channels/<CHANNEL_ID>/messages, with the embeds in the body.

Mentioning users, channels and roles

Mentions need IDs, not display names. Turn on developer mode in Discord to copy them, then write:

  • User: <@USER_ID>
  • Channel: <#CHANNEL_ID>
  • Role: <@&ROLE_ID>

“Missing Permissions” on Ban, Kick or Timeout

The bot needs the matching permission (Ban Members for Ban and Unban, Kick Members for Kick, Moderate Members for Timeout), and its highest role must be above the target member’s highest role. Discord also blocks these actions against the server owner. Fix the roles under Roles in your server settings and run the workflow again.

Discord community nodes

Our Discord hub lists 38 packages that pass our quality rule, with 867 npm downloads a week between them. The most downloaded, with the description each author gives on npm (weekly npm downloads as of 27 October 2026):

Bar chart: weekly npm downloads of the top 9 Discord community nodes for n8n, October 27, 2026
Package Weekly downloads Author’s description
n8n-nodes-discord-trigger 256 Triggers a workflow whenever a message from Discord is sent
n8n-nodes-discord-trigger-new 158 Triggers a workflow whenever a message from Discord is sent
n8n-nodes-discord-dnd 53 Triggers for Discord events
n8n-nodes-discord 51 Triggers from Discord and interactive messages with buttons (components API)
n8n-nodes-discord-bots 49 Discord bots with messages, reactions, slash commands and interactions
n8n-nodes-discord-dm 46 Direct message and reaction nodes
@jordanburke/n8n-nodes-discord 35 Triggers from Discord and interactive messages with buttons (components API)
n8n-nodes-discord-channel-trigger 26 Fires when your bot sees a new message in specific channels or a direct message
@yuniruyuni/n8n-nodes-discord 25 Discord REST operations, webhooks, interactions and Gateway triggers

Seven of these nine describe a trigger or interaction feature, which matches the gap in the built-in node. Check each package’s README for setup (most need a bot token) and its node page here for the latest version and release date, and, where it has one, its GitHub repository for open issues.

Built-in or community node: how to choose

  • Only posting to a channel: the built-in node with a webhook credential.
  • Managing channels, messages, roles or moderation: the built-in node with a bot or OAuth2 credential.
  • Starting a workflow when someone writes in Discord, or slash commands and buttons: a community node, since n8n has no built-in Discord trigger.

To install a package on a self-hosted instance, an owner or admin enters its npm name in Settings > Community Nodes. Full steps are in How to Install n8n Community Nodes. On n8n Cloud only verified community nodes can be installed, see Verified vs Unverified n8n Community Nodes. Similar guides: Telegram and WhatsApp.

FAQ

Does n8n have a Discord trigger?

Not built in. n8n’s documentation lists the Discord app node only. Community packages such as n8n-nodes-discord-trigger add one.

Which Discord credential should I use in n8n?

A webhook if you only send messages to one channel, a bot for anything interactive or for managing the server, and OAuth2 if you want a bot with a simpler install flow.

Why do Ban, Kick or Timeout fail with “Missing Permissions”?

The bot lacks the matching permission, or its highest role isn’t above the target member’s highest role.

How do I mention a user in a Discord message from n8n?

Use the user’s ID in the form <@USER_ID>. Channels use <#CHANNEL_ID> and roles <@&ROLE_ID>.

From our network Other tools and sites we build