# Fill in post for user?

**URL:** https://meta.discourse.org/t/fill-in-post-for-user/29796
**Category:** Support
**Created:** [June 9, 2015, 8:29am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796 "2015-06-09T08:29:47Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![peternlewis](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/peternlewis/32/108888_2.png) [@peternlewis](https://meta.discourse.org/u/peternlewis)
#### Post date: [June 9, 2015, 8:29am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/1 "2015-06-09T08:29:48Z")

</div>

I looked at the API, but I don’t think it will do what I want (for one thing it requires the user to create an API key which isn’t going to be practical).

What I want to do is have a way for my Mac application (Keyboard Maestro) to allow users to post content (from the application) to the forum. So the user selects a chunk of content, and clicks a button, and the forum opens up with the New Topic fields filled in (category, subject, content, including an uploaded file). The user can then edit the post as they desire before posting it.

Ideally, if the user is not logged in, they would be prompted to login/create an account first, but I could accept that they simply have to be logged in first.

Is there any way to accomplish something like this?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 9, 2015, 8:59am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/2 "2015-06-09T08:59:57Z")

</div>

Aren’t you referring to the URL that pre-fills a topic, title, etc? @techapj worked on this, and it now exists.

> [@Creating a link to start a new topic with pre-filled information](https://meta.discourse.org/t/compose-a-new-pre-filled-topic-via-url/28074):
>
> bookmark This documentation explains how to create a link that starts a new topic in Discourse with pre-filled information. person_raising_hand Required user level: All users Sometimes you may want to provide users with a link that opens a new topic composer with certain information pre-filled. This can be useful for various use cases including bug report templates, feature requests, or standardized posts. Constructing the URL Base URL To compose a new pre-filled topic with no extra i…

---

<div class="post-metadata">

### Author: ![peternlewis](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/peternlewis/32/108888_2.png) [@peternlewis](https://meta.discourse.org/u/peternlewis)
#### Post date: [June 9, 2015, 10:54am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/3 "2015-06-09T10:54:00Z")

</div>

Yep, that is close to what I am after. It would be good if it survived the login process if the user is not yet logged in, but it doesn’t currently

I don’t see how it can be extended to support a file (or image) upload though, so that may be a problem.

Can images/files be uploaded separately via the API? I (obviously) can’t store the master key in the application, but I could probably do something where the application uploaded the file to a web service I define, which in turn uploads it to the forum, and then have the topic body reference that uploaded file. A bit ugly, but perhaps doable. Does the API allow uploading files?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 10, 2015, 1:41am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/4 "2015-06-10T01:41:15Z")

</div>

> [@peternlewis](#):
>
> Yep, that is close to what I am after. It would be good if it survived the login process if the user is not yet logged in, but it doesn’t currently

Any way we can get this to survive login, @techapj?

---

<div class="post-metadata">

### Author: ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)
#### Post date: [June 16, 2015, 1:53am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/5 "2015-06-16T01:53:45Z")

</div>

Fixed via:

[https://github.com/discourse/discourse/commit/d1632c1dbd256411bbb348f638bb7f5f61f05eae](https://github.com/discourse/discourse/commit/d1632c1dbd256411bbb348f638bb7f5f61f05eae)

---

<div class="post-metadata">

### Author: ![peternlewis](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/peternlewis/32/108888_2.png) [@peternlewis](https://meta.discourse.org/u/peternlewis)
#### Post date: [June 16, 2015, 10:24am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/12 "2015-06-16T10:24:52Z")

</div>

Yep, sorry, that got dropped when I undid the previous patch.

Excellent, that all works perfectly now, including the upload of the images/files.

I’ll try to post a quick demo of how awesome this now is.

---

<div class="post-metadata">

### Author: ![peternlewis](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/peternlewis/32/108888_2.png) [@peternlewis](https://meta.discourse.org/u/peternlewis)
#### Post date: [June 16, 2015, 11:29am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/13 "2015-06-16T11:29:38Z")

</div>

OK, I can’t upload videos to this site, but [here is a short video](http://files.stairways.com/temp/F72C7505A2060A91242E21/KeyboardMaestrotoDiscourse.mp4) showing just how cool this integration is, combined with the synchronous uploading files (thanks @zogstrip!) from [Using the Discourse API to post with uploaded files?](https://meta.discourse.org/t/using-the-discourse-api-to-post-with-uploaded-files/29833/24). This link probably wont last forever, but I’ll keep it alive for a fair while.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [June 16, 2015, 6:47pm UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/14 "2015-06-16T18:47:57Z")

</div>

There’s a website where you can upload videos and they’ll keep it around for a while 😉

[![](https://global.discourse-cdn.com/meta/original/4X/a/2/5/a2524d33c785efe03a5f8086a922dfc9786e5cbb.jpeg "Discourse - Pre-filling a post, including uploads") ](https://www.youtube.com/watch?v=WMKF_idZp9Y)

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [October 15, 2018, 4:30am UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/15 "2018-10-15T04:30:17Z")

</div>



---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [October 15, 2018, 4:05pm UTC](https://meta.discourse.org/t/fill-in-post-for-user/29796/16 "2018-10-15T16:05:37Z")

</div>


