Appearance
Decisions
The Decisions module is a structured way for a team to propose, discuss, and decide — without losing the trail of who said what and when. Every decision has an audit log; every approved or denied decision has a reason attached. Decisions can be standalone or linked. For example an operational decision that executes on a tactical or strategic decision can be linked to that decision so you get a decision tree.
You'll find Decisions on the team's tab bar as a gavel icon, and on the team home as a widget showing the most recent activity.
The decision lifecycle
Every decision walks through four possible states:
| State | Meaning |
|---|---|
| Open | The proposer has posted the question. Anyone in the team can comment to discuss. The proposer can still iterate. |
| Awaits approval | The proposer has finalised the proposal. The wording is now locked. The configured approver (or any team admin, depending on team configuration) needs to take a decision. |
| Approved | An approver accepted the finalised proposal. A reason is recorded. The decision is done. |
| Denied | An approver rejected the finalised proposal. A reason is recorded. The team can propose again with adjustments. |
| Withdrawn | The proposer withdrew the proposal before approval. The decision is closed without a vote. |
You can't skip a step. A decision can't be approved while it's still open — the proposer has to finalise first. That's deliberate: the question and the answer should refer to the same wording, not a moving target.
Proposing a decision
From the Decisions tab, click Propose decision in the top right (or use the + icon on the Decisions widget on the team home).
The compose modal opens. Fill in:
- Question — what is the team deciding? Be specific. "Do we move the all-hands to Thursdays at 10:00?" not "When's the all-hands?".
- Description — the full proposal text. Background, options considered, recommendation. Markdown is supported. You can attach files (they become part of the source record).
- Category — pick from the categories your team admin has set up. Each category has its own approver — picking the right category routes the decision to the right person.
- Impact — low, medium, or high. Helps the team triage which decisions deserve attention.
- Level (if enabled for this team) — operational, tactical, or strategic. A second axis for filtering.
Click Propose. The decision lands in the Open state and the description becomes the first comment under the question.
Discussion phase
While the decision is open, anyone in the team can comment. Comments are threaded under the decision question, the same as on a regular message. As proposer, you can edit your wording in response to comments, add attachments, change your mind, withdraw it, and re-propose.
The team sees the decision in real time on the Decisions tab and in the widget on the team home. The status pill on each row makes it clear what stage each one is at.
Finalising a proposal
When you (the proposer) are ready to ask for an approval, click Finalise proposal. This:
- Locks the wording — the question and the chosen comment (the final proposal) can no longer be edited
- Writes a snapshot of the final proposal as a markdown file under
{team-folder}/.proposals/{id}/for later reference - Moves the decision into Awaits approval
- Lets the approver step in
You don't have to finalise. You can leave a decision open as long as the team needs to discuss. The button is there for when the conversation has converged.
Approval (the approver's view)
If you're the configured approver for a category — or you're a team admin and the category's approvers can't be reached — you'll see decisions awaiting approval in the Approve tab of the Decisions widget. The tab carries a red badge showing how many decisions need your attention.
Click Decision on a row. A modal opens with:
- The finalised proposal text (read-only — the wording is locked)
- A reason field — required
- Approve (green) and Deny (red) buttons
Pick one, write your reason, submit. The decision moves to Approved or Denied with your reason recorded in the audit trail.
The reason is not optional. Even a one-word reason is fine, but the field can't be empty — the audit trail should never have an outcome without a recorded justification.
Withdrawing a proposal
If, as proposer, you decide the question doesn't need an answer anymore — you found out the question was wrong, the situation changed, the team decided some other way — click Withdraw. You write a reason; the decision moves to Withdrawn. It stays visible in the list (just filtered out by default) so the history is preserved.
You can only withdraw a proposal you own. If you're not the proposer, you don't see the button.
Linking tasks and other decisions
A decision in the Approved state often needs follow-up: someone has to actually do something. And a new decision sometimes builds on or contradicts an earlier one. The detail panel on the right side has two sections for this:
Linked tasks
Click Link task to paste a URL to an existing Deck card, or Create task to open the Deck card composer directly with the new card pre-linked to this decision. Either way, the task shows up under the decision and the decision shows up in the audit trail.
Linked decisions
Click Link decision to open the decision picker. Type a few words from another decision's question; results appear as you type. Pick one to create a link. The other decision now shows this one in its own Linked Decisions list — links are bidirectional.
If you click a linked decision in the list, you jump straight to it. If it's not visible because of your current filters, you'll see a hint to clear them.
Who can link is gated on the Minimum role to act on decisions team setting. Set high (admin) in teams where decisions need careful curation; set low (member) in teams where everyone keeps their own thread tidy.
Source files
Below the description you'll find the Source section — a list of files attached to the proposal, with the final-locked version marked Final proposal. Click any source file to open it in a read-only viewer without leaving TeamHub. Useful when reviewing later: you can see exactly what was decided based on which version of the supporting document.
The audit trail
Every decision carries an audit trail. The right column shows it with a timestamp for each step: Proposed, Commented, Finalised proposal, Approved / Denied / Withdrawn, Linked task / Unlinked task, Linked decision / Unlinked decision — with the actor and (where relevant) the reason or peer.
The audit trail is append-only. Nothing in it is editable or deletable. That's the point.
Filtering and searching
The Decisions tab has filter pills along the top:
- Status — Open / Awaits approval / Approved / Denied / Withdrawn
- Impact — Any / Low / Medium / High
- Level (if enabled) — Any / Operational / Tactical / Strategic
- Newest first / Oldest first — sort order
Plus the Categories button on the left, which takes you to the per-category landing page. From there you can drill into one category and see only its decisions.
The search bar on the landing page searches across all decisions by question text. It's a backend search — fast, doesn't depend on what's currently loaded in your view.
Supersede
You can propose a new decision that supersedes an existing one. From an approved or denied decision, click Propose superseding decision. The new decision is pre-filled and references the original; when proposed, it auto-withdraws the original if it was still open.
This is the right way to revisit a previously-decided question. The old decision stays in the history; the new one carries the link forward.
Notifications
You'll get a Nextcloud notification when:
- A decision is proposed in a category where you're the approver (and the decision moves to awaits approval)
- A decision you proposed is approved, denied, or commented on
- You're mentioned in a decision's comments (
@nameworks in decision discussion the same as in messages)
If something doesn't appear
The Decisions tab and widget show on every team, but specific buttons are gated by your team role and by the per-team settings the admin chose. If you don't see a button you'd expect:
- Propose decision missing — the team admin has restricted decision proposals to a higher role
- Link task / Link decision missing — same setting; ask your team admin to lower the minimum role to act on decisions
- Approve / Deny missing — you're not the configured approver for this decision's category, and you're not a team admin
If you're an admin and the Decisions tab is missing entirely, the module may be turned off for the whole Nextcloud instance — that's a Nextcloud admin setting.