-
Notifications
You must be signed in to change notification settings - Fork 15
Linking Equipment to Tickets
A ticket can record which device it is about. "My monitor is flickering" arrives naming the monitor, with its make, model, serial number and warranty already attached β and the monitor, in turn, remembers every ticket ever raised against it.
Asked for in discussion #57.
Linking β an analyst attaches equipment from the ticket, or the requester picks their own device when raising one in the portal.
History β every asset gains a Tickets tab listing what has been reported against it.
The second half is the one that pays for the first. Linking on its own is data entry: somebody does extra work and gets nothing back. The history is what turns three separate "my monitor is flickering" tickets into this monitor has failed three times, replace it.
Equipment lives in the Links bar at the top of the ticket, alongside problems, changes, related tickets and issue-tracker links β everything that answers "what else is this connected to". Each item is a pill marked π₯οΈ.
Open Link toβ¦ β Equipment and a picker appears that is already showing something useful before you type: the equipment assigned to the person who raised the ticket, under Assigned to the requester.
That is the answer most of the time, and it is one click. Start typing and the search widens to the whole estate under All equipment.
Hover a pill for its make, model, serial number and location; click it to open the asset; use the β to unlink.
CMDB objects sit in the same bar, marked ποΈ, and are attached the same way. They are deliberately kept distinct rather than merged into one list, because they are different kinds of thing β a broken mouse is an asset and will never be a configuration item, and linking a configuration item is what feeds impact analysis. The only real overlap is a server, which can reasonably be both.
The picker searches hostname, manufacturer, model, serial number, asset tag β and location.
The location is not a nicety. Consider the case the feature was designed around: somebody from Finance reports that the TV in meeting room 3 has stopped working. They do not own that TV. Nobody does. And nobody involved β not the reporter, not the analyst β knows its hostname or serial number. What they know is where it is.
Without location in the search there is nothing useful to type, and shared equipment becomes effectively unlinkable.
β οΈ This only works if your assets have locations set. Locations are configured under Assets β Settings β Locations and set per asset. If your estate has no locations recorded, searching for a room name finds nothing β that is missing data, not a broken search.
When raising a ticket, a requester sees Which equipment is this about? listing the kit assigned to them.
They can only ever pick their own equipment. There is no search and no browsing β the list comes from what is assigned to them and nothing else is reachable, including by a hand-crafted request.
The field is hidden entirely for anyone with no equipment assigned, rather than shown empty.
The meeting room TV that motivated the location search cannot be picked by a requester, because nobody is assigned it.
That is a decision, not an oversight. The alternatives were each worse:
| Option | Why not |
|---|---|
| Let requesters pick any unassigned asset | Solves a meeting-room problem by making every spare laptop in a cupboard browsable to every end user |
| Add a "shared" flag to assets | Precise, but somebody has to maintain it, and it asks end users to understand a distinction they should not have to |
So the requester describes it in words, exactly as they do today, and the analyst attaches the asset when they pick the ticket up. Nothing is lost.
The Tickets tab shows open tickets first, then everything that came before.
A long history is capped at the twenty most recent closed tickets, with the true total shown next to the heading, so a device that has been in service for years still opens quickly.
Tickets appear here only once somebody has linked the asset. Nothing is linked automatically, so the tab stays empty for assets nobody has attached to a ticket.
| Event | Result |
|---|---|
| Ticket is merged into another | Links move to the surviving ticket; duplicates are collapsed |
| Ticket is deleted permanently | Links go with it |
| Asset is deleted | Links go with it; the tickets themselves are untouched |
| Same asset linked twice | Quietly ignored β the second link is a no-op, not an error |
On a multi-company install, a ticket and an asset must belong to the same company to be linked, and that is checked when the link is made rather than assumed.
- Assets β the module the equipment lives in
- Tickets β the reading pane this section sits in
- Self-Service Portal β where requesters pick their own device
- CMDB β configuration items are linked to tickets separately, and are not the same thing as assets
- π οΈ Linking equipment β Developer Guide β the schema, the three gates, and where a new ticket-child table must be registered
- In-app guides: Tickets β Help β Working with tickets, and Assets β Help β Tickets on an asset
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)