Where do you keep your team's decisions?

Six months on, somebody always asks why we do it this way. The Decisions module in TeamHub gives a Nextcloud team one place to record the answer.

We make decisions all day, from small ones to those that matter to many people. But where do we store them? Who initiated the decision your team took a while ago? Who decided this was the way to do it? And was there even a decision in the first place, or is it just something somebody assumes was decided?

Six months after a call is made, somebody always asks the same question: why do we do it this way?

In most teams the honest answer is a shrug. The conversation happened — with some luck it was in chat or mail and you can find it again. In most cases the conclusion was never written down. In the worst case the person who made the call has moved to another team, or another company.

Decisions is a module in TeamHub, the team workspace app for Nextcloud. It gives a team one place to put a proposal, discuss it, lock its wording, and record who approved it and why.

The scope is deliberately narrow. It is for all those choices your team will be asked about again: budgets, hiring, vendors, tooling, process changes, architecture. Anything where the reason matters as much as the outcome.

A TeamHub decision, showing impact, category, proposer, the locked proposal text, linked tasks and the audit trail

How a team benefits

  • Every outcome carries a written reason.
  • The wording locks before anyone approves it.
  • Proposals route themselves to the right approver.
  • Every decision has its own audit trail.
  • Decisions link into a tree, not a list.
  • A settled question gets superseded, not overwritten.
  • Nothing leaves your server.

How it works

There is one way in: Propose decision on the team's Decisions tab, or the + on the Decisions widget on the team home.

The form asks for a subject (what is the team deciding?), the context (the full proposal, in Markdown, with file attachments that become part of the record), an impact of low, medium or high, an optional level of operational, tactical or strategic, and a category. The category is what routes the proposal: each one carries its own approvers, so filing under Budget puts it in front of the finance lead without anyone having to chase.

Then, at the bottom of the form, after you have written it, it asks how the proposal should be handled:

  • Finalize it now. Straight to Awaits approval. The wording locks immediately.
  • Discuss it with people I pick. Opens a Talk conversation with just those people. The proposal stays open.
  • Discuss it with the whole team. Posts it as a thread in the team conversation, where any member can respond. The proposal stays open.

A private discussion is genuinely private. The proposal stays out of everybody else's activity feed, message stream and decisions list until it is finalized. A direct link to it reports that it does not exist, rather than that you are not allowed to see it.

While a proposal is open, the proposer can edit it in response to feedback. That is the entire point of a discussion phase: you should be able to act on what people said without withdrawing the proposal and starting over, losing the discussion with it. Comments are threaded underneath and cannot be switched off. A discussion you can't reply to isn't one.

Finalize locks the wording, writes a snapshot of the final proposal into the team's folder as a Markdown file, and hands the proposal to the approver.

The approver, or approvers, find it in the Approve tab of the Decisions widget, carrying a count of what needs their attention, and in their personal My Work queue. They open it, read the locked text, write a reason, and press Approve or Deny. The reason field cannot be left empty.

A decision does not have to be the end of it. Link a decision to one or several tasks, and to the earlier decision it executes on, and the flat list becomes a tree: the operational call visibly hanging off the tactical decision that authorised it. Links work in both directions. When a settled decision needs revisiting, you propose a superseding decision, and the original stays in the history with the link carried forward.

The synergy: it links, it does not copy

TeamHub's rule is that it does not become another silo. Deck stays the source of truth for tasks, Talk for conversations, Files for documents. Decisions links to them and writes back to them.

  • Talk. The discussion venue. A private conversation with the people you picked, or a thread in the team's own conversation.
  • Deck. Link an existing card to a decision, or create one that arrives already linked. Approved decisions usually mean somebody has to do something; this is where that lands.
  • Files. The finalized proposal and its attachments live in the team folder as Markdown. Readable without TeamHub, and they outlive it.
  • Calendar. An approver can schedule a meeting with the other approvers of the category, pre-filled with the proposal text, and the meeting is recorded back onto the decision.
  • My Work. The personal queue across every team you are in. Proposals awaiting your approval sit under Action required and can be approved or denied straight from the row. Your own open proposals sit there too, because only you can finalize them. Proposals you will be asked to approve later appear under Waiting for others, so approvals stop arriving as surprises.
  • What's new. An Open proposals tab with its own count, across all your teams at once.
  • Timeline. Decisions appear as dated events, with an optional overlay drawing the line from a decision to the tasks it produced.
  • Advanced projects. Decisions can be attached to milestones, and an unresolved decision close to a milestone date marks that milestone as slipping in the project health widget. When a project closes, its decisions are written out as part of the closing record.
  • Notifications. The ordinary Nextcloud bell, for proposals in your category, and for outcomes and comments on your own.

What a team admin or owner controls

All of it is per team, under Manage team.

  • The master switch. Integrations → Decisions. Off hides the tab and the widget; on brings them back together with every past decision. New teams get it switched on in the create-team wizard, where you can untick it. Turning it off deletes nothing.
  • Categories. Integration settings → Decisions. Each one gets a name, an icon, an optional description and its own approver list. Any one approver can decide; they do not all have to. A category cannot be saved with zero approvers. Create one without, and the team owner is added, because a category that routes to nobody is a decision that gets stuck. The first category is the default on the proposal form, so put the most common one first.
  • Minimum role for actions. Member, Moderator or Admin, governing Finalize, Link task, Create task and Link decision. Tighten it in teams where decisions need careful curation; leave it open where everyone keeps their own thread tidy.
  • Propose is always open to every member. Deliberately. Proposing is how a team surfaces a question, and restricting it defeats the point of the module.
  • The level field. Off by default. Turn it on if your team genuinely thinks in operational, tactical and strategic terms. Leave it off if it would just be one more required field.

Above all of this sits one control for the Nextcloud administrator: Admin settings → TeamHub → Decisions module, which decides whether team admins can enable it at all.

Getting started

Decisions ships with TeamHub and is switched on per team. Set the categories up first: each one carries its own approver list, and that list is what lets a proposal route itself instead of being chased. The user documentation walks through proposing, discussing and approving, and the team management guide covers categories and permissions.

TeamHub installs from the Nextcloud App Store, and every decision it records stays in your own database, on your own server.

Give every team a home inside Nextcloud

TeamHub is free and open source, runs on your own server, and installs from the Nextcloud App Store.

Install TeamHub
Link copied

Share on Mastodon

Mastodon has no single address, so tell us where your account lives. We'll remember it on this device.