Repository navigation
Projects
Plan and run the bigger pieces of IT work - an office move, a laptop refresh, a mail migration - on top of the tasks you already have, and see at a glance whether each one is on track.
New in 3.2.0. For how it is built, see the Projects developer guide.
| 🗂️ Portfolio | Every project as a card in its own colour and icon, with a ring that shows how much is done and whether it is on track. Views for the questions people ask - what is live, what do I lead, what needs attention. |
| 📋 A plan | Phases, stages or sprints, each a lane of tasks with its own dates, status and progress. Add tasks in place, drag them between lanes. |
| ✅ Real tasks | Project work is ordinary tasks. They show on the Tasks board for the people doing them, with a project chip on the card. |
| 🚦 Health worked out for you | On track, At risk or Off track, from overdue work and the target date - or set by hand with a line saying why. |
| 🔀 Your way of working | Simple, Staged (PRINCE2-style) or Agile - and you can change your mind halfway through without losing anything. |
| 👥 People, Scope and RACI | Who is on the project and in what role, the deliverables prioritised Must / Should / Could / Won't on a board, and a RACI matrix of who does what. |
| Risks, assumptions, issues, decisions and lessons, with a 5 x 5 risk heat map. | |
| 🚧 Gates | A business case, tolerances that turn a project into an exception when it drifts too far, and a go / stop decision at the end of each stage. |
| 🧰 Tailoring | Each method switches on its own set of tools; switch any of them on or off for one project. |
| 🔗 Connections | Link a project to the equipment, changes, tickets, contracts, configuration items and knowledge articles it touches. |
| 🕓 History | Every change to a project, who made it and when. |
Projects is a module like any other. An analyst whose module access is unrestricted sees it in the waffle menu straight away; one with a restricted list needs Projects ticked in Module Access.
Inside the module, Projects → Settings → General decides who may do what (see Settings and permissions). Out of the box:
| Action | Who |
|---|---|
| See a project | Anyone who can open Projects, in the companies they can see |
| Create a project | Anyone who can open Projects |
| Change a project - its details, plan, tasks, tools and connections | Its team: the project manager, the person who created it and its members. Plus anyone with Manage Projects |
| Delete a project | The project manager, the person who created it, or anyone with Manage Projects - always, whatever the settings say |
Administrators can always do everything. When you may not change a project you can still read all of it; the buttons that would change it are hidden, and the server refuses the change anyway.
Projects opens on the Portfolio: one card per project. Each card shows:
- the project's colour band, icon, reference (PRJ-0042) and status;
- its name and goal;
- the ring - the arc is the share of its tasks that are done, the colour is its health;
- Now: the phase in progress, if there is one;
- who leads it, the target date ("Due in 12 days", "3 days late", "Finished ...") and, on an install with more than one company, the company;
- how many tasks are done, how many are overdue, and a progress bar.
The views on the left filter the cards. The number beside each is how many projects it holds.
| View | Shows |
|---|---|
| Live projects | Proposed, Active and On hold |
| Led by me | Live projects where you are the project manager |
| Need attention | Live projects whose health is At risk or Off track |
| Proposed / On hold | Just that status |
| Finished | Closed and Cancelled |
| Everything | All of them |
The view you last picked is remembered in your browser. Search narrows whichever view is open, by name, goal, summary, reference, project manager or company.
Across the top: Live projects, Need attention, Due in 30 days (live projects whose target date falls in the next 30 days) and Overdue tasks (the overdue tasks across all live projects).
Press New (it is hidden if only people who manage Projects may create them and you do not). The New project dialog asks for:
| Field | Notes |
|---|---|
| Name | Required |
| What does done look like? | The goal, in one sentence. It is the line everyone comes back to, so it sits under the name on the card and the banner |
| How you run it | Simple, Staged or Agile (below). It starts on the default from Projects → Settings → General |
| Project manager | You, unless you pick someone else |
| Company | Only on an install with more than one company, and only when creating. It starts on your active company |
| Start / Target finish | Optional. The finish cannot be before the start |
| Summary | What this is and why it matters |
| Make it yours | A colour and an icon for the card. The banner at the top of the dialog shows the result as you choose |
Press Create and the new project opens on its Plan tab, with a box ready to type the first task into. A new project starts as Proposed with its health worked out automatically.
The banner carries the project's colour, icon, reference, status, how it is run ("Staged project"), its company (when there is more than one), name and goal. Below that: who leads it, its dates and how far it is from the target. On the right is the health ring, with Worked out from the plan or Set by hand under the health.
Edit opens the same dialog as New, with more fields: Status, Actual finish, Health and, when health is set by hand, Why?, and a Tools section (below). Setting a project to Closed fills in today as the actual finish if nobody has set one. Delete is covered below. Edit and Delete only show for people allowed to use them.
The page's tabs are Overview, Plan, then one tab for each tool the project uses (People, Scope, RACI, RAID, Gates), then Connections and History. The tab you are on is kept in the address (#plan, #raid), so a link can open a project straight onto it.
- A red Tolerance exceeded banner at the top when the project has gone past one of its tolerances (Gates).
- Four tiles: Progress, Open tasks, Overdue, and Days to target (or Days late once the target has passed).
- About - the goal, the summary and, when health is set by hand, the reason given.
- Happening now - each phase in progress with its own progress bar.
- Coming up - the next six open tasks by due date. Each opens on the Tasks board.
- Recent activity - the last six changes, with See all for the History tab.
- Connected to - one chip per kind of linked record, with a count. A chip opens the Connections tab.
Everything that has changed and who changed it: the project being created, renamed or re-planned, status and health changes, a change of method or of its tools, phases added, removed, started and finished, records linked or unlinked, people added, taken off or given a new role, deliverables added, removed or reprioritised, RAID entries logged, closed, reopened or deleted, changes to the business case and tolerances, and gate decisions.
The Plan tab shows each phase (or stage, or sprint) as a lane. A lane shows its name, goal, dates, status (Planned, In progress or Done), "3 of 8 done", and a progress bar. Tasks that are not in a phase yet sit in the last lane, Not in a phase yet.
- Press + Add a phase (or stage, or sprint). Give it a name and, if you like, a goal, dates and a status.
- Under a lane, press + Add a task. Type what needs doing, pick Who and Due if you like, and press Add. The box stays open so you can add several in a row; Esc closes it.
- Press Start on a phase when work begins and Finish when it is done.
From then on the ring, the counts and the health keep themselves up to date.
- Drag a task onto another lane to move it (on a computer). On a phone, press the arrows button on the task's row and pick the lane from the list.
- Click a task to open it on the Tasks board, where it is edited like any other task.
- The × at the end of a task row takes it out of the project. The task itself is kept.
- The pencil on a lane edits it; its dialog also has Delete. Deleting a phase never deletes its tasks - they move to Not in a phase yet.
Finishing a phase, or closing a project, is marked with a short burst of colour and a message. If your computer asks for reduced motion, you get the message only.
How you run a project decides what its time boxes are called and how they behave. Underneath, every project is built the same way, which is what makes it safe to change your mind.
| Time boxes are called | In progress at once | Tools switched on | |
|---|---|---|---|
| Simple | Phases | Any number. For most projects, most of the time | People |
| Staged | Stages | One. Each stage is finished before the next starts, in a PRINCE2-style staged approach - for projects that report to a board | People, Scope, RACI, RAID, Gates |
| Agile | Sprints | One. For work that changes as you learn | People, Scope, RAID |
With Staged or Agile, starting a second stage while one is still in progress is refused: "Build the network" is still active. Close it before starting another.
Change How you run it in Edit. Nothing is lost:
- Finished time boxes keep the name they were run under - a finished stage stays a stage.
- Open time boxes (planned or in progress) take the new method's name straight away.
- If the new method allows only one time box in progress, the earliest stays in progress and the others go back to Planned.
- The project's tools go back to the new method's own set (tailor them again afterwards if you like). Nothing in a tool that is now off is deleted.
- The change is written to the project's history.
Note
PRINCE2® is a registered trademark. FreeITSM's Staged method is described in its own words as a PRINCE2-style way of working. It is not an official or certified PRINCE2 product, and none of its text comes from the PRINCE2 manual.
A project can use five tools, each on a tab of its own: People, Scope, RACI, RAID and Gates. How it is run decides which are on to begin with (the table above), but every project can be tailored: Edit it and tick or untick the tools under Tools. The section shows when editing, not when creating - a new project starts with its method's set.
- Switching a tool off hides its tab. Nothing in it is deleted, and switching it back on brings everything back.
- Changing How you run it in the same dialog puts the tools back to the new method's set.
- Switching Gates off also stops the project's tolerances from raising exceptions.
- The change is written to the history as changed the tools.
The People tab lists who is on the project. Add someone puts one of these on it, with a role:
| Kind | For |
|---|---|
| Analyst | Anyone with a FreeITSM analyst account |
| Team | A whole team. Every analyst in it counts as part of the project's team for permissions |
| Person | Somebody from People with no analyst account - a business sponsor or a key user. Search by name, email or job title. On an install with more than one company they must belong to the project's company |
Nobody can be added twice. The project manager leads the project whether or not they are listed here.
Roles come from Projects → Settings → Roles. A fresh install starts with the PRINCE2-style roles, described in FreeITSM's own words, plus two everyday ones:
| Role | What it means |
|---|---|
| Executive | Owns the business case and makes the final call at each gate |
| Senior User | Speaks for the people who will use what the project delivers |
| Senior Supplier | Speaks for the people building or supplying it |
| Project Manager | Runs the project day to day |
| Team Manager | Leads a team delivering part of the work |
| Project Assurance | Checks independently that the project is being run properly |
| Project Support | Helps with plans, records and admin |
| Team member | Does the work |
| Stakeholder | Needs to be kept informed |
The people on a project are the columns of its RACI matrix. Taking someone off removes their RACI letters too; tasks assigned to them are not changed.
The Scope tab is a board of what the project delivers - its deliverables and requirements - in five columns:
| Column | Means |
|---|---|
| Must | The project fails without it |
| Should | Important, but there is a way round it |
| Could | Nice to have if there is time |
| Won't (this time) | Agreed to leave out - for now |
| Not prioritised | Not sorted yet |
The count above the board reads, for example, 3 must, 2 should, 1 could.
- Type into the box at the foot of a column and press + to add a deliverable straight into it.
- Drag a card to another column to change its priority, or within a column to reorder it. A change of priority is written to the history.
- Click a card to open it. As well as its title and priority, a deliverable has a Status (Proposed, Agreed, In progress, Accepted or Dropped), the phase it belongs to (or Any), a Description, and Done when... - how you will know it has been delivered.
- Delete in that dialog removes the deliverable and its row in the RACI matrix.
The RACI tab is a grid: the project's people across the top, its deliverables down the side. Each cell holds one letter, or nothing.
| Letter | ||
|---|---|---|
| R | Responsible | Does the work |
| A | Accountable | Owns it - one per row |
| C | Consulted | Asked before |
| I | Informed | Told after |
- Click a cell to cycle it: empty → R → A → C → I → empty.
- One A per deliverable. Setting A for a second person makes the previous one R, because they are still doing the work - you are told when that happens.
- A row with nobody accountable or nobody responsible is allowed while you draft, and says so under the deliverable's name.
- Dropped deliverables are left out of the grid.
- The tab needs both people and deliverables. Until it has them it says which tab to add them on.
The RAID tab is one log for five kinds of entry: Risks, Assumptions, Issues, Decisions and Lessons. + Add opens an entry with:
| Field | On |
|---|---|
| Title, Detail | Every entry |
| Owner (an analyst), Review by (a date), Status (Open / Closed) | Every entry |
| Probability and Impact, 1 to 5 | Risks |
| Response - Avoid, Reduce, Transfer, Accept or Share - and How it will be handled | Risks |
| Impact | Issues |
| Linked ticket | Issues. Only a ticket you can open, in the project's company |
A risk's score is probability × impact, from 1 to 25. The list puts open entries first and the highest-scoring risks at the top.
- The buttons along the top filter by kind and show how many of each are open. Show closed adds closed entries back to the list.
- Logging, closing, reopening and deleting an entry are written to the history. A deleted entry leaves a line there saying it existed.
Every open risk with both a probability and an impact is counted on a 5 × 5 grid, probability up the side and impact along the bottom. Squares are shaded by score: green below 8, amber from 8 to 14, red from 15. Click a square to list just those risks; click it again, or Show all, to clear it.
The words on the two scales come from Projects → Settings → RAID. Out of the box:
| Step | Probability | Impact |
|---|---|---|
| 1 | Rare | Negligible |
| 2 | Unlikely | Minor |
| 3 | Possible | Moderate |
| 4 | Likely | Major |
| 5 | Almost certain | Severe |
The Gates tab holds the controls a staged project answers to - in the PRINCE2 style, described in FreeITSM's own words. It is on for Staged projects and can be switched on for any other.
Why the project is worth doing - the benefits, the costs and the risks. It is free text, saved with Save, and meant to be reviewed at every gate.
How far the project may drift before it needs a decision. Leave one blank to switch it off.
| Tolerance | Exceeded when |
|---|---|
| Days late allowed (0 to 365) | The target finish, or the end date of the stage in progress, is more than this many days in the past while work is still open |
| Highest risk score allowed (1 to 25) | An open risk in the RAID log scores more than this |
A project outside one of its tolerances is an exception. While that lasts:
- its worked-out health is Off track;
- a Tolerance exceeded banner on the Overview and Gates tabs names each breach - for example 12 days past the target finish - 7 allowed - and says the project needs a decision: re-plan, change the tolerances, or stop;
- its card on the portfolio carries an Exception chip.
Exceptions are worked out every time the project is shown and never stored, so they clear themselves once the project is back inside its tolerances. They apply only to a live project (not Closed or Cancelled) with the Gates tool on. A health set by hand stays as it was set; the banner and chip still show.
Each stage is listed with its status and its decision. Press Decide on a stage that is in progress or done (a planned stage has no button yet), review the business case, the plan and the RAID log, and choose:
| Decision | What happens |
|---|---|
| Go | The stage is closed and the next planned stage starts. You get a burst of colour and a message naming the stage that has started |
| Go with conditions | The same as Go. The conditions must be written in Notes and conditions |
| Stop | Recorded, nothing else. No stage changes: what happens next is for the people running the project to decide |
The decision, who made it and when stay on the stage, and the decision is written to the history. A Go recorded on a stage that is already done only records the decision - it does not start another stage. A decision can be changed by deciding again.
Projects → Settings (in the module's menu) has four tabs. Each needs its own permission, ticked on a role in System → Roles; Manage Projects covers all four, and also lets its holder change or delete any project. Somebody with none of them sees Nothing to configure here.
| Tab | What it sets |
|---|---|
| General | Default way of running a project (Simple to begin with). Who may create projects: anyone who can open Projects (default), or only people who manage Projects. Who may change a project: its team, and people who manage Projects (default), or anyone who can open Projects |
| Health | When a live project turns amber or red: amber when the target is this close (default 14 days) and less than this much is done (default 75%); red when this much of the open work is overdue (default 25%) |
| Roles | The roles offered on the People tab. Add, edit, drag to reorder. Untick Offered on projects to stop offering a role that is in use; deleting a role leaves its holders on their projects with no role |
| RAID | The five labels for the probability scale and for the impact scale, lowest first, separated by commas |
A project's team is its project manager, the person who created it, and its members - analysts listed on its People tab, and every analyst in a team listed there. People added from People are not analysts, so they never count.
Deleting is never "anyone": it is always the project manager, the creator, or someone who manages Projects.
The rule about changing a project covers everything on it: its details, stages, tasks added on the Plan, putting a task in or taking it out from the Tasks board, connections, people, scope, RACI, RAID, the business case, tolerances and gate decisions.
An asset target sits on a project's Overview and counts something in Assets - "12 of 44 Latitude 5430s retired", "8 of 442 machines on Windows 11". The count is worked out every time the page opens, so the moment somebody changes an asset the project moves; nobody has to remember to tick anything.
Each target card shows the count, the percentage, the rule in words, a progress bar, a line of its progress (one point a day from the day the target was set up - it says The line fills in day by day until there are two), what it covers, its date and N still to do.
Setting one up - + Add on the Asset targets panel (or Measure progress straight from Assets when there are none):
- Name it.
- Which assets - Matching: a Type and/or a field (Model, Manufacturer, Operating system or Name) that contains some text. Or Linked to this project: the assets on the Connections tab.
- Counts as done when - one field and one comparison:
| Field | Comparisons |
|---|---|
| Status, Location | is, is not |
| Operating system, Model, Manufacturer | contains, does not contain, is |
| Feature release, TPM version | is at least, is |
| BitLocker | is, is not |
- A Target date - or leave it empty to use the project's target end date.
As you type, the dialog shows N assets match - N done now, so a rule that matches nothing is obvious before you save it.
Examples: Model contains 5430, done when Status is Retired. Operating system contains Windows, done when Operating system contains Windows 11. Operating system contains Windows 11, done when BitLocker is On.
N still to do opens the list of assets left (and Done), each a link to the asset. It shows the first 200.
Rules
- A target only ever counts assets in the project's own company.
- Setting up or changing a target, and seeing which assets are behind it, needs access to Assets as well as being allowed to change the project. Anyone who can open the project sees the counts.
- Changing a target's rule starts its line again - yesterday's points measured something else. Deleting a target never touches the assets.
- An asset with no status, location or operating system recorded is not done for a rule that asks for one.
Health: a live target past its date and not finished is red and turns the project Off track. One that is more than 25 points behind a straight line from the day it was set up to its date is amber, and turns an otherwise On track project At risk.
Unless somebody sets it by hand, a live project's health is worked out from its tasks and its target date every time it is shown. Nothing is stored, so it can never go stale after somebody ticks off a task on the Tasks board.
The rules, checked in this order. The figures are the defaults; they can be changed in Projects → Settings → Health.
| Health | When |
|---|---|
| 🔴 Off track | The target finish has passed and work is still open, or a quarter or more of the open tasks are overdue, or the project has gone past one of its tolerances, or an asset target is past its date and not finished |
| 🟠 At risk | At least one open task is overdue, or the target finish is 14 days away or less and less than three quarters of the tasks are done, or an asset target is well behind |
| 🟢 On track | None of the above |
- A task is overdue when it is not in a closed status and its due date is before today.
- Only top-level tasks count. Subtasks belong to their task.
- A project with no tasks is On track.
- Closed and Cancelled projects have no health; the ring says Finished.
- Proposed and On hold projects do have a health, so a proposal with overdue work shows up under Need attention.
Progress is the share of the project's top-level tasks that are in a closed status.
To set health yourself, Edit the project, choose On track, At risk or Off track, and say why in Why?. The reason shows on the Overview. Choose Work it out for me to hand it back.
A task added to a project is a normal task. It appears on the Tasks board, can be assigned, scheduled, timed, commented on and given subtasks and checklists, and sends the usual assignment email, notification bell and workflow events. One list of work per person, not two.
On the Tasks board:
- a card that belongs to a project shows a chip with the project's name in the project's colour (hover it for the phase);
- the sidebar gains a Project filter - All projects, Not in a project, or one project. It lists the projects the tasks on the board belong to, and is hidden when none do;
- the task window has a Project field for top-level tasks. Pick a live project to add the task to it, or Not in a project to take it out; Open goes to the project's plan, and Part of names its phase. Choosing a project here puts the task in Not in a phase yet - file it into a phase on the Plan tab.
Analysts who cannot open Projects still see the project's name on the card and in the task window, as plain text.
Important
Deleting a project never deletes its tasks. They stay on the Tasks board and simply stop belonging to a project. Removing a phase works the same way: its tasks stay in the project, just not in a phase.
The Connections tab links a project to the records it touches, from the rest of FreeITSM:
| Kind | For |
|---|---|
| Equipment | The laptops, servers and kit the project works on |
| Changes | Changes the project raises, with their status |
| Tickets | Tickets about the project - including the ones it caused |
| Contracts | Supplier contracts the project relies on |
| Configuration items | The services and systems in the CMDB it touches |
| Knowledge | Runbooks, plans and write-ups |
Type in the box under a kind (Search to link...) and pick a result to link it; the list leaves out anything already linked. The × on a row unlinks it. Both are written to the project's history. Unlinking never changes the record itself.
The rules:
- You see a kind only if you can open its module. Somebody without Contracts sees no Contracts box at all.
- You see a link only if you can open the record at the other end. A link you cannot see both ends of is left out, not shown as hidden - and you cannot remove it.
- On an install with more than one company, equipment, changes, tickets and configuration items must belong to the project's own company. Contracts and knowledge articles are not company records, so they are judged by their own permissions.
- Deleted tickets are never offered or shown.
A link shows at both ends. The linked record lists the projects it is part of - each in its colour, with its code, status, owner, health and progress - and can be added to a project from there:
| Where | What you see |
|---|---|
| A configuration item in the CMDB | A Projects card, with Add to a project... |
| A contract | A Projects block among the related sections |
| An asset | A Projects tab in the asset's details |
| A change | A Projects panel under the CAB review |
| A knowledge article | Its projects under the article when reading it (only if there are any); linked in the editor |
| A ticket | Project pills in the Links strip, and Project in the Link to... menu |
| A person in People | Projects they are part of - every project they are a member of, with their role |
| A company in People | Projects - that company's projects |
The picker there offers only live projects you are allowed to change, in the record's own company. The same rules apply as on the Connections tab: without Projects access none of this is shown.
If the tab says to run Database Verification, an administrator needs to run System → Database Verification once after upgrading.
On an install with more than one company, a project belongs to one company - the one it was created in, or the one picked in the Company field when creating it. It cannot be moved afterwards.
- You only see projects for the companies you can see. The All companies view shows them together.
- A task added on the Plan tab belongs to the project's company.
- A task from another company cannot be put in a project.
- Opening a project from another company by its address shows This project does not exist, or it belongs to a company you cannot see.
The portfolio's search and views live behind a Filter button at the bottom of the screen, which also shows the view you are on. On a project's page, Back, Edit and Delete sit in a bar at the bottom, the tabs swipe sideways, and each task row has a button to move it to another lane. See Mobile: Projects.
-
Global search and the command palette (Ctrl+K / ⌘K) find a project by its name, its goal or its reference -
PRJ-0042,prj42or just42. They search your active company. - The Recent trail remembers the projects you open.
Only the project manager, the person who created the project and people who manage Projects see Delete. It asks first, and says how many tasks are affected. The project, its phases, its history, its people, scope, RACI matrix, RAID log and tolerances are deleted, and its connections are removed. Its tasks are kept on the Tasks board and no longer belong to a project.
The Tasks and Projects card on System → Demo Data adds three projects alongside the Tasks demo:
- Move to the Bradford office - Staged, active, with three stages (one finished, one in progress, one planned);
- Windows 11 laptop refresh - Agile, active, with two sprints;
- Firewall replacement - Simple, proposed.
Between them they have 14 tasks of their own. They are part of the Tasks demo rather than a module of their own because both put rows in the same tasks table. The office move also comes with a team with roles, a MoSCoW scope, a RACI matrix, a RAID log, tolerances, a business case and a recorded stage gate, so every tab has something to look at.
Eight cards light up as the module is used: Run a project, A plan in phases, Who does what (RACI), Scope prioritised Must, Should, Could, Won't, A RAID log with a risk heat map, Stage gates and tolerances, Project progress counted from Assets and Projects joined to everything else.
Projects is being built in stages. Next come project templates - start an office move, a laptop refresh or a mail migration already planned, or save your own project as one - then dates on the shared Calendar and alerts, a Report Packs block and Watchtower card, and later an AI project manager that drafts your status reports for you to check and approve.
FreeITSM — an open-source IT Service Management platform · github.com/edmozley/freeitsm · MIT licence
- Installation
- ⏰ Scheduled tasks (cron jobs)
- Architecture
- 🧪 Developer tests
- AI Providers
- Internationalisation (i18n)
- Timezones & Time Handling
- 📅 Date & Time Formats
- Theming & Dark Mode
- 🗂️ Recent — getting back to what you were doing
- ⌨️ Command palette (⌘K)
- 🔍 Searching inside tickets
- 📄 Attached documents
-
Mobile‑Friendly
- ↳ 🎫 Mobile: Tickets
- ↳ 💻 Mobile: Assets
- ↳ 📅 Mobile: Calendar
- ↳ 📚 Mobile: Knowledge
- ↳ 🚦 Mobile: Service Status
- ↳ 🗼 Mobile: Watchtower
- ↳ 🧩 Mobile: Problem Management
- ↳ 🔁 Mobile: Change Management
- ↳ 💿 Mobile: Software
- ↳ ✅ Mobile: Tasks
- ↳ 📝 Mobile: Forms
- ↳ 📄 Mobile: Contracts
- ↳ 📄 Mobile: Domains
- ↳ 📄 Mobile: People
- ↳ 🚀 Mobile: Projects
- ↳ 🎓 Mobile: LMS
- ↳ 🗺️ Mobile: CMDB
- ↳ 🗺️ Mobile: Network Mapper
- ↳ 🧭 Mobile: Process Mapper
- ↳ ⚙️ Mobile: Workflow
- ↳ 🖥️ Mobile: System
- ↳ 📊 Mobile: Reporting
- ↳ 📖 Mobile: System Wiki
- ↳ 🙋 Mobile: Self-Service Portal
- ↳ 🧰 Mobile: Techniques & Tricks
-
Security
- Layer 1 — which modules you can enter
- ↳ 🧩 Module Access Control
- ↳ 🛠️ Module Access — Developer Guide
- Layer 2 — what you can administer
- ↳ 🎭 Roles & Permissions
- ↳ 🛠️ Roles — Developer Guide
- ↳ 🔤 Why capabilities are constants
- Layer 3 — the System module
- ↳ 🔑 Admin Access Control
- Hardening
- ↳ 📄 Security review response 2026-08
- ↳ 🛡️ Security hardening 2026-08
- ↳ 🛠️ Security hardening 2026-08 — Developer Guide
- ↳ 🛡️ Round three — plain English
- ↳ 🛠️ Round three — Developer Guide
- ↳ 🛡️ CSRF protection (S4) — Developer Guide
- Single Sign-On (SSO)
- 🗂️ LDAP & Active Directory
- 📇 CardDAV contact sync
- Browser Extension
- API Reference
-
🔌 REST API — how it works
- ↳ 🎫 REST API: Tickets
- ↳ 💻 REST API: Assets
- ↳ 🔴 REST API: Problems
- ↳ 🟠 REST API: Changes
- ↳ 📚 REST API: Knowledge
- ↳ ✅ REST API: Tasks
- ↳ 🗄️ REST API: CMDB
- ↳ 📜 REST API: Contracts
- ↳ 🗓️ REST API: Calendar
- ↳ 💿 REST API: Software
- ↳ 🌐 REST API: Domains
- ↳ 🚦 REST API: Service Status
- ↳ ☀️ REST API: Morning Checks
- ↳ 📝 REST API: Forms
- ↳ ⚙️ REST API: Workflow
- ↳ 🏷️ REST API: Cost centres
- ↳ 🗺️ REST API: Network Mapper
- ↳ 🧭 Using the API docs page
- ↳ 📐 OpenAPI specification
- ↳ ✅ OpenAPI: kept correct
- ↳ 🛠️ Maintaining the catalogue
- Watchtower
-
Tickets
- ↳ 📋 Rota copy and paste — Developer Deep Dive
- ↳ ✅ Checklists & SOPs
- ↳ ☑️ Mandatory fields
- ↳ 🏷️ Ticket categories
- ↳ 👥 Assigning tickets to a team, and escalation
- ↳ 🏢 One board across every company
- ↳ Mailbox Authentication
- ↳ 📤 Email send log
- ↳ Basic IMAP mailboxes
- ↳ Email rendering & images
- ↳ SLA Management
- ↳ WhatsApp channel
-
↳
✈️ Telegram channel - ↳ ⭐ CSAT company scope and filters — Developer Guide
- ↳ 👥 Microsoft Teams channel
- ↳ 🗨️ Mattermost channel
- ↳ 💬 Web chat channel
- ↳ 🟣 Slack channel
- ↳ 🔗 Linking tickets
- ↳ ⓘ Record previews
- ↳ 📝 Ticket notes: internal or shared
- ↳ 🗒️ Canned responses
- ↳ ✉️ Limiting replies to particular senders
- ↳ 📨 Telling the analyst a ticket is theirs
- ↳ ✍️ Email signatures
- ↳ 🌐 The public web address
- ↳ 🔢 Ticket numbering
- ↳ 🙋 Raising a ticket for someone else
- ↳ 🔀 Merging tickets
- ↳ 🔒 Confidential tickets
- ↳ 👥 Portal managers
- ↳ 👁 Who has seen a ticket
- ↳ 📜 Reading long tickets
- ↳ ⑂ Splitting tickets
- ↳ ✅ Selecting several tickets
- ↳ 🗂️ The folder pane
- ↳ 🔽 Just my tickets, or no closed ones
- ↳ 🛠️ Snoozing tickets — Developer Guide
- ↳ 👥 Collision detection
- ↳ ⏱️ Time tracking
- ↳ 📅 Scheduled work in your own calendar
- Problem Management
- Tasks
- 🚀 Projects
-
Assets
- ↳ 🏢 Moving an asset between companies
- ↳ 📍 Shared asset locations
- ↳ 🧑💼 Assigning assets to analysts
- ↳ 📆 Warranty and lease alerts
- ↳ 🔭 Saved table views
- ↳ 🖨️ Recording anything, and importing it
- ↳ 🏷️ QR asset labels
- ↳ 📋 Who holds what, and handover documents
- ↳ 🖥️ The inventory agent (PowerShell)
- ↳ 🗄️ Proxmox VE servers
- ↳ ☁️ VMware Cloud Director servers
- ↳ 🔗 Linking equipment to tickets
- ↳ ☑️ Follow-up tasks on a ticket
- Knowledge
- Change Management
- Calendar
- Morning Checks
- Reporting
- Software
-
Forms
- ↳ 🎨 The form designer — Developer Guide
- ↳ 📐 Layout & the grid — Developer Guide
- ↳ 🗂️ Collections — grouping submissions
- ↳ 📄 Submissions as PDFs
- ↳ ⚡ What happens next — a form's own actions
- ↳ 🛠️ Sections & conditional logic — Developer Guide
- ↳ 🛠️ Lookup fields — Developer Guide
- ↳ 🛡️ Catalogue request approvals
- People
- Domains
- Contracts
- Service Status
- 🔔 Notifications
- 🚨 War Room
- Self-Service Portal
- LMS
- Process Mapper
- CMDB
- Network Mapper
- Workflows
- Issue trackers (Jira, Azure DevOps)
- System
-
Overview
- ↳ 📊 Progress tracker
- ↳ Concepts & vocabulary
- ↳ Email routing & mailboxes
- ↳ Settings: global vs per-company
- ↳ Users & self-service
- ↳ Staff cross-company access
- ↳ 🏢 One board across every company
- ↳ Worked examples
- ↳ Pitfalls & gotchas
- ↳ Scope: what it's for
- ↳ 🛠️ Developer Guide (make a module multi-company)
- ↳ 🗄️ Case study: CMDB (a linked graph)
- ↳ 🧪 Test harness (prove it's isolated)
-
🐞 Bugs resolved
- ↳ 🖼️ Logo and courses broke on Apache with PHP-FPM
- ↳ 🔢 Chat tickets ignored your ticket numbering
- ↳ 📅 Dates shown as a dash, or in server time
- ↳ 🔒 Assets → Users showed people from other companies
- ↳ 🔒 Restricted analysts could read other modules' data
- ↳ 🖼️ Replies with a picture in the thread failed to send
- ↳ 📎 Reply attachments never reached the customer
- ↳ 🛠️ Outbound email attachments — Developer Guide
- ↳ 🔑 A global SSO provider was missing from the portal
- ↳ 🔀 Behind a proxy, the SSO redirect said http
- ↳ ✏️ The portal tagline moved when you saved it
- ↳ 🎨 The portal settings screen forgot what you saved
- ↳ 🛡️ The approvals inbox said "Error" and nothing else
- ↳ 📄 A table's answers were missing from the PDF
- ↳ ◉ A single-select column let you tick every option
- ↳ 📐 The portal ignored a form's field widths
- ↳ 📋 The tasks board stopped taking clicks
- ↳ 🗂️ #121 The index list is out of date after upgrading
- ↳ 📅 #133 The calendar subscription was empty
- ↳ 📋 #131 Tasks always reopened on the board
- ↳ 💥 #129 Every page returned HTTP 500 after upgrading
- ↳ 🐳 #127 A PHP warning above the System page
- ↳ 🕐 #126 Notes stamped with the server's clock
- ↳ 🌍 Storing every date in UTC
- ↳ 🚪 The portal was down for everyone signed in
- ↳ ⚙️ #120 Workflow notes could never be written
- ↳ ⚙️ #123 Three errors when running Database Verification
- ↳ 📝 #122 The description box was a stub in the corner
- ↳ 💣 Demo data deleted real accounts
- ↳ 🔐 #117 Sign-in redirected to the wrong address
- ↳ 🎨 #108 The priority dot was invisible
- ↳ ⏱️ #116 Time logged from the right-click menu
- ↳ 🔑 #114 API keys refused by our own guard
- ↳ 🗂️ #110 Assigning a task told nobody
- ↳ 🚪 #107 Signed out while still working
- ↳ 📎 #103 "Share with Requester" reached nobody
- ↳ 🔍 #102 Search found nothing for hyphens
- ↳ 🪟 #101 Source code editor opened behind
- ↳ ☑️ #88 Subtasks could not be ticked off
- ↳ 💻 #84 Asset deep link selected nothing
- ↳ 🎫 #79 A new ticket arrived with no status
- ↳ 📧 #79 A ticket from email did not say so
- ↳ 🔔 #78 Bell opened to nothing
- ↳ 📬 #77 Mail only collected from Inbox
- ↳ 🔐 #74 The default password could not be changed
- ↳ 🚦 #70 Renaming an impact level
- ↳ 📤 #67 App-only mailboxes could not send
- ↳ 📭 #45 Verify only ever worked for Microsoft
- ↳ 📭 #45 IMAP reported as not authenticated
- ↳ ✉️ An email template stopped escaping itself
- ↳ 🕐 The portal dashboard showed the wrong time
- ↳ 🔢 The folder said 99 and the list showed 96