Watchtower - edmozley/freeitsm GitHub Wiki
Watchtower
Folder: watchtower/
Colour: Slate #1e293b
Unified attention dashboard — a single pane of glass showing actionable items across all modules. Designed for the start-your-day view: open Watchtower, scan the cards, click into whatever needs you.
Attention Cards
Ten module-themed cards. Each opens with a figure per status — under your own names, in your own colours — followed by the things that actually need attention.
| Card | What it surfaces |
|---|---|
| Morning Checks | Whether today's round has been done, and a figure per status |
| Tickets | Open tickets by status with a true total, high priority, unassigned, paused too long |
| Changes | Open changes by status, awaiting approval, in progress now, scheduled in 7 days, and past their scheduled window |
| Calendar | Today's events, weekly event count |
| Service Status | Degraded services with their impact level, active incidents |
| Contracts | Expiring contracts (30/90 day), upcoming notice periods |
| Knowledge | Recently published articles, overdue reviews |
| Assets | Total count, assets not seen in 7+ days — and, when enabled in Asset Settings → Warranty alerts, a red card for assets whose warranty has expired or is expiring soon |
| Tasks | Open tasks by status with a total, overdue and due today |
| Projects | Live projects off track (named, and linked to the project) and at risk, projects beyond a tolerance, and stages ending in the next 7 days. Health is the portfolio's own. Hidden from anybody who cannot open Projects |
| Workflows | Failed or aborted runs, and webhooks that have stopped delivering. Hidden entirely when Workflows is not in use |
Which cards appear, and what each figure counts, is set under Watchtower → Settings. Nothing needs configuring — the defaults count everything you have.
Whose work: Mine, My team, Everyone
A toggle at the top of the dashboard narrows the board to your own responsibilities. It is remembered per person, so Watchtower opens the way you left it.
| What you get | |
|---|---|
| Mine | work assigned to you |
| My team | work assigned to anyone on a team you belong to |
| Everyone | the whole installation — the default, and what Watchtower has always shown |
Requested by dschipfel in discussion #58: "users often see entries that are not relevant to their own responsibilities."
🔑 Everyone stays the default. Nothing changes for anybody who never touches the toggle. A dashboard that quietly started hiding things would be a worse failure than one that shows too much.
What narrows, and what cannot
| Card | On Mine / My team |
|---|---|
| Tickets | your open tickets, by status, plus high priority and paused too long |
| Tasks | your open tasks, by status, plus overdue and due today |
| Projects | the projects you manage (or your teams' analysts manage) |
| Changes | changes assigned to you |
| Morning Checks | the checks routed to you — see below |
| Service Status, Workflows, Assets, Calendar, Contracts, Knowledge | unchanged, and labelled everyone |
Six cards have no owner to narrow to, and each for its own reason:
- Service status and workflows — a degraded service and a failed rule belong to nobody.
- Assets — equipment is assigned to end users, not to analysts. They are different records, and an analyst frequently has no end-user account at all, so "my assets" would be empty for most people. An empty card reads as nothing to worry about, which is not the same as this question does not apply to you.
- Calendar — this card shows the shared team calendar, which is the same for everybody by design. (Your own scheduled work goes to your real calendar instead — see Scheduled work in your own calendar.)
- Contracts and knowledge — these do record an owner, but the questions the cards ask are not personal ones. A contract about to expire needs chasing whoever owns it, and an article overdue review is a gap in the library rather than in one person's workload. Narrowing them would hide a renewal from everybody except one person.
⚠️ Unassigned tickets are never narrowed, on any setting. An unassigned ticket is by definition not yours, so "mine" would report 0 for ever — and zero there reads as the queue is clear, which is the opposite of what an unclaimed pile means. It stays a team-wide figure and the card says so.
Morning checks are matched through their group
A morning check is routed by putting it in a group and pointing that group at a team or a person — not by naming an analyst on the check itself. So Mine means: checks assigned to you directly, checks in a group pointed at you, or checks in a group pointed at a team you are in.
🔴 This matters more than it sounds. On a normal installation nothing sets an analyst directly on a check, so matching on that would tell every single person they had no checks to do — on the one card whose entire job is to say otherwise.
Cards that cannot narrow: keep or hide
Under Preferences → General you choose what happens to those six while you are on Mine or My team:
- Keep showing them — they stay, marked everyone, so a team-wide number is never mistaken for a personal one. This is the default.
- Hide them — a strictly personal board with nothing on it that is not yours.
Both are reasonable, which is why it is a choice. Keeping them is the default because a degraded service is the last thing that should disappear because somebody switched to their own work.
Features
- Colour-coded status dots (green / amber / red) so the eye is drawn to the right cards
- Counts every status you have — rename one, add one, translate one, and the dashboard follows without being told. See why that took some doing
- Says only what it knows — Morning Checks reports that checks are completed, never that they passed, because nothing in FreeITSM records which of your statuses is a pass. Name them under Settings and it will say more
- Auto-refresh every 5 minutes without losing scroll position
- Click-through from any card straight into the relevant module pre-filtered to the items it surfaced
- Single API call —
api/watchtower/returns the cross-module aggregation in one round trip so the dashboard loads fast
Settings
Watchtower → Settings — which cards appear, which statuses and priorities each count includes, and the paused too long threshold.
⚠️ Those settings are installation-wide, and are not restricted to administrators. Anyone who can open Watchtower can change which cards appear for everybody. Per-analyst card choice is not built yet; the Mine / My team / Everyone toggle above and its keep-or-hide preference are the only parts that are personal to you.
Preferences → General — your own scope preference, and whether cards that cannot narrow stay visible on Mine.
Browser Extension
A Chrome/Edge browser extension shows the same summary in a popup with a badge count for items needing attention. See Browser Extension for setup, or the Developer Guide for the endpoint it uses.