Project Milestones

Dated checkpoints across five types with required due dates, auto-progress from linked tasks and CRM tasks, two-way goal linking, and rich task management via the Linked Items slide panel.

Milestones in PrimeTask are the concrete checkpoints of your project - dated deliverables, phase completions, key decisions, and releases. Every milestone has a required due date, a type that describes what kind of checkpoint it is, and links to the tasks that roll up into it. When a milestone has linked tasks, its progress and status are calculated automatically from the completion of those tasks.

Milestones differ from goals in important ways: milestones require a due date (goals don't), and milestones track progress from linked tasks (goals track from Key Results and/or linked milestones). Milestones also link back to goals - supporting the two-way goal↔milestone relationship. For goals, see Project Goals.

Milestones are dated checkpoints

Use them for moments that need a due date, such as phases, handoffs, decisions, releases, or client reviews.

What you can do

Create milestones

across five types - Phase, Deliverable, Decision, External, Release

Set a required due date

so progress can be tracked against a deadline

Link tasks and subtasks

to a milestone - both regular project tasks and CRM tasks

Track progress automatically

from completion of linked tasks, or set progress manually with a slider when the milestone has no linked tasks (useful for imported or checkpoint-style milestones)

See status auto-derived

not_started, in_progress, at_risk, overdue, or completed

Set priority

Critical, High, Medium, or Low

Link back to goals

two-way sync with the Goals system

Manage milestones

from the Milestones tab (full list view) or inline from the Overview tab

Use the Milestone modal

for full editing of metadata and linked goals

Use the Milestone Linked Items slide panel

for rich task management - link, unlink, and edit inline

Filter tasks by milestone

on the Tasks tab

See milestones on the Gantt chart

as dated markers

Drag to reorder

milestones in the list

Add tags

for filtering and grouping

Milestone types

Every milestone has one of five types. The type is purely descriptive - it classifies what kind of checkpoint the milestone represents:

TypeWhat it representsExample
PhaseA stage of work or sprint"Phase 2: Backend Implementation"
DeliverableA tangible output shipped or handed off"v1 API documentation"
DecisionA decision point that gates further work"Technology stack approval"
ExternalA checkpoint tied to an external party or dependency"Client feedback received"
ReleaseA release, deployment, or launch"v2.0 Production Release"

Type doesn't change the progress calculation - it's a classification for reporting, filtering, and clarity when scanning the Milestones tab.

Choose milestone type for clarity

The type helps explain why the checkpoint matters, but progress still comes from linked work.

Due dates are required

Every milestone must have a due date. This is the core difference between milestones and goals - milestones are inherently dated, which is what lets PrimeTask track them as overdue or at-risk. When creating a milestone, the due date is a required field in the modal.

Status is auto-derived

Milestone status is not a value you set - it's computed from progress and due date:

StatusWhen it applies
CompletedProgress is 100%
OverdueDue date has passed and progress is not 100%
At RiskDue date within 3 days and progress < 80%
In ProgressProgress > 0 and none of the above
Not StartedProgress is 0

Status updates live as you add, complete, or remove linked tasks. The Overview tab's Health Assistant flags milestones that are overdue or at risk - see Project Overview Tab.

Due dates affect project health

Overdue and at-risk milestones can change the project's overall health.

Milestone progress - auto when linked, manual when not

Milestone progress works two ways depending on whether the milestone has linked work:

  • Auto-tracked from linked tasks - when a milestone has at least one linked task or CRM task, its progress is computed automatically from those items. You never need to set the percentage by hand.
  • Manual progress slider - when a milestone has no linked tasks, a slider appears so you can set the percentage yourself. Useful for milestones imported from another tool, checkpoint-style milestones with no underlying task work ("Legal sign-off", "Vendor contract returned"), or projects you started tracking mid-flight.

The mode is automatic - you don't toggle anything. Link a task and the slider goes away, replaced by the auto-tracked percentage. Unlink every task and the slider returns with your previously stored value.

Link tasks to switch to auto-tracking

Manual progress is for milestones with no underlying task work or for migrating in-flight projects. Once you link tasks, the milestone tracks them automatically and the slider hides.

When auto-tracking applies

When at least one task or CRM task is linked:

  • Each linked task contributes its own progress (status-based, with subtask completion factored in via the weighted-parent strategy)
  • Each linked CRM task contributes its own progress the same way
  • The milestone's progress is the average of all linked items' progress
  • Custom Active statuses count too - any task in a status mapped to the Active category contributes partial credit just like a built-in In Progress status

Mark a linked task complete and the milestone's percentage advances immediately.

Subtasks count too

Linked tasks that have subtasks contribute weighted-parent progress - the parent task's progress takes subtask completion into account. This matches the main task progress calculation used elsewhere in PrimeTask.

CRM tasks count too

Milestones can link to both regular project tasks and CRM tasks. Both contribute to auto-progress, letting project milestones span work that happens in the CRM layer (follow-ups, demos, client calls).

Where to set manual progress

You can set manual progress in two places:

  • On the milestone row in the Milestones tab - drag the slider next to the milestone, or type a value into the number field. The card label changes to manual so you know where the number is coming from.
  • In the Milestone modal when creating or editing - the modal shows the same slider when the milestone has no linked tasks. Handy for setting initial progress when importing or capturing a milestone that's already partway done.

Status is derived from the manual percentage automatically - completed at 100%, overdue if past due, at risk if close to due and below 80%, in progress otherwise.

Priority

Each milestone has a priority - Critical, High, Medium, or Low - set manually. Priority is used for sorting and visual emphasis, and surfaces in the Health Assistant when milestones are flagged.

How to open milestones

  • Milestones tab - press 4 on the Project Details Page, or click the Milestones tab
  • Overview tab - milestones are editable inline in the right column of the Goals & Milestones widget (for shorter projects)
  • Add Milestone shortcut - press M anywhere on the Project Details Page to open the new-milestone modal
  • From the project header - click the Add Milestone action button
  • From the Tasks tab - use the milestone filter to see tasks linked to a specific milestone

The Milestone modal

The Milestone modal is used to create a new milestone or edit an existing milestone's metadata. Fields:

  • Name (required)
  • Description (optional)
  • Type - Phase / Deliverable / Decision / External / Release
  • Priority - Critical / High / Medium / Low
  • Due date (required)
  • Linked goals - checkboxes for every goal in the project

The modal adapts to what the milestone has:

  • No linked tasks (or new milestone) - a manual progress slider appears so you can set the percentage yourself. The slider runs from 0% to 100% with a number field next to it for typing exact values.
  • At least one linked task or CRM task - the modal shows an auto-progress preview instead: the derived status, the calculated progress percentage, and a preview of the first few linked tasks. No slider, because progress is being tracked from your linked work.

Save commits the milestone and closes the modal. Progress and status continue to update automatically on render.

The Milestone Linked Items slide panel

For the rich task management workflow - linking new tasks to a milestone, unlinking, editing statuses and priorities in place - use the dedicated slide panel. It opens from the Manage action on any milestone card.

Two tabs inside the panel

  • Tasks - every task and CRM task linked to the milestone; add more via a link picker
  • Goals - every project goal with checkboxes to link/unlink

What you can do in the Tasks tab

  • See all linked tasks and CRM tasks in a single list
  • Add tasks via a link picker that shows unlinked available tasks
  • Search by task name
  • Hide completed tasks with a single toggle
  • Change status or priority inline using dropdowns on each task card
  • View a task's full details by clicking through to the task detail page
  • Unlink tasks with a single click
  • Paginate for long task lists
  • See progress stats in the footer - X of Y tasks completed (Z%)

What you can do in the Goals tab

  • See all project goals with a checkbox toggling the link state
  • Link or unlink a goal to this milestone - the link is synced on the Goal side automatically
  • See linked count in the footer - X goals linked

Pinnable panel

The slide panel is pinnable - pin it open and continue working on tasks in the background while keeping the milestone's task list in view.

Modal vs slide panel - when to use which

  • Modal - for creating a milestone or editing its name, description, type, priority, due date, and linked goals
  • Slide panel - for hands-on task linking, inline task editing, and bulk management of linked items

Both share the same data - changes made in either sync immediately.

The Milestones tab

The Milestones tab (key 4) shows every milestone in a list with full rich cards:

  • Drag handle to reorder
  • Completion checkbox (toggles the milestone between completed and in_progress)
  • Name, description, type badge, priority badge, status badge (auto-derived)
  • Due date display
  • Auto-progress percentage
  • Progress bar
  • Linked goals (as badges with target icon)
  • Linked tasks section - expandable, shows up to 10 regular tasks and 10 CRM tasks with inline status/priority editing and view/unlink actions
  • Manage button that opens the slide panel for full task management
  • Edit and Delete actions

Empty state

When a project has no milestones, the tab shows an empty state inviting you to add the first milestone.

Task ↔ milestone linking

Tasks and subtasks link to milestones through the task's milestone field. The linking flow can start from several places:

From the milestone side (recommended)

Open the Manage slide panel on a milestone and use the Add action in the Tasks tab. A picker shows every unlinked project task and CRM task - select the ones you want to link and save. This is the fastest way to batch-link tasks to a milestone.

From the Project Setup Wizard

Step 5 (Linking) of the wizard lets you map imported tasks to milestones as part of project creation. See Creating Projects.

Which tasks can link?

  • Regular project tasks (including subtasks)
  • CRM tasks (when CRM is enabled on the project)

Both types live in the milestone's task list and both contribute to auto-progress.

Milestones on the Tasks tab

The Tasks tab has a milestone filter that shows only milestones with at least one linked task. Filtering by milestone shows every task (and subtask) linked to that milestone - a fast way to answer "what's in this phase?" See Project Tasks Tab.

Milestones on the Gantt chart

Milestones appear on the project's Gantt chart as diamond markers at their due date - the standard Gantt symbol for a single-day milestone or deadline. Tasks appear as bars around them, and dependency lines show how work flows between them. See Gantt View.

Linking to goals

Milestones link back to goals via the Goals tab of the slide panel (or via the Milestone modal's goal checkboxes). When you link a goal to a milestone, PrimeTask updates both sides - milestone.linked_goal_ids and goal.linked_milestone_ids - so the two-way relationship stays in sync. See Project Goals.

Linked milestones feed into goal progress - each goal's progress averages its Key Results and the progress of its linked milestones. This is how deliverables (milestones) roll up into outcomes (goals).

Things worth knowing

Status is derived, not stored

Milestone status is recomputed on every render from progress and due date. You can't set it directly. This keeps status honest - a milestone is "Overdue" because its due date has passed, not because someone forgot to update a field.

Progress is auto when linked, manual when not

A milestone with at least one linked task or CRM task is auto-tracked from those items. A milestone with no linked work shows a slider on the row and in the modal so you can set the percentage yourself. Link any task to the milestone and the slider hides - auto-tracking takes over and your manual value is preserved on the record. Unlink everything and the slider returns with that value.

Two-way linking with goals stays synced

Linking from the milestone side or the goal side updates both arrays. Unlinking does the same. You don't have to manually sync them.

Subtasks are included automatically

When a linked task has subtasks, the subtasks contribute to the parent's progress (via the weighted-parent strategy), which then contributes to the milestone's progress. You don't need to link subtasks individually - linking the parent is enough.

CRM tasks are first-class

When your project has CRM enabled, CRM tasks can be linked to milestones and contribute equally to auto-progress. This lets you include client-facing work (calls, follow-ups, demos) in the milestone's rollup without having to mirror it as a regular task.

Completing a milestone manually

You can check a milestone as completed from its card. This overrides auto-progress to 100% and marks the status as Completed. If you later uncomplete it, progress returns to its calculated value.

Milestones can block each other

A milestone can have blocked_by_milestone_ids - milestones that must complete first. When set, the Health Assistant flags the blocked milestone as a medium-severity item. This is advisory only - PrimeTask doesn't prevent you from completing a blocked milestone. Use it as a planning signal, not a hard gate. See Project Overview Tab.

Common questions

"What's the difference between a milestone and a goal?"

Milestones are dated checkpoints with required due dates that track from linked tasks. Goals are objectives (often long-running) that track from Key Results and/or linked milestones. Milestones are about "what will we have delivered by when"; goals are about "what outcome are we trying to achieve". See Project Goals.

"Why is my milestone's progress different from what I expect?"

Progress is the average of linked tasks' progress - and task progress factors in subtasks via the weighted-parent strategy. A linked task at 70% (with some subtasks complete) contributes 70, not a simple 0 or 100. The milestone's progress is the average across all linked tasks and CRM tasks.

"Can a milestone have no due date?"

No - due date is required. If you need a checkpoint without a deadline, use a goal instead. Goals have optional target dates.

"How do I link subtasks to a milestone?"

You don't need to - linking the parent task is enough. The parent's progress accounts for its subtasks' completion, so the milestone's auto-progress includes subtask work automatically.

"I marked all linked tasks complete but the milestone isn't Completed."

Progress should be 100% and status Completed. If it isn't, check that every linked task's status is in a complete category (your Space's "Done" or equivalent). Tasks marked as closed or in a non-complete status don't count as completed for milestone purposes. See Custom Statuses & Priorities.

"Can I link a CRM task to a milestone?"

Yes, when the project has CRM enabled. The Milestone Linked Items slide panel's Add action includes CRM tasks in the picker.

"How do milestones appear on the Gantt?"

As diamond markers at their due date. Tasks appear as bars; dependency lines connect dependent items. See Gantt View.

"Can I copy a milestone to another project?"

Not directly, but Copy to Space copies milestones along with the rest of the project. See Copy to Space.

Where to go next

If you want to…Read this
Set goals with Key ResultsProject Goals
Work with tasks inside the projectProject Tasks Tab
See milestones in project contextProject Overview Tab
Understand how milestones roll into overall progressProject Health & Progress
See milestones on a Gantt timelineGantt View
Understand subtasks in task progressSubtasks & Checklists
Link milestones to CRM tasksCRM Tasks
Add milestones during project creationCreating Projects
Return to the Projects hubProjects Overview

Related Articles