Projects and tasks: the core of CompanyOS
Projects are how you group a stream of work, and tasks are the individual pieces of that work. Together they are the spine that everything else in CompanyOS hangs off: meetings turn into tasks, notes spin off tasks, the activity log records every status change, and your notifications and inbox are driven by tasks you are assigned to or watching. If you have used Linear, the model will feel familiar. Every task gets a short, human identifier like WEB-42, moves through a small set of statuses, and lives on a board you can drag work across.
Projects
What a project is
A project is a named container for related work, scoped to your organization. It holds tasks, meetings, and notes, plus a living brief (the Overview) where you write the vision and pin links. Each project has a unique key (the short prefix in front of every task number), an active or archived status, an optional lead and target date, and a set of members who can see and work in it. Projects can also be attached to a team.
The project key
The key is the most important decision you make when creating a project, because it becomes permanent shorthand for every task inside it. A project keyed WEB produces tasks WEB-1, WEB-2, WEB-3, and so on. The key must be 2 to 6 uppercase letters (WEB, OPS, GROWTH) and must be unique within your organization — two projects cannot share a key. Pick something short and obvious; it is what people will type and say out loud.
Creating a project
- Open Projects and click New projectFrom the Projects page, click New project. If you have no projects yet, the empty state offers the same button plus a shortcut to import work from a meeting.
- Enter a nameType a clear name like "Website redesign". The name must be at least 2 characters and can be up to 255.
- Set the keyEnter 2 to 6 uppercase letters, for example WEB. The field forces uppercase. If a project in your org already uses that key, creation is rejected and you will need a different one.
- Add a description (optional)Describe what the project is about. You can flesh this out later in the Overview brief with rich formatting, mentions, and links.
- CreateClick Create project. You are now a member of it automatically, and you land in its workspace ready to add tasks.
When you create a project you become its first member. Behind the scenes the org also records a "project created" entry in the activity log, so the team can see it appear.
The Overview brief
The Overview tab is a living brief, not a static description. It is a full rich-text editor: type / for blocks (headings, lists, and more) and @ to mention a teammate or link a task. It autosaves as you type, showing a "Saving…" / "Saved" indicator, and you can flip to a clean preview with the eye icon. A sidebar shows project metadata (key, status, member count, created date) and a Linked artifacts list where you paste Figma files, docs, PRs, or any URL with an optional label. Plain domains get https:// added for you.
Project settings you can change
After creation you can update the project's name, description, status (active or archived), assigned team, lead, and target date. Archiving a project keeps it and its history intact but takes it out of active flow — archived projects show an "Archived" badge, and you cannot create or change tasks inside an archived project until you set it active again.
| Field | Editable later | Notes |
|---|---|---|
| Name | Yes | 1–255 characters. |
| Key | No | 2–6 uppercase letters, unique per org. Fixed at creation. |
| Description / brief | Yes | Edited as rich text in the Overview tab, autosaved. |
| Status | Yes | Active or Archived. Archiving freezes task editing. |
| Team | Yes | Optional owning team. |
| Lead | Yes | Optional person who owns the project. |
| Target date | Yes | Optional ship date. |
Project members
Members are the people who can work in a project. Assignees must be members — you cannot assign a task to someone who is not on the project. Adding and removing members is an admin action, done from the Members tab. A few rules keep projects sane: a person must already belong to your organization before you can add them to a project, you cannot remove yourself, and a project must always keep at least one member, so the last member cannot be removed. When you are added to a project, you get a notification.
Independently of membership, you can subscribe to a project to opt into its notification stream. Subscribing and unsubscribing is a personal toggle and does not affect your access or anyone else's.
Deleting and restoring a project
Deleting a project is an admin action and is a soft delete — the project disappears from the active list but is recoverable for 30 days. Within that window an admin can view deleted projects and restore one back to active. After 30 days it falls out of the recovery window and can no longer be restored.
Tasks: the Linear-style system
Every task gets a stable identifier of the form KEY-number, for example WEB-42. The number is assigned per project and counts up from 1: the first task in the WEB project is WEB-1, the next is WEB-2, and so on. Numbering is allocated under a per-project lock, so even if several people create tasks at the same moment, no two tasks ever collide on a number and there are no gaps from race conditions. The identifier is what you reference in conversation, search, and links.
Statuses and the workflow
A task moves through a fixed set of statuses. Five of them appear as columns on the board, in this order:
| Status | What it means | Category |
|---|---|---|
| Backlog | Captured but not committed to. | Backlog |
| Todo | Committed, not started. | Unstarted |
| In Progress | Actively being worked on. | Started |
| In Review | Work done, awaiting review. | Started |
| Done | Completed. | Completed |
| Cancelled | Dropped, will not be done. | Cancelled |
There is also a Duplicate status used when a task is folded into another; it is treated like Cancelled for progress and is not shown as its own board column. Each status maps to an immutable category — Backlog, Unstarted, Started, Completed, or Cancelled. Categories are the stable spine that progress math and focus ordering read, so the system understands "this is started work" regardless of the exact status label.
Priorities
Priority orders attention. The levels, highest to lowest, are Urgent, High, Medium, Low, and No priority (the default). Priority drives the ordering in My Tasks and in priority swimlanes on the board. Marking a task Urgent when it has an assignee sends that person an urgent notification, so it is a real signal, not just a color.
Assignees
A task can have one assignee, and the assignee must be a member of the project. Assigning someone (other than yourself) notifies them and auto-subscribes them so they follow the task. You can clear an assignee to leave a task unassigned. The assignee dropdown only lists people who are on the project.
Labels
Labels are org-scoped tags with a name and a color, shared across all projects. You create them once for the organization (each name is unique) and then attach any number of them to a task. Labels are useful for cross-cutting themes like "design", "infra", or "customer-request". You can filter and you can delete a label org-wide when it is no longer needed.
Due dates
Any task can carry an optional due date. For bugs, if you do not set one, CompanyOS derives a due date automatically from the bug's severity as an SLA: Critical is due in 1 day, High in 3, Medium in 7, and Low in 30. (More on bugs below.)
Tasks vs bugs
A task has a kind: an ordinary Task, or a Bug. A bug must always have a severity (Low, Medium, High, or Critical) — you cannot save a bug without one, and switching a bug back to a plain task clears the severity. Severity drives the SLA due date above and shows as a badge on the card. This supports a zero-bug practice where every bug carries an explicit severity and deadline.
Creating tasks
There are several ways to add a task, from fastest to most detailed.
Inline on the board (fastest)
- Open a project's Board tabEach status column has an Add task affordance at the bottom (and a + in the column header). You can also press the c shortcut.
- Type a title and press EnterThe task is created instantly in that column's status. The composer stays open so you can keep adding tasks one after another.
- Switch to Bug if neededA small Task / Bug toggle lets you create the row as a bug (severity defaults to Medium). For more fields, click Add details to open the full dialog with your title carried over.
The full New task dialog
From the board's Add details, the Tasks tab's New task button, or the c shortcut, you get the full form. Here you set the title (required), a description (supports context, links, acceptance criteria), the type (Task or Bug, with severity when it is a bug), and the starting status, priority, and assignee. The assignee list is limited to project members.
From meetings and notes
Tasks can be created with provenance — a link back to the meeting or note they came from. You can batch-create several tasks at once from a list of text lines (for example, action items extracted from a meeting), all sharing the same source. When a meeting-derived task is later marked Done, CompanyOS records that back on the meeting and notifies the attendees, closing the loop.
Sub-tasks
A task can have sub-tasks, managed from the task detail panel. Sub-tasks live in the same project as their parent and are limited to one level — a sub-task cannot itself have sub-tasks. The parent shows a progress pill (for example 2/5) computed from its sub-tasks using category math, so cancelled sub-tasks do not count against it.
Updating, moving, and transitioning tasks
Editing fields
Open any task to edit it. The title and description save when you click away (on blur). Status, priority, assignee, type, and severity each have their own picker in the detail panel and apply the moment you change them. You can also change labels and due date. There is a short grace window right after a task is created during which routine edits do not spam the activity log — useful while you are still filling a task in.
Moving a task between statuses
On the board, move a task by opening its card menu (the … on hover) and picking a new status under Move to, which lists every status except the current one. On the list view and detail panel you change status from the Status picker. Every transition is recorded in the activity log with the from/to statuses. Transitioning to Done on a meeting-sourced task fires the meeting loop-closing described above, and status changes can also trigger your triage automations.
Bulk actions
On the board and the list, you can select multiple tasks (click, Shift-click for a range, Cmd/Ctrl-click to toggle). A floating action bar then lets you set Status, Priority, or Assignee on all of them at once, or Archive the selection (which sets them to Cancelled). Press X to clear the selection.
Relations: blocks, blocked by, related
From a task's detail you can link it to another task as blocks, blocked by, or related. A task that is blocked by an open (not Done or Cancelled) task shows a Blocked badge on its card, so you can see at a glance what is stuck. "Related" is symmetric, and "blocked by" is just the inverse of "blocks" — the system stores one canonical direction and shows you the right label from each task's point of view.
Deleting a task
Deleting a task removes it permanently (it is recorded in the activity log by identifier). Unlike projects, task deletion is not a recoverable soft-delete, so delete only when you are sure. To drop a task without losing the record, set it to Cancelled instead.
The board view
The Board tab lays tasks out as Kanban columns, one per status, in workflow order. A progress bar at the top shows the project's completion percentage and completed/total count. Across the top you also get a Filter box (matches title or identifier), status and assignee filters, a Group by control, and Display options.
Swimlanes (Group by)
You can group the board into swimlanes by Assignee or Priority (or None for a flat board). With swimlanes on, each person or priority gets its own row of columns, with counts, and you can collapse and expand lanes (press t to collapse or expand all).
Display options
Display options let you control what each card shows — identifier, priority, assignee, labels, due date, sub-task progress, blocked/severity badges — and whether to show empty status columns. These are per-surface preferences.
Keyboard and quick create
Press c to create a task, f to jump to the filter, t to toggle swimlanes, and Cmd/Ctrl+B to flip between board and list. Each board column also has an inline composer so you can add work without leaving the board.
The list (Tasks) view
The Tasks tab is a dense table of the same tasks, with sortable-feeling columns for Task, Status, Priority, Assignee, Labels, Due, Progress, and Updated. You choose which columns appear via Display options, and a density toggle switches between comfortable and compact rows. The same Filter, status, and assignee controls apply, and a counter shows "X of Y" when a filter is active. Double-click a row to open the task; single-click and Shift/Cmd-click select rows for bulk actions.
Saved views and filters
Once you have dialed in a useful combination of filter text, status filter, assignee filter, grouping, and density, you can save it as a view so you can return to it in one click. Saved views live per project and per surface (the board has its own set, the list has its own).
- Set up the filters you wantAdjust the search, status, assignee, and grouping/density until the board or list shows exactly the slice you care about.
- Save the viewIn the Views bar, click Save view (or Save current as view…), give it a name, and confirm. It appears as a pill you can click to re-apply.
- Make one your defaultPin a view as the default (the star) so it loads automatically when you open the project. You can clear the default at any time.
- Update, rename, or deleteWhen you tweak an active view, a dot marks it as having unsaved changes — choose Update to overwrite it. You can also rename or delete views from the Views menu.
Task detail
Opening a task brings up a full detail panel. The left side holds the title and description (rich, autosaving on blur); the right rail holds Status, Priority, Assignee, Type, and Severity (for bugs). At the top you can subscribe / unsubscribe with the bell to control whether the task feeds your inbox. Below the editor you get an AI context panel, a sub-tasks panel (for top-level tasks), a relations panel, and tabs for Comments and Activity.
Comments
The Comments tab is the discussion thread on a task. Write a comment and post it; it shows with the author and a relative timestamp. Commenting on a task notifies the assignee, and every comment is recorded in the activity log. You can edit or delete your own comments (admins can moderate others'). The board and list cards also surface the latest comment and a comment count, so active discussions are visible without opening the task.
Activity
The Activity tab is the full timeline for that task — creation, status changes, assignments, priority changes, comments, and more — so you always have an audit trail of how a task got to where it is.
My Tasks
My Tasks (in the sidebar) gathers everything assigned to you across all your active projects into one focused list, so you do not have to hop between projects to see your plate. Instead of grouping by raw status, it groups by focus, in this order:
- Urgent — anything you have marked urgent, surfaced first.
- Blocking — work that is holding up other tasks.
- In progress — what you are actively working on.
- Up next — committed but not started.
- Backlog — captured, not yet committed.
- Done — completed and cancelled, at the bottom.
Within each group, started work floats to the top, then higher priority, then most recently updated. Each row shows the status dot, priority, the KEY-number identifier, the title, a context line, the project key badge, and when it was last updated. A summary line tells you how many tasks are assigned across how many projects. Click any task to jump into its project. The platform also exposes related personal slices — tasks you created, tasks you are subscribed to (watching), and a recent activity feed — that power your broader my-work and inbox surfaces.
