Discourse User Notes

:discourse2: Summary Share private notes with other staff about a user that normal users cannot see.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Configuration

The User Notes plugin can be enabled either by the toggle or from its settings, both accessible from your /admin/plugins page:

Features

Sometimes staff members want to share notes about a particular user to help with moderation or support duties.

You can add a User Note to any user by using the admin wrench on one of their posts, or from their profile page:

The interface is displayed in a modal and you can add as many notes as you need to, complete with markdown support:

:information_source: Users cannot see these notes, they’re only visible to staff.

If a user has a user note, whenever they post you’ll see a little notes icon. Clicking it will bring up the notes:

user note indicator

Settings

Name Description
user notes enabled Allow staff users to attach notes to users
user notes moderators delete Allow moderators to delete user notes

:discourse2: Hosted by us? This plugin is available on our Business and Enterprise plans User Notes | Discourse - Civilized Discussion

Last edited by @tobiaseigen 2025-07-16T21:52:30Z

Check documentPerform check on document:
84 Likes

A post was split to a new topic: Make User Notes accessible to category moderators

Great plugin! What’s the API parameter/endpoint for adding notes to topics?

Have you seen this topic? Reverse engineer the Discourse API

And btw user notes are tied to a post, not to a topic.

3 Likes

When rebulding Discourse I get the following error:

rake aborted!
ArgumentError: Invalid route name, already in use: 'discourse_user_notes'  (ArgumentError)
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here:
https://guides.rubyonrails.org/routing.html#restricting-the-routes-created
          raise ArgumentError, "Invalid route name, already in use: '#{name}' \n" \

I understood that discourse_user_notes is now included in the core. Did something go wrong in this process?

:partying_face: This plugin is now bundled with Discourse core as part of Bundling more popular plugins with Discourse core. If you are self-hosting and use the plugin, you need to remove it from your app.yml before your next upgrade.

@Roi sorry you had a poor experience today. Once you remove the plugin from your app.yml you will find the problem will go away and you will be able to rebuild.

1 Like

Thanks and no worries. Unfortunately it was already removed from my app.yml, but the error still is there.

PS: Commenting out with # did not restrain the notifications during compilation. I had to delete the lines in config completely.

1 Like

I had the same error and after rebuilding my site came back. Can you try it again?

The last time I tried was 5 minutes before your post here. :man_shrugging:

1 Like

Perhaps a silly question, but do you have discourse-staff-notes in your app.yml? That’s what I had in mine if I recall correctly. That’s the old name for the plugin.

Oh, yes, that’s in the config. LOL :see_no_evil_monkey:, same but old? Must be the clue! Will try first thing in the morning. Thank you, will keep you posted.

1 Like

This will make staff-notes show a more useful message when the rebuild fails. Thanks for identifying this @roi @tobiaseigen :folded_hands:

5 Likes