Module guide
Goals
OKR-style objectives and key results with automatic rollup.
Overview
Create objectives and attach measurable key results. Progress on key results rolls up to the objective as a plain mean of its children, with no weights.
Highlights
The capabilities worth knowing before you dive in.
Important to know
Limits, permissions, and sharp edges to keep in mind.
- A key-result target with no current value defaults to 0%. Update the current value to move the needle.
- An objective moves to the Completed section of Goals when its progress reaches 100 per cent. Goals has no archive: deleting an objective deletes it together with its key results.
How to use it
The primary workflow, start to finish.
- Create an objective, then add key results with measurable targets.
- Open a goal and link the tasks that support it. The goal page lists them, marks the finished ones and shows how many are completed.
- Review progress against the end date. Update the current value of each key result, and delete a goal you no longer pursue.
FAQ
- Can I weight my key results?
- No. Every key result counts equally: the progress of an objective is the plain mean of the progress of its key results.
- Why does a key result show no progress even though work has happened?
- A key result with no current value reads as zero per cent. Progress is computed from the current value against the target, so the current value has to be updated for the objective above it to move. Finishing linked tasks does not change it. The linked task count beside the metric counts completed tasks, whichever done status they carry. The goal page lists every linked task you are allowed to see, and says how many linked private tasks are hidden from you.
- What happens to an objective that is complete?
- It moves from the active list to the Completed section of the Goals screen and keeps its key results. Goals has no archive, so the only way to remove an objective is to delete it, which also deletes its key results.
Automate this module
Everything on this screen is scriptable. Drive it from the REST API, or let an AI agent run it through the MCP server.
Was this page helpful?