LangBot Docs
n8n

Connect n8n to Discord

Step-by-step guide to running your n8n app as a Discord bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.

This recipe puts your n8n app behind a Discord bot. LangBot receives messages from Discord, runs them through a pipeline, and sends the answer back, so you do not write any platform code.

n8n runs the workflow; LangBot handles the chat platform, sessions and delivery and calls your workflow through a webhook for every message.

What you need

  • A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or uvx langbot.
  • A n8n account or instance that LangBot can reach over the network.
  • A Discord application with a bot: its Client ID and bot token from the Developer Portal, with Server Members Intent and Message Content Intent enabled.

Networking

Discord bots connect out to the Discord gateway, so no public webhook URL is required.

1. Prepare n8n

  1. Start the workflow with a Webhook or On chat message trigger. Set Response Mode to Streaming if you want streamed replies.
  2. Answer with an AI Agent node (streaming) or a Respond to Webhook node whose response key matches LangBot's output key.
  3. Click Active to enable the workflow and copy its production webhook URL.

2. Create a pipeline

Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows. If the runner is not listed, install the official runner plugin from Plugins or the LangBot Space marketplace.

FieldValue
Runnern8n (official n8n workflow runner plugin)
Webhook URLThe workflow's production webhook URL
Authentication TypeNone, Basic Auth, JWT or Header, matching the trigger node

3. Create the Discord bot

  1. Create a bot with the Discord adapter and enter the Client ID and token.
  2. Invite the bot from OAuth2 → URL Generator with the bot scope and Guild Install, granting permission to view channels and send messages.

4. Bind and test

Open the bot, select the pipeline you created, save and make sure the bot is enabled.

Send a message that matches the trigger rules in a server channel, then try a DM from the bot's profile.

Troubleshooting

  • Empty replies: the key in Respond to Webhook must match the output key configured in LangBot.
  • The test URL only works while the n8n editor is listening; use the production URL of an active workflow.
  • Gateway login fails: check the current token and that both privileged intents are enabled and saved.
  • Discord limits message length, so long streaming replies arrive as several messages.
  • Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.

FAQ

Do I need a server with a public IP for Discord?

No. Discord bots connect out to the Discord gateway, so no public webhook URL is required.

Does the Discord bot support streaming replies?

Yes. Enable streaming on the bot; the AI back end must also stream. See the platform feature matrix for details.

Can the same n8n setup serve other platforms too?

Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.

On this page