Skip to main content

Task Priorities

Route: /org/taskconfig?tab=priorities · Manage permission: Manage Task Priority


1. What a priority is​

A priority is how urgent a task is. It is a flat list of labelled, coloured levels that a project defines for itself — Critical, High, Medium, Low are conventions, not built-ins.

A priority carries no behaviour. Nothing escalates, nothing is due sooner, no notification fires because a task is Critical. It is a label with a colour and a sort position.

PriorityStatusTypeCategory
AnswersHow urgent?Where in the flow?What kind of work?Which group?
Changes over a task's lifeRarelyConstantlyNeverRarely
Drives Kanban columnsNoYesNoNo
Has a workflowNoYesNoNo
Affects billingNoNoNoYes
A priority does not do anything on its own

There is no SLA, no escalation and no automatic due date attached to a priority. If Critical should mean something operationally, that meaning has to be built by the people using the board — Orbit will not enforce it here.


2. How priorities spread across the application​

SurfaceWhat it uses
Create Task drawerThe list, in order
Task detailThe list; the colour draws the priority chip
Task list — Group by → PriorityThe list and its order become the group headings
Task AnalyticsCounts per priority
Workflow → Create Developer Task actionChoosing the priority for the generated task

3. Managing priorities — step by step​

Figure 1 — The priority list with drag handles, colour dots and hover actions.

Step 1 · Read the list​

Each row is one priority, shown as a card: a drag handle, a colour dot, and the name. The Edit and Delete buttons are hidden until you hover the row, and only appear at all if you hold Manage Task Priority.

An empty list reads:

No priorities defined. Click "Add Priority" to create one.

Step 2 · Add one​

Add Priority opens a right-hand drawer titled Add Priority, pre-filled with the first colour and an Order set to the current count plus one.

Figure 2 — The Add Priority drawer, pips: 1 ID, 2 Name, 3 Colour swatches, 4 Order, 5 Level.

ID is locked after creation — the padlock on the right of the field says so — because tasks reference it.

Order is worth setting only if you are not going to drag: dropping a row rewrites every order value from 1.

Step 3 · Reorder by dragging​

Priorities are reordered by dragging the grip handle, not by editing the Order field.

A drag saves immediately

Dropping a row renumbers every order from 1 and saves at once — there is no Save button for a reorder, and no undo. Editing a row, by contrast, requires Save Changes.

Step 4 · Delete​

The delete button opens a confirmation:

Delete Priority — Are you sure you want to delete this priority level? This action cannot be undone.

Confirming removes the row and renumbers the remaining order values from 1.


4. Field reference — the priority drawer​

FieldControlRequiredLocked on editNotes
IDText✅Yes — shown with a padlockPlaceholder e.g. critical. Helper text: "Unique identifier for this priority." Must be unique across the project
NameText✅NoPlaceholder e.g. Critical. This is what users read
ColorSwatch picker—NoSeven fixed swatches. There is no custom colour input
OrderNumber—NoSort position. Overridden by dragging
LevelNumber—NoStored on the priority. Nothing in the UI reads it

Where the colours come from​

The palette is fixed in code — seven colours, no picker
SwatchHex
Red#DC2626
Blue#3B82F6
Green#22C55E
Orange#F97316
Cyan#06B6D4
Purple#A855F7
Yellow#EAB308

There is no hex field and no colour wheel. A brand colour that is not one of these seven cannot be used for a priority.

What Level is for​

Level is stored but unused

The drawer offers a numeric Level beside Order, and it is saved with the priority. No screen in the product reads it — sorting everywhere uses order.

Treat it as a field reserved for future numeric comparison. Setting it does nothing today, and setting it inconsistently with Order will not break anything either.

Validation​

Validation is client-side and reports through a toast.

RuleWhenMessage
ID and Name presentEither is empty on saveID and Name are required
ID uniqueAdding an ID that already existsPriority ID must be unique

There is no length limit, no character restriction on the ID, and no check that the ID is not in use by existing tasks.


5. The admin contract​

PrerequisiteWhere
Page Access of Task ConfigurationOtherwise the page is Access Denied
Manage Task PriorityOtherwise the section is read-only
A selected projectPriorities are per project

6. Downstream​

ActionEffect
AddAppears immediately in every priority control in the project
RenameThe new name shows everywhere; tasks keep their link because the ID did not change
ReorderChanges group order in list view and option order in dropdowns
DeleteThe option disappears. Tasks that referenced it keep the stored ID, which no longer resolves to a name
Deleting a priority does not clean up the tasks using it

There is no usage check before delete, and no reassignment step. Tasks that referenced the deleted ID are left pointing at something that no longer exists.

Rename instead of deleting whenever the priority has been in use.


7. Don't confuse this with…​

ThingWhereWhy it is different
Task priority (this page)/org/taskconfig?tab=prioritiesPer project, labels only
Ticket priorityResolve settingsResolve's own list, drives SLA clocks
Priority filter/org/tasks filter barReads this list; does not define it
LevelThis drawerA stored number, not a second priority scheme

8. Troubleshooting​

SymptomCause
No Add Priority buttonMissing Manage Task Priority
Edit/Delete never appearThey are hover-only, and permission-gated
A drag did not stickA drag saves on drop; if the toast reported an error the list re-renders from the server
A task shows a blank priorityIts priority was deleted
Order field ignoredDragging rewrites every order value from 1
Colour not availableThe palette is seven fixed swatches