All integrations
Discourse logo

Discourse

Publishing & CommunityMessaging

Run a Discourse community forum from a workflow. Create and organise categories, start topics and reply to them, edit and delete posts, close or pin topics, send personal messages, search the forum, and look up members.

20 actions

Actions

Steps your workflow can run in Discourse.

List categoriesList the forum's categories with each one's ID, name, slug, colours, topic and post counts, and parent. Tick 'Include subcategories' to get every subcategory too, flattened into the same list.
Get categoryRead one category in full: its name, slug, colours, description, topic and post counts, parent, permissions and settings.
Create categoryCreate a category, optionally as a subcategory of another. The name must be unique among its siblings. Needs an admin API username. Discourse also creates the category's 'About' topic, which does not count towards its topic count.
Update categoryRename a category, change its colours or slug, or move it under another category. Only the fields you fill in change; the rest are read from the category and sent back as they are. Needs an admin API username.
Delete categoryDelete a category. Discourse only allows this for a category with no topics and no subcategories - delete or move its topics first. Needs an admin API username.
List topicsList the forum's topics, most recently bumped first, or one category's. Each one reports its title, ID, slug, category, tags, post and view counts, whether it is closed or pinned, and when it was last posted in. Pick an order to sort by creation date, activity, views, posts or likes instead.
Get topicRead one topic in full, with its first page of posts under 'post_stream.posts' - each post's Markdown source, rendered HTML, author and like count - plus the topic's category, tags, status flags and who created it.
Create topicStart a new topic with a title and a Markdown body, in a category or in the forum's default one. Returns the topic's first post; its 'topic_id' is the new topic. Give an external ID or an embed URL to link the topic to a record in another system.
Update topicRename a topic, move it to another category, or both. To change its body, update its first post with 'Update post'.
Set topic statusClose, archive, unlist or pin a topic, or undo any of those: pick the status and whether to turn it on or off. Pinning can be given an expiry. 'Listed' off hides the topic from topic lists without deleting it.
Delete topicDelete a topic and every post in it. Staff can recover it from the forum for a while afterwards; members cannot. The API username needs to be staff, or the topic's own author.
List latest postsThe newest posts across the whole forum, newest first, with each post's author, topic title, category and Markdown source. To read older ones, pass 'next_before' back as 'Before post ID'. Poll it to react to new posts.
Get postRead one post: its Markdown source and rendered HTML, author, topic, position in the topic, like and read counts, and whether it has been edited or hidden.
Create postReply in an existing topic with a Markdown body. Give a post number to reply to one post in particular rather than to the topic as a whole.
Update postReplace a post's body with new Markdown, optionally noting why. Editing a topic's first post edits the topic's body. Editing another member's post needs a staff API username.
Delete postDelete a post. Deleting a topic's first post deletes the whole topic. Staff can recover it for a while afterwards. Deleting another member's post needs a staff API username.
Send personal messageSend a personal message from the API username to one or more members. Leave the recipients empty to send it to the API username itself, as a note. Returns the message's first post; its 'topic_id' is the message thread, which 'Get topic' and 'Create post' can read and reply to.
SearchSearch the forum's posts, topics, members, categories and tags. The query takes Discourse's search language: 'in:title', '#category-slug', '@username', 'tags:name', 'after:2026-01-01', 'status:open'. Results come back grouped by kind, with the matched text of each post in 'blurb'.
Get userRead a member's profile: name, title, trust level, whether they are staff, post and topic counts, when they joined and were last seen, bio, groups, and their custom profile fields.
List usersList the forum's members from the admin panel: active, new, staff, suspended or silenced. Each one reports their username, name, trust level, join date, last visit and activity counts. Filter by email to find one member. 100 a page. Needs an admin API username.

Connect in a few clicks

Authenticate once and every action and trigger for the app is ready to drop into a workflow. No glue code, no maintenance.

Automate across your stack

Chain apps together with triggers, actions, and logic that move data between your tools automatically, so work happens without you.

Secure by default

Credentials are encrypted and scoped per workspace. Connect the tools your team already trusts with confidence.

Automate Discourse with Lodol.

Connect Discourse and build your first workflow in minutes. No credit card required.

Free plan available · No credit card required