What are Topic Templates?

(Erlend Sogge Heggen) #1

Topic templates are a useful tool to reinforce forum conventions or to guide new users.

Category-specific topic template

Some categories might follow a strict pattern. One such example would be a Movies category, wherein you’d like users to start new topics according to a certain template:

I saw: insert movie title

I think it was worth: how many stars out of 4 stars

Review here:

To apply this template to all new topics posted in this category, go to a category, click “Edit” and find “Topic Template” in the top menu.

You can see a live example of this if you register on our Try sandbox forum and post a new topic to the Movies category.

Pre-fill topic by URL

It’s also possible to create URL that, when clicked, will open a pre-filled topic. To compose a new pre-filled topic, modify URL params like this:


This will open composer window pre filled with topic title, body and desired category.

This can also be tested live on try.discourse.org:

Also, instead of providing category/subcategory name, you can also specify category_id, like:

Note that if both category_id and category is passed as param then priority is given to category_id.

Is there a way to make an input form for structured data?
How to optimize issue/support ticket like workflow?
How to add information while user creates post
Discourse - What do admins see on the Analytics dashboard?
Optimized interface for "adapting" topic titles?
Replies with specified fields
How to hide placeholder from message composer
Thoughts from the Elm community on Intentional Communication
(Michael Downey) #2

(Moderators, feel free to move this to a new topic if it’s not appropriate here.)

Is it possible to create a new pre-filled message by pre-filled URL just like shown above for new topics? (Perhaps a message to a Discourse group, for example.)

1 Like
(Lisa Wess) #3

Can this be used for autopopulating tags? ie new-topic?tag=php or some such?

1 Like
(Erlend Sogge Heggen) #4

Nope. Good idea though. I guess the syntax could be like this?


Not yet, but I’m just as hopeful as you are :smiley:


(Sylwia) #5

I can fetch data from an external server to such a template ?