Creating a task
Route: /org/tasks?action=create · Permission: Create Tasks
1. What creating a task involves
The create drawer is a 500-pixel right-hand panel titled Create New Task — "Fill in the details to add a new task". It collects fourteen fields, three of which are required, and applies two pieces of inheritance you cannot see happening.
The two surprises, up front:
| Surprise | Detail |
|---|---|
| Estimated hours is required | Marked with a red asterisk. You cannot create a task without an effort estimate |
| Category is required for root tasks | But inherited and locked when the task has a parent |
2. How creation spreads across the application
Four ways in, and each pre-fills something different:
| Entry point | Pre-fills |
|---|---|
| Add Task in the header | Nothing |
| + on a category rail row | That category |
| Add subtask on a task | That task as parent — and locks the category |
?action=create in the URL | Nothing |
3. Creating a task — step by step
The drawer is 500 pixels wide and scrolls. Three fields carry a red asterisk — Task Title, Type and Est. Hours — and a fourth, Task Category, is required on root tasks and locked on subtasks.
Note how much of the form is timeline data: start date, milestone and predecessor are what put the task on the Gantt chart.
Step 1 · Title and description
Task Title is focused automatically, with the placeholder What needs to be done?.
Description is a plain textarea whose placeholder promises (Markdown supported).
You type Markdown-ish plain text here. Once the task exists, its description is edited in a rich text editor that stores HTML. The two are not the same editor, and text typed here is not parsed as Markdown on the way in.
See Task detail.
Step 2 · Type and priority
Type is required and arrives pre-selected with the project's default task type. Priority is optional and starts empty.
If the project has no task types at all, an amber banner replaces the pair:
No task types are defined for this project. Create at least one in Settings → Task Types before adding tasks.
and Create Task is disabled with the tooltip "Define a task type first (Settings → Task Types)".
Step 3 · Assignee
A single dropdown of project members, with Unassigned as the first option.
Step 4 · Parent task — and the category lock
Choosing a Parent Task makes this a subtask. The moment you do, if the parent has a category, that category is copied into the field and the control is disabled.
The label changes to tell you: Task Category * on a root task, Task Category (Inherited) on a
subtask.
This is not a validation message you can work around — the control is disabled. If a subtask belongs in another category, it cannot be a subtask of that parent.
The parent dropdown lists every task in the project, flattened — including existing subtasks, so you can nest deeply. It does not exclude the task's own descendants, because the task does not exist yet.
Step 5 · Category and the billable flag
Each option shows a colour dot and, for billable categories, a green BILLABLE pill.
Selecting a category overwrites the Billable Task toggle with the category's default. Selecting a different category overwrites it again.
The inheritance runs every time the category changes, so a manual override made first is silently replaced. Choose the category, then adjust billing if you need to.
Step 6 · Dates, effort and the timeline fields
Due Date, Est. Hours (required), Start Date, Milestone / Phase and Predecessor Task. The last three are what put the task on the timeline.
Step 7 · Tags
Type and press Enter or comma to commit a tag. Backspace in an empty input removes the last one. Duplicates are ignored silently.
Step 8 · Create
Create Task shows a spinner while in flight. On success: Task Created — Task has been created successfully, the list refreshes and the drawer closes. On failure the server's message is shown and
the drawer stays open with your input intact.
4. Field reference
| # | Field | Control | Required | Default | Notes |
|---|---|---|---|---|---|
| 1 | Task Title | Text | ✅ | empty | Autofocused. Error: Title is required |
| 2 | Description | Textarea | — | empty | Placeholder claims Markdown support |
| 3 | Type | Select | ✅ | the default type | Error: Type is required |
| 4 | Priority | Select | — | empty | A task can have no priority |
| 5 | Assignee | Select | — | Unassigned | Project members only |
| 6 | Parent Task | Select | — | No Parent (Root Task) | Every task, flattened |
| 7 | Task Category | Select | ✅ on root tasks | inherited if there is a parent | Error: Category is required for root tasks |
| 8 | Due Date | Date | — | empty | |
| 9 | Est. Hours | Number | ✅ | empty | step 0.1, min 0.1. Errors: Effort is required, Effort must be > 0 |
| 10 | Start Date | Date | — | empty | Timeline field |
| 11 | Milestone / Phase | Select | — | No Milestone | Timeline field |
| 12 | Predecessor Task | Searchable select | — | No Dependency | Timeline dependency |
| 13 | Billable Task | Toggle | — | on, then overwritten by the category | "This task's effort will be tracked for billing" |
| 14 | Tags | Tag input | — | none | Enter or comma commits |
Where each dropdown's values come from
| Field | Source | Configured at |
|---|---|---|
| Type | Project task types | Task Configuration → Types |
| Priority | Project priorities | Task Configuration → Priorities |
| Category | Project task categories | Task Configuration → Categories |
| Assignee | Project members | Project Access. Not all organization users |
| Parent / Predecessor | Every task in this project, flattened | The board |
| Milestone | Project milestones | Project Details → Timelines/Milestones |
Every task is created with the status backlog, sent silently in the payload. There is no status
control in the drawer, and the workflow's Start node is not
consulted at creation.
Change the status after creating, from the board or the detail panel.
Validation
Validation runs on submit and marks each failing field individually.
| Rule | Message |
|---|---|
| Title present | Title is required |
| Type present | Type is required |
| Category present on a root task | Category is required for root tasks |
| Effort present | Effort is required |
| Effort above zero | Effort must be > 0 |
| Parent is not the task itself | Cannot be parent of itself |
| Server rejection | The server's message, or Failed to create task |
Not validated: due date after start date, predecessor cycles, duplicate titles, tag length.
What happens to empty values
Blank optional fields are cleaned before sending — Unassigned becomes null, empty parent,
category, milestone and predecessor become null, and empty dates are dropped from the payload
rather than sent as empty strings.
5. The admin contract
| Prerequisite | Without it |
|---|---|
| Create Tasks | No Add Task button anywhere |
| At least one task type | Creation is blocked with an amber banner |
| At least one category | Root tasks cannot be created — the field is required with nothing to pick |
| Project members | The assignee list is just Unassigned |
| Milestones | The milestone dropdown offers only No Milestone |
Those two are the only hard blockers. A project with no priorities or milestones is usable; a project with no types cannot have a task created in it at all.
6. Downstream
| Field | Where it lands |
|---|---|
| Category | The rail, grouping, and Resource Bills |
| Billable | Whether logged time can be billed |
| Est. Hours | Timeline bar length, and estimate-versus-actual reporting |
| Milestone | Milestone tabs and the timeline |
| Predecessor | The dependency arrow on the timeline |
| Assignee | My Tasks, and workload analytics |
| Tags | Group by → Tag |
7. Don't confuse this with…
| Thing | Where | Why it is different |
|---|---|---|
| Create New Task (this page) | The drawer | Fourteen fields, full control |
| Add subtask | A task's Subtasks tab | The same drawer with parent pre-filled and category locked |
| + on a category row | The rail | The same drawer with category pre-filled |
| Create Developer Task action | Workflow | Creates a task automatically on a transition — title, description and priority only |
| Jira import | Jira sync | Tasks arrive from Jira without going through this form |
8. Troubleshooting
| Symptom | Cause |
|---|---|
| Create Task is disabled | The project has no task types |
| Category dropdown is greyed out | The task has a parent; the category is inherited |
| Cannot save without an estimate | Est. Hours is required, minimum 0.1 |
| The billable toggle keeps resetting | Selecting a category overwrites it |
| Assignee list is missing a colleague | It lists project members, not organization users |
| A new task appears with status Backlog | Every task starts there; the workflow Start node is not used at creation |
| The drawer did not remember my last choices | See below |
| Description formatting looks wrong | This field is plain text; the detail panel's editor is rich text |
On every successful create, the type, priority, assignee and category are written to browser storage as a "last used" set. Nothing reads them back — the drawer always opens with the configured default type and everything else empty.
So repeated creation is repeated typing. Use the category rail's + button to at least skip the category.
Related
- Task detail — where the task is edited afterwards
- Subtasks — the parent relationship
- Categories — the source of the billable default