Compose a new pre-filled personal message via URL

Discourse now supports composing a new (pre-filled) personal message via URL! :sunny:

To compose a new pre-filled message, modify URL params like this:

This will open a composer window pre-filled with username, title and body.

Try it out live on! :smile:

Want to compose a pre-filled topic instead? See: Compose a new pre-filled topic via URL


I just added support for composing a new pre-filled message for a group via URL! The URL will be:`

Notice groupname param in above URL, this means that you want to create a new pre-filled message for a group (as opposed to username for composing a message for user).


How would someone create a URL to compose message to multiple recipients or multiple groups?


Maybe @techapj can add support for comma (or semicolon) delimiting destinations here?


Is this still on your list @techapj as I think it makes sense. Commas are not allowed in usernames, either comma or semicolon should be supported for this.


Yes, this feature is still on my list.

This got delayed because currently we are verifying

  • user exists and if current user can send PM to desired user
  • group exists and is mentionable

Now this needs to be verified for multiple users and groups. Will get to it this week.

Actually you can push it back, if it is a lot of work there are other things we can do first.

Thanks for creating this nifty feature - it’ll come in handy!

I noticed that selecting this URL will take you to the site homepage and open up the message composer. Much more friendly, methinks, would be to take you to the destination user profile.


In addition, if you’re not logged in it takes you to the homepage and displays the popup login window. Or for SSO it redirects to the login page. More friendly would be to display a message e.g. “you need to log in first before you can send a message.”

Also - I wonder what would happen if you’re logged in but TL0 and not yet allowed to start new messages. I’ll test that today.

With sso you can llink to and then set the return path to create the private message. If the user is already logged in they will be redirected automatically to the url supplied by the return path. If they aren’t logged in they will be taken to the sso login page and then redirected to the return path url.


The return path will need to be url encoded. Here is some example code in php:


This worked! :rocket: Many thanks, @Simon_Cossar!

Now I just need to find a way to have it go to the member’s summary page and pop up the message composer instead of to /latest. @techAPJ any suggestion?


TL0 users can contact admins in the form of replying to welcome message. it would be great if contacting site admins via a pre-filled private message would be permitted even for TL0 users.

then as an admin one can make a simple “contact us” link.

1 Like

You could do this with a category configured to allow anonymous posting by email and to give access to only the team members who should receive and handle inquiries. It will additionally create staged accounts which is cool.

1 Like

I just found out about the staged users ability and yes, it’s a nice feature! thanks for the suggestion :smiley:

a question regarding this method:

it’s like asking people to send an email to in order to contact us. the only difference would be that we receive their response in the platform rather than our email.

isn’t it?

I’d like the users to be able to contact us via the platform itself.


Any way to open the Email Composer w/o having to fill in the user? e.g.

vs. having to fill in a user

Use-case is a simple bookmark to composing PMs.

And there is no way to PM a user starting from an email, like we can create a Topic post from email, correct?


Hmm, at least some form of the empty version should work @techapj


Okay, this is now done via:

All of the below format will work now:

Nice. Pulled from tests-passed, and it looks great!