Resources · n8n integration

Discourse n8n integrationAutomate Discourse with n8n.

Every new signup deserves a forum account, and nobody wants to create them by hand. The Discourse n8n integration exposes 16 operations across 5 resources: categories, groups, posts, users and user groups. Discourse ships no trigger node, so a Schedule or a Webhook starts the run.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Discourse n8n integration actually do?

The Discourse node ships inside n8n and talks to the API of the forum instance you host. It covers 5 resources, categories, groups, posts, users and user groups, for a total of 16 operations. In practice, a workflow can open a category, publish a topic, register an account or move somebody into a group without anyone touching the admin panel.

Start with the case every community hits first: someone signs up in a payment tool or a form and has to exist on the forum too. Create a user fills in Name, Email, Username and Password, then Add a user to a group drops that account into the right group, so the members-only space opens by itself. A short message in Slack at the end tells the community manager it went through.

Publishing is the second one. Create a post takes the Content field, and its Additional Fields decide where the message lands: Category Name or ID for a fresh topic, Topic ID or Reply To Post Number to hang it under an existing thread. Release notes drafted in Google Sheets can go out on the day they ship, and Update a post rewrites them later with an Edit Reason that stays readable in the edit history.

Reporting closes the list. Get many users with Return All switched on returns the whole member list, Flag narrows it to the active, staff or suspended accounts, and the Options group adds Show Emails and Stats when the export needs them. Pair that with Get many groups and you hold a membership picture worth handing to Mautic for a segmented campaign.

Anything outside those 16 operations goes through the HTTP Request node, which calls any endpoint of the Discourse API and reuses the same credential through its predefined authentication. Two habits save time here. Return All left off stops a listing at Limit, so an export that looks short is usually a Limit question rather than a broken workflow. And the update operations expect an identifier, Category ID, Group ID or Post ID, never the name shown on screen.

One last thing about how the workflow begins. Discourse has no trigger node in n8n, so the first block comes from elsewhere: a Schedule Trigger on a fixed interval, an n8n Webhook, which is a URL another service calls, or the trigger of a tool you already run. If you want the wider picture first, the n8n review covers the platform itself, and the n8n training walks through building these workflows step by step.

Connect

How do you connect Discourse to n8n?

  1. 01

    Check you are admin on the instance

    Two things have to be true before n8n can talk to the forum. The Discourse instance is hosted and running, and the account you use on it is an admin. The key creation screen sits in the admin panel, so a regular member account will not get you there. Sort that out first, because every field of the credential depends on it.

  2. 02

    Create the API key in the admin panel

    Open the admin panel of your instance and create an API key, specifying the username it acts as. Copy the value while it is on screen, because that string is what n8n stores in its credential, the reusable connection object you fill in once. Discourse documents the screen in its own help pages, article 230124 on its community forum.

  3. 03

    Fill the Discourse credential in n8n

    In n8n, open the Credentials menu and add a Discourse entry. Three fields to fill: URL, the address of your instance, for example https://community.n8n.io, then API Key, the value from the admin panel, then Username, your own name, system, or another user. Saved once, that credential shows up in the dropdown of every Discourse node you add afterwards.

Actions

What can the Discourse node do?

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

Resources × operations matrix
ResourceCreateGetGet ManyUpdateAddRemove
Category✓✓✓
Group✓✓✓✓
Post✓✓✓✓
User✓✓✓
User Group✓✓

Category

3 operations
01

Create a category

category.create

What you see in n8n

Notes & use cases

Adds a category to the forum, the container that holds topics and the posts inside them.

Key parameters

  • Name: the label members see in the category list.
  • Color: the badge color, chosen in the color field of the node.
  • Text Color: the color of the label itself, so the badge stays readable on its background.
Use cases
a product team opening a private beta gives feedback its own space, with a color that sets it apart from the general discussion, before the first invitations go out.
02

Get many categories

category.getAll

What you see in n8n

Notes & use cases

Pulls the category list back into the workflow, one item per category, ready for the next node.

Key parameters

  • Return All: switched on, n8n walks every page of the category list; switched off, it stops at Limit.
  • Limit: the maximum number of categories a single run brings back.
Use cases
a weekly job mirrors the category tree into a spreadsheet, so the editorial calendar is planned against what the forum really contains rather than what someone remembers.
03

Update a category

category.update

What you see in n8n

Notes & use cases

Rewrites a category that already exists, instead of leaving two near duplicates side by side.

Key parameters

  • Category ID: the identifier of the category, not the label displayed on the forum.
  • Name: the new label, which replaces the current one.
  • Color and Text Color (Update Fields): optional, they repaint the badge in the same run.
Use cases
the beta ends, and one node turns the Beta Feedback category into Product Feedback with calmer colors, keeping every topic already posted there.

Group

4 operations
04

Create a group

group.create

What you see in n8n

Notes & use cases

Opens a group, the object Discourse uses to bundle members together and treat them as one audience.

Key parameters

  • Name: the name of the group, which is also how later operations will call it up.
Use cases
a training cohort starts in January, and the workflow creates its group at the same moment the first seat is paid for, so nobody has to remember to prepare it.
05

Get a group

group.get

What you see in n8n

Notes & use cases

Reads one group back so the workflow can look at it before deciding what happens next.

Key parameters

  • Name: the name of the group you want. This operation works from the name, which saves you a lookup when the name is what your other tool stores.
Use cases
before adding a new customer to a members group, an If node checks the group actually exists, and the workflow creates it when the answer is no.
06

Get many groups

group.getAll

What you see in n8n

Notes & use cases

Lists the groups of the forum and hands them over as items, one per group.

Key parameters

  • Return All: on, every page of the group list is fetched; off, the run stops once Limit is reached.
  • Limit: how many groups come back when Return All stays off.
Use cases
a quarterly review lists the groups to spot the ones nobody has used since they were created, an easy way to keep access rules from piling up.
07

Update a group

group.update

What you see in n8n

Notes & use cases

Changes the name of a group already in place, without touching who belongs to it.

Key parameters

  • Group ID: the identifier of the group to update, typically {{ $json.field }} from whichever node fetched it.
  • Name: the new name of the group.
Use cases
a plan gets renamed in the billing tool, and the same rename runs on the forum group in the same workflow, so support never has to guess which group maps to which offer.

Post

4 operations
08

Create a post

post.create

What you see in n8n

Notes & use cases

Publishes a message on the forum, either as a new topic or as a reply inside an existing one.

Key parameters

  • Content: the body of the message, the only required field.
  • Title: optional, the title the topic carries.
  • Category Name or ID, Topic ID, Reply To Post Number (Additional Fields): where the message lands, a category for a new topic, a topic or a post number to reply underneath.
Use cases
every release published elsewhere becomes a changelog topic in the announcements category, written once and posted the moment the version ships.
09

Get a post

post.get

What you see in n8n

Notes & use cases

Fetches a single post so its content is available to the rest of the workflow.

Key parameters

  • Post ID: the identifier of the post, which usually comes from an earlier node as an expression, the n8n syntax that reads a value from the incoming item.
Use cases
a moderation workflow reads the reported post first, runs it through an AI node for a quick verdict, then routes the result to the moderator channel.
10

Get many posts

post.getAll

What you see in n8n

Notes & use cases

Walks through the forum's posts and passes them on, one item per post.

Key parameters

  • Return All: on, n8n keeps requesting the next page until the posts run out; off, it stops at Limit.
  • Limit: the ceiling applied to a single run when Return All is off.
Use cases
a nightly digest collects the latest posts, groups them by topic and sends the summary to the community team before their morning stand-up.
11

Update a post

post.update

What you see in n8n

Notes & use cases

Edits a message already published, which is how you fix a typo or refresh outdated information in place.

Key parameters

  • Post ID: the post to edit.
  • Content: the new body. HTML is supported here.
  • Edit Reason and Cooked (Update Fields): the reason attached to the edit, and whether the content is handled as already rendered.
Use cases
a pinned status topic gets rewritten by the workflow each time an incident changes state, with an Edit Reason that says which update it was.

User

3 operations
12

Create a user

user.create

What you see in n8n

Notes & use cases

Registers an account on the forum from data your workflow already holds.

Key parameters

  • Name, Email, Username, Password: all four are required, so an empty one stops the node.
  • Active and Approved (Additional Fields): two switches that decide the state the account arrives in.
Use cases
a course platform creates the forum account at enrolment, with the same email the learner used to pay, so the two systems never drift apart.
13

Get a user

user.get

What you see in n8n

Notes & use cases

Looks up one member, by username or by the identifier your single sign-on system uses.

Key parameters

  • By: pick username or externalId, which decides which of the next two fields you fill.
  • Username: the username of the member to return.
  • SSO External ID: the Discourse SSO external ID, handy when your own product is the source of identity.
Use cases
a support workflow pulls the forum profile of the person who wrote in, so the agent sees their community history next to the ticket.
14

Get many users

user.getAll

What you see in n8n

Notes & use cases

Exports the member list, with enough knobs to get the exact slice you need.

Key parameters

  • Flag: filters on active, blocked, new, staff, suspect or suspended.
  • Return All and Limit: the whole list page after page, or a capped sample.
  • Order, Ascending, Show Emails, Stats (Options): sort by created, posts or trust_level, and add emails or stats to the output.
Use cases
a monthly export of members flagged new, sorted by created, feeds the welcome sequence.

User Group

2 operations
15

Add a user to a group

userGroup.add

What you see in n8n

Notes & use cases

Puts members into a group, which is how access to a private space is granted on the forum.

Key parameters

  • Usernames: one username, or several separated by commas, which lets a single node handle a whole batch.
  • Group ID: the identifier of the group they join.
Use cases
a payment goes through, and the buyer lands in the customers group within the same run, so the paid category is open before the receipt email arrives.
16

Remove a user from a group

userGroup.remove

What you see in n8n

Notes & use cases

Takes members out of a group, the closing move of any access workflow.

Key parameters

  • Usernames: the usernames to remove, comma separated when there are several.
  • Group ID: the identifier of the group to remove them from.
Use cases
a subscription lapses and the account leaves the customers group the same day, which keeps the private category limited to people who are actually paying for it.
Need help

Need help automating Discourse with n8n?

A person reads every message.

FAQ

Discourse and n8n, the questions that come next

01Is the Discourse n8n integration free?
Yes on the n8n side. The Discourse node ships with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud, the hosted offer, or your own instance installed with Docker or npm. A workflow behaves the same in both cases, which matters if you start on Cloud and move later. What the forum itself costs is a separate question, and this page does not cover it. The real prerequisite sits on the Discourse side: an instance you host, and an admin account on it, because that is what lets you create the API key the credential needs.
02What credentials does the Discourse node need?
One credential, built on an API key, which is the authentication method this node supports. It asks for three things: the URL of your instance, for example https://community.n8n.io, the API Key you create from the admin panel, and a Username, your own name, system, or another user. Being admin on the instance is what gets you to the key creation screen in the first place. Once saved in the Credentials menu of n8n, the same entry serves every Discourse node in every workflow, so there is no key to paste twice and no second place to update when it changes.
03What are the limits of the Discourse node in n8n?
The node exposes 16 operations over 5 resources, and anything outside that list goes through the HTTP Request node, which calls any endpoint of the Discourse API and reuses the same credential through its predefined authentication. Inside the node, listing is what to watch. Get many categories, Get many groups, Get many posts and Get many users all carry Return All and Limit, and with Return All off you only get up to Limit. The update operations want an identifier rather than a display name, Category ID, Group ID or Post ID. Get a group is the exception: it works from the group name.
04How do you trigger a Discourse workflow in n8n?
With another node, because Discourse has no trigger node in n8n. Three routes work. A Schedule Trigger runs the workflow on a fixed interval, which suits recurring jobs such as a nightly member export built on Get many users. An n8n Webhook, meaning a URL another service calls, starts the run the moment that service has something to say, which suits a signup form creating the forum account right away. Or the trigger of another tool you already automate takes the lead, and the Discourse node becomes the step that writes to the forum at the end of the chain.
05n8n or Make for Discourse?
It depends on where the data should live and how you want to pay for it. n8n runs on your own server with Docker or npm, or on n8n Cloud, so a forum you host yourself can be automated from a tool sitting right next to it. Make is hosted only, with no self-hosting option, and bills per operation, which is easy to forecast at small volumes and harder when a nightly job walks every page of the member list with Return All. The visual logic differs too. Build the same small workflow on both, keep the one you read faster.