---
tags: Product
---
# Discourse Boost
- Member can launch a free discourse boost that creates a new forum category for the dao.
- If boost is active there will be a checkbox on new proposal forms to create a forum post for the proposal when submitted.
- or assign an existing post
- api end point get all posts
- Discourse forum data is displayed in a proposal detail page
#### Forum
https://forum.daohaus.club/
### UI
- Discourse boost/app launcher
- Requires member signature
- Hits boost update endpoint with data for new category
```json=
{
contractAddress: <dao.address>,
boostKey: 'discourse',
metadata: {
categorySlug: <somethingStandard??>
},
network: network.network,
signature,
}
```
- New proposal form update to expose 'add forum post' checkbox if the dao has the boost
- Or maybe this should be on proposal detail so anyone can add it later and we don't have to deal with waiting on the tx?
- Makes api post to create a form post, body:
- title, description, link, ect..
- all the graph data for the proposal
- forum category from the boostMetadata
- Make this a member only api call
- How will we know to display the link to the forum on the proposal detail?
- Where else should we display forum link - settings?
- add an option/prompt in new proposal scree could be 'add forum' post for discussion before you submit on chain
- Display forum post data in the proposal detail
- if possible, link to forum at minimum
### API
- Create category job that will be triggered in the updateBoost endpoint:
- https://github.com/odyssy-automaton/daohaus-api/blob/forum/functions/create-category.js
- updateBoost endpoint change to call new lambda job when launching boost with 'discourse' boostKey.
- Add category key in boostMetadata record:
```json=
{
"discourseCategory": <categorySlug>
}
```
- new endpoint to create the forum post:
- https://github.com/odyssy-automaton/daohaus-api/blob/forum/functions/create-proposal-topic.js
# Proposal Types
```json=
{
contractAddress: <dao.address>,
boostKey: 'proposalType',
metadata: {
lootGrab: {
active: true,
lootRatio: 5
},
<typeKey>: {
active: true
},
},
network: network.network,
signature,
}
metadata.lootGrab?.active
```
```
[
{"type":"discord",
"channelId":"805237027841769545",
"active":true,
"actions":[
"votingPeriod",
"rageQuit",
"newProposal"
]}
]
```