-
Notifications
You must be signed in to change notification settings - Fork 15
Notifications
The bell in the header: what puts something in it, what deliberately does not, and how to change that for yourself. The technical version is Notifications β Developer Guide.
Asked for in discussion #55 by Daniel (dschipfel). Shipped in bbd49c50.
A bell at the top of every screen, in every module, showing what has happened on the tickets assigned to you. A red count is how many you have not read. Click one and it opens the ticket.
That is the whole of it. The interesting part is what it doesn't do.
A notification bell has one failure mode that matters: it fills up faster than anyone can read it, everybody starts ignoring it, and the feature is dead while still appearing to work. An analyst carrying forty tickets would get there within a day.
So four rules apply to everything, and they are not optional extras:
You changed the status. You do not need a notification saying the status changed.
This removes more noise than the other three put together, because analysts make most of the changes on their own tickets.
The exception is deliberate: something the system did β an SLA warning, for instance β still reaches you even though the ticket is yours, because nobody performed that action.
Select fifty tickets, change the status, and the person they belong to gets no notifications rather than fifty.
Everything else about a bulk change is unaffected: workflows fire, the audit trail records every ticket. Only the bell is quiet.
If somebody changes the status, then the priority, then adds a note β that is one line in your bell showing Γ3, not three lines.
Entries merge while they are unread and within half an hour of each other. The line shows the most recent thing that happened, so if a ticket was assigned to you and then the requester replied, you see the reply.
| Event | On by default |
|---|---|
| A ticket is assigned to me | β |
| A requester replies to my ticket | β |
| Someone adds a note to my ticket | β |
| Someone changes the status of my ticket | β |
| Someone changes the priority of my ticket | β |
| My ticket is approaching its SLA target | β |
| My ticket breaches its SLA target | β |
| A ticket is raised | β |
| A task is created for me | β |
| A task of mine is completed | β |
"A ticket is raised" is off because that is what the inbox is for. A bell for every new ticket on a busy desk is the definition of noise.
Preferences β Notifications. Every type above has a switch. It is your setting and changes nothing for anyone else β there is no administrator setting that overrides it.
If the bell is still busier than you want, the two worth turning off first are status changed and priority changed: they are the highest-volume and the least likely to need you immediately.
The analyst the ticket is assigned to, and only them.
That is a deliberate limit. The alternative β telling everyone who ever touched a ticket β cannot be switched off and turns the bell into exactly the firehose the four rules exist to prevent.
The honest cost: a ticket you worked on all week goes quiet the moment it is reassigned. If that becomes a real problem, a Watch button is the answer and nothing built so far would need to change.
War Room mentions are separate. Being @mentioned in a channel lights up the speech-bubble icon next to the bell, not the bell itself. Both work; they are simply two widgets. See War Room.
No desktop pop-ups. The browser Notification API only works over HTTPS, and many installations run on plain HTTP where it is unavailable regardless of what we build. The in-app bell needs no HTTPS at all.
SLA notifications need the SLA cron. cron/sla_breach_check.php is what produces SLA warnings and breaches. If that is not scheduled, those two types will never fire β the wiring is there, the trigger is not. See Installation.
- Notifications β Developer Guide
- Workflows β the same events drive the bell and your automation rules
- War Room β mentions, which are the other notification surface
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)