-
Notifications
You must be signed in to change notification settings - Fork 15
Browser Extension
A Chrome/Edge browser extension that shows your Watchtower dashboard summary in a popup with a badge count for items needing attention.
The extension is checked into the main repo under browser-extension/ and is built as a Manifest V3 extension.
-
Generate an API key Go to Software β Settings β API Keys, enter a label (e.g. "Chrome extension"), and click Generate. Copy the key β it's only shown once.
-
Install the extension
- Open
chrome://extensions(oredge://extensions) - Enable Developer mode
- Click Load unpacked
- Select the
browser-extension/folder from your local clone of the repo
- Open
-
Configure Click the extension icon, then Settings. Enter:
- Your FreeITSM server URL (e.g.
https://itsm.example.com) - The API key from step 1
Click Test to verify connectivity, then Save.
- Your FreeITSM server URL (e.g.
- Badge count β number of items needing attention (high priority tickets, unassigned tickets, changes awaiting approval, active incidents, expiring contracts, overdue reviews, overdue tasks, and morning checks that need attention) displayed on the extension icon
- Popup dashboard β a compact summary matching the full Watchtower view
- Follows your own statuses β the badge and popup count whatever statuses you have, under your own names, exactly as the dashboard does
- Configurable polling β refresh every 1 to 30 minutes
- Rate-limited API β 60 requests per minute per key (configurable in System Settings)
- Works in Chrome and Edge (Manifest V3)
Update to at least #1122. Before that release the badge counted a morning-check status named Fail, which FreeITSM has never had β so a morning where every check failed added nothing to the badge and never turned it red. The popup's ticket figure also missed any ticket whose status was not one of the three it named. Both now read the same figures as the dashboard.
browser-extension/
βββ manifest.json
βββ background.js # Service worker β polling + badge updates
βββ popup.html / .js / .css # Extension popup UI
βββ options.html / .js # Settings page
βββ icons/ # Extension icons (16, 32, 48, 128px)
The extension uses api/watchtower/get_dashboard_ext.php with bearer-token auth via the generated API key. The single Watchtower aggregation endpoint returns counts and flags across all modules in one round trip.
The Knowledge card is scoped to the company the key's owning analyst can see β an external dashboard is not a reason to widen what a key can reach.
- Browser extension β Developer Guide β the endpoint, the payload keys, and the trap of being the second consumer of shared data
- Watchtower β the dashboard this mirrors
- Watchtower settings β the settings that shape what both of them count
FreeITSM β an open-source IT Service Management platform Β· github.com/edmozley/freeitsm Β· MIT licence
- Installation
- β° Scheduled tasks (cron jobs)
- Architecture
- AI Providers
- Internationalisation (i18n)
- Timezones & Time Handling
- Theming & Dark Mode
- β¨οΈ Command palette (βK)
- π Searching inside tickets
- π Attached documents
- MobileβFriendly
-
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
- Single Sign-On (SSO)
- ποΈ LDAP & Active Directory
- 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: Service Status
- β³ βοΈ REST API: Morning Checks
- β³ π REST API: Forms
- β³ βοΈ REST API: Workflow
- β³ πΊοΈ REST API: Network Mapper
- β³ π§ Using the API docs page
- β³ π OpenAPI specification
- β³ β OpenAPI: kept correct
- β³ π οΈ Maintaining the catalogue
- Watchtower
-
Tickets
- β³ Mailbox Authentication
- β³ π€ Email send log
- β³ Basic IMAP mailboxes
- β³ Email rendering & images
- β³ SLA Management
- β³ WhatsApp channel
- β³ π¬ Web chat channel
- β³ π£ Slack channel
- β³ π Linking tickets
- β³ ποΈ Canned responses
- β³ βοΈ Limiting replies to particular senders
- β³ βοΈ Email signatures
- β³ π The public web address
- β³ π Raising a ticket for someone else
- β³ π Merging tickets
- β³ β Splitting tickets
- β³ β Selecting several tickets
- β³ π οΈ Snoozing tickets β Developer Guide
- β³ π₯ Collision detection
- β³ β±οΈ Time tracking
- Problem Management
- Tasks
- Assets
- Knowledge
- Change Management
- Calendar
- Morning Checks
- Reporting
- Software
- Forms
- 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
- β³ 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)