User guide
Change Management
Looking for what it does rather than how to use it? Read the Change Management overview .
Last verified against the codebase: 2026-07-25.
What it is
Change Management is Solidlio’s ITIL change-enablement module. It records proposed changes to your environment, routes them to the right people for authorization, schedules them against a calendar that understands blackout periods and collisions, and keeps an audit trail of who authorized what.
It works for a single organization managing its own IT, and for an MSP co-managing changes across many client organizations.
Concepts
| Concept | What it is |
|---|---|
| Change request | A proposed change. Carries a description, reason, category, risk, priority, and implementation / rollback / test plans. |
| Change type | STANDARD (pre-approved, low risk), NORMAL (needs approval), EMERGENCY (fast-tracked, approved retrospectively). |
| CAB | Change Advisory Board. A named group with members holding roles CHAIR, VOTING or ADVISORY. Only CHAIR and VOTING members receive approvals. |
| Approval rule | A rule in the change-authority matrix that decides how many sign-offs a change needs, based on its category, risk, type and affected assets. |
| Approval requirement | The frozen snapshot of the bar one CAB must clear for one change. Created at submit time and never re-derived. |
| MSP engagement | An MSP’s participation in one specific client change, by invitation or policy escalation. |
| Policy | Organization-wide rules: freeze periods, minimum lead time, concurrency limits, and which risks require plans. |
| Maintenance window | A named period during which work happens, optionally suppressing monitoring alerts. |
| PIR | Post-implementation review. Automatically created for emergency and failed changes. |
How a change is authorized
Change submitted
│
├─ Approval rule resolved ─────► frozen as an approval requirement
│ (category / risk / type / affected assets)
│
├─ Routed to a CAB ────────────► approvals created for voting members
│
└─ Escalated to the MSP? ──────► MSP's own CAB also becomes a gate
(if a rule requires MSP sign-off)
Change becomes APPROVED only when EVERY binding requirement is satisfied.
Roles and permissions
Solidlio’s role hierarchy is platform administrator > MSP administrator > MSP technician > organization administrator > power user > CUSTOMER`.
| Action | Minimum role |
|---|---|
| View changes | Any authenticated user (with a plan that includes change management) |
| Create a change | Any authenticated user |
| Comment on a change | Any authenticated user |
| Edit a change | organization administrator |
| Submit, schedule, start, complete, cancel, delete | organization administrator |
| Invoke an emergency change | organization administrator |
| Request an approval from someone | organization administrator |
| Record your own approval decision | No role floor — see below |
| Manage CABs, approval rules, policies | organization administrator |
| Invite / withdraw an MSP | organization administrator in the owning organization |
| Accept / decline an invitation | organization administrator in the invited MSP |
Approving is deliberately not role-gated. Authorization is by membership: you may decide an approval if and only if it is assigned to you. This lets a CAB seat a subject-matter expert below organization administrator — a power user DBA, say — and have their vote count. Anyone who is not the assigned approver is refused.
The change lifecycle
DRAFT ──submit──► PENDING_APPROVAL ──all sign-offs──► APPROVED
│ │
│ schedule
▼ ▼
REJECTED SCHEDULED
│
start
▼
IMPLEMENTING
│
complete
┌────┴────┐
▼ ▼
COMPLETED FAILED
CANCELLED is reachable from any state except COMPLETED, FAILED and CANCELLED.
Two transitions people expect to be able to skip, and cannot:
- You cannot start an approved change without scheduling it.
APPROVEDis authorization, not a date. The Schedule step is where freeze periods and collisions are checked, so skipping it would skip those checks. - You cannot edit an approved change. Its content is what was authorized. Edit while it is
DRAFTorPENDING_APPROVAL, or cancel and raise a new one.
Walkthrough — raising a change
- Go to Changes → New Change (
/org/changes/newor/msp/changes/new). - Fill in the title, description and reason. The reason is required to submit.
- Set category, risk and priority. These decide which approval rule applies, so they are not cosmetic — a
SECURITY/CRITICALchange may need more sign-offs than a routine one. - Add implementation, rollback and test plans. Your organization’s policy may require these for certain risk levels; submission is refused without them.
- Save. The change is created as
DRAFT. - Link affected assets if relevant. This matters: an approval rule can require MSP sign-off specifically when a change touches MSP-managed equipment.
- Press Submit for Approval.
On submit, Solidlio evaluates your policies, resolves the approval rule, routes the change to a CAB, and notifies the approvers. If a policy is violated in a blocking way, submission is refused and the violations are listed; you can resubmit with an explicit override, which is recorded against your name.
To correct a mistake before it is approved, press Edit.
Walkthrough — approving a change
- Go to Changes → Approvals (
/org/changes/approvals). This lists only changes assigned to you. - Open a change and select the Approvals tab.
- The Required sign-offs panel shows every board that must clear this change, how many approvals each has, and what is outstanding — for example “2/3 approved · 1 more CHAIR approval(s) required”.
- Press Approve or Reject, optionally with a comment.
A rejection is decisive: one rejection moves the change to REJECTED regardless of how many approvals it already had.
When the last required sign-off lands, the change becomes APPROVED and the requester and assignee are notified.
Approval rules (change authority)
Where: Changes → Approval Rules (/org/changes/approval-rules) Tier: CAB or above
An approval rule answers: a change of this shape needs how many signatures, and whose?
| Setting | Effect |
|---|---|
| Categories / Risk levels / Change types | Match criteria. Leave a list empty to mean “any”. A rule with all lists empty is your default rule. |
| Affected assets | Match only when the change touches an asset at one of these management scopes. “Anything the MSP manages” selects all scopes except NONE. |
| Required sign-offs | How many distinct people must approve. This is how you require more than two. |
| Unanimous | Every assigned approver must approve, regardless of the count above. |
| Chair required | The CAB chair specifically must be one of the approvers. |
| Separation of duties | The requester’s own approval does not count toward the quorum on their own change. |
| MSP sign-off | Escalates matching changes to your MSP, whose board becomes an additional gate. |
| Priority | Higher wins. Ties break toward the narrower rule. |
Which rule applies
- The highest-priority rule that matches.
- If two match at the same priority, the one with more match criteria wins.
- If still tied, the older rule wins.
- If no rule matches, the CAB’s own
minVotingMembers/requireUnanimoussettings apply.
That last fallback means an organization that never writes a rule keeps working exactly as before.
Preview
The What would this change need? panel resolves the whole chain against a hypothetical change — pick a category, risk and type, tick “touches MSP-managed assets” if relevant, and press Resolve. It tells you the answer and which rule produced it, without creating anything.
Rules are snapshotted
When a change is submitted, the resolved bar is frozen onto it. Editing or deleting the rule afterwards does not change the bar that change had to clear, and the rule’s name is retained on the record. This is deliberate: you must be able to reconstruct why something was authorized months later.
Change Advisory Boards
Where: Changes → CAB (/org/changes/cab) Tier: CAB or above
A CAB is a named group of people with roles:
- CHAIR — receives approvals; can be required specifically by a rule
- VOTING — receives approvals
- ADVISORY — attends, does not receive an approval
Set isDefault on the board that should catch changes no routing rule claims, and isEmergencyCab on the board that handles emergency retro-approvals.
Routing rules
Each CAB can carry routing rules that claim changes:
| Trigger | Matches when |
|---|---|
RISK_LEVEL | The change’s risk equals the value |
CHANGE_TYPE | The change’s type equals the value |
CATEGORY | The change’s category equals the value |
ASSET_MANAGEMENT_SCOPE | The change touches an asset at that scope |
ALWAYS | Always |
First matching rule wins, in priority order; otherwise the default CAB.
ASSET_CRITICALITYappears in older data but is rejected on save. Assets have no criticality field, so such a rule could never match — useASSET_MANAGEMENT_SCOPEinstead.
MSP co-management
An MSP sees, and can act on, changes across every client organization it services — as well as its own. What a client exposes is controlled per change by its MSP visibility:
| Visibility | The MSP can |
|---|---|
HIDDEN | Nothing — the change is invisible to the MSP |
VISIBLE | See and co-manage it |
APPROVAL_REQUIRED | See it, and it is flagged as needing MSP attention |
Only the owning organization can change this setting. An MSP cannot widen — or hide — its own oversight.
Inviting an MSP onto a specific change
An organization runs its own CAB. When a change turns out to touch something the MSP is responsible for, invite them onto that one change:
- Open the change → Approvals tab → MSP involvement.
- Choose the MSP, say why, and decide whether their approval is required (binding) or advisory.
- Send. The MSP is notified and can read the change — even if it is
HIDDEN, because an explicit invitation overrides the default. - The MSP accepts (their own CAB is convened and becomes a gate) or declines.
Either side can back out: the organization can withdraw, the MSP can decline. Undecided approvals are removed and the change is no longer gated by them; votes already cast stay on the audit record.
Automatic escalation
An approval rule with MSP sign-off set escalates matching changes automatically on submit. This is a requirement rather than an invitation: it lands accepted, its vote binds, and neither side can decline or withdraw it. Combine it with Affected assets to express “escalate to our MSP whenever a change touches equipment they run”.
An MSP may never invite itself onto a client change.
Policies, freeze periods and conflicts
Where: Changes → Policies (/org/changes/policies) Tier: CAB or above
| Setting | Effect |
|---|---|
| Freeze periods | Named date ranges. BLACKOUT blocks scheduling; ADVISORY warns. Supports yearly recurrence for things like year-end. |
| Minimum lead time | Hours of notice required before a planned start. Emergency changes are exempt. |
| Max concurrent changes | Warns when too many changes are already scheduled or implementing. |
| Required plans by risk | Force implementation / test / rollback plans for chosen risk levels. |
| MSP approval by risk / category | Escalate to the MSP for chosen risks or categories. |
Policies are evaluated twice: when a change is submitted, and again when it is scheduled, against the date actually being chosen. The second evaluation is what makes blackout windows real — a change submitted with no date would otherwise slip past the freeze check entirely.
Conflicts (collisions with other changes or shared assets) are checked at scheduling time. Blocking conflicts and blocking policy violations are presented separately in the Schedule dialog, and each must be acknowledged on its own. Overrides are recorded in the audit trail against the person who made them.
Emergency changes
For a change that must happen now, press Emergency and supply a justification. Solidlio:
- Moves the change straight to
IMPLEMENTINGand stamps the start time. - Sets a retro-approval deadline (48 hours by default, configurable per policy).
- Routes it to your emergency CAB for retrospective approval.
- Creates a post-implementation review, due in 7 days.
Retro-approval does not rewind the change — the approvals mark retroApprovalComplete rather than moving it back to APPROVED. A background job flags emergency changes whose retro-approval deadline has passed.
Emergencies can only be invoked from DRAFT or PENDING_APPROVAL.
Maintenance windows
Where: Changes → Maintenance Windows (/org/changes/maintenance) Tier: CAB or above
Named periods for planned work, optionally linked to a change and to affected assets. Windows move SCHEDULED → ACTIVE → COMPLETED, and can be cancelled. Background jobs activate and complete them on schedule, and each window’s card carries Activate, Complete and Delete for doing it by hand.
To choose the affected assets, select the “N assets” chip on the window’s card. That opens a picker listing the CIs already attached — each with its own Remove — above a search box for adding more.
With suppress alerts enabled and a monitoring integration connected, the window can suppress monitoring alerts for its assets for its duration (ADVANCED tier); use Sync monitoring on the card to push it. The assets you attach ARE the hosts that get silenced, so the control is disabled until the window has at least one — a window with no assets suppresses nothing. If the monitoring service cannot be reached on the way out, Solidlio retains the external IDs for retry rather than silently leaving alerts suppressed.
Post-implementation reviews
Where: Changes → Reviews (/org/changes/pir) for the list; the PIR tab on a completed or failed change for the review itself. Tier: CAB or above
A PIR records what actually happened. One is created automatically for every emergency change and every failed change; you can create one manually for any change that has completed or failed — open the change, choose the PIR tab and select Open a review. Rows in the Reviews list link straight to that tab.
A PIR captures whether objectives were met, what went wrong, whether the rollback was needed, lessons learned and follow-up actions, plus an overall score out of 10. Save review records the answers; Mark complete closes it and freezes it as part of the change record, so save before you complete. On ADVANCED, an AI analysis can draft the summary from the change’s history for a human to edit. Overdue PIRs are surfaced by a background job.
Answering a review is an administrator action (organization administrator and above), the same floor as the rest of the change lifecycle.
Templates
Where: Changes → Templates (/org/changes/templates)
Templates pre-fill a change with a standard plan — patching, certificate rotation, firewall rule updates. Solidlio ships a curated ITIL library you can import from, and MSPs can curate which library templates their clients see and push their own templates to client organizations.
Applying a template (BASIC) is separate from authoring one (CAB), so technicians on a lower tier can still use the standards their organization defines.
The audit trail
Where: Change detail → Audit Log tab
Every consequential action is recorded: creation, edits, each status transition, each approval decision, the resolved authority, quorum satisfaction, MSP engagement lifecycle, CAB routing, emergency invocation, policy overrides.
Entries record who, when, the previous and new values, and a human-readable summary. Approval decisions additionally record the quorum state at the moment of the decision — how many approvals each board had, and what was outstanding.
Audit writes are durable: the API does not respond until the record is written. A change that exists always has the trail explaining how it got there.
Notifications
| Event | Who is notified |
|---|---|
| Change submitted | Requester and assignee |
| Approval required | Every assigned approver |
| Change approved | Requester and assignee |
| Change rejected | Requester and assignee |
| Change scheduled | Requester and assignee |
| Implementation started | Requester and assignee |
| Change completed or failed | Requester and assignee |
| Emergency invoked | The person who invoked it |
| MSP invited / escalated | The MSP’s account members |
| Maintenance window start / end | Relevant recipients |
Plan tiers
Change management is gated by a ladder: disabled < VIEW_ONLY < BASIC < CAB < ADVANCED.
| MSP plans | Client plans | |
|---|---|---|
| Disabled | Free | Free |
| VIEW_ONLY | Starter | Essentials |
| BASIC | Growth | Professional |
| CAB | Scale | Business |
| ADVANCED | Enterprise | Enterprise |
| Capability | VIEW_ONLY | BASIC | CAB | ADVANCED |
|---|---|---|---|---|
| View changes, approvals, tasks, comments | ● | ● | ● | ● |
| Create and edit changes; the full lifecycle | — | ● | ● | ● |
| Tasks, comments, approvals | — | ● | ● | ● |
| Apply templates; browse the ITIL library | — | ● | ● | ● |
| Conflict detection; change calendar; audit log | — | ● | ● | ● |
| MSP engagement (invite / accept / escalate) | — | ● | ● | ● |
| CABs and routing rules | — | — | ● | ● |
| Approval rules (change authority) | — | — | ● | ● |
| Policies and freeze periods | — | — | ● | ● |
| Maintenance windows | — | — | ● | ● |
| Post-implementation reviews | — | — | ● | ● |
| Authoring and curating templates | — | — | ● | ● |
| AI-assisted PIR analysis | — | — | — | ● |
| Monitoring alert suppression | — | — | — | ● |
Managed clients with no plan of their own inherit their MSP’s tier. Platform administrators bypass tier gates.
Troubleshooting
| Message | Cause | Fix |
|---|---|---|
Change request must be in DRAFT status to submit | Already submitted, or further along. | Check the status. To revise, use Edit while PENDING_APPROVAL. |
Reason is required for submission | The reason field is empty. | Add a reason and resubmit. |
Change has blocking policy violations... | A required plan is missing, lead time is too short, or the date is inside a blackout. | Resolve the listed violations, or resubmit with the override — it is audited. |
Change request must be APPROVED before scheduling | Not yet fully authorized. | Check the Required sign-offs panel for what is outstanding. |
Planned schedule violates an active change policy | The chosen window hits a freeze period or breaks minimum lead time. | Choose another window, or acknowledge the override in the Schedule dialog. |
Change has blocking scheduling conflicts | The window collides with another change or a shared asset. | Reschedule, or acknowledge the conflicts. |
Change request must be SCHEDULED before starting | Approved but not scheduled. | Use Schedule first. Approval is authorization, not a date. |
Change request must be IMPLEMENTING before completing | Not started yet. | Start implementation first. |
Only the assigned approver can decide this approval | You are not the assigned approver. | The assigned approver must decide, or an organization administrator can add you as one. |
Approval has already been decided | Someone already recorded this decision. | Refresh; the decision stands. |
Approval request already exists for this user | That person is already an approver. | No action needed. |
That MSP does not service this organization | The chosen account is not your primary manager or an active collaborator. | Check the management relationship first. |
Only the organization that owns the change can invite an MSP | An MSP tried to invite itself. | The client must issue the invitation. |
This engagement was required by policy and cannot be declined | It came from an approval rule, not an invitation. | Change the rule if the escalation is wrong. |
Only draft change requests can be deleted | The change has progressed past DRAFT. | Cancel it instead — cancelled changes stay on the record. |
Change management tier "X" required | Your plan does not include this capability. | See Plan tiers. The response carries an upgrade offer. |
ASSET_CRITICALITY is not supported | A routing rule used a trigger that can never match. | Use ASSET_MANAGEMENT_SCOPE. |
Limits and known behaviour
- Editing is restricted to
DRAFTandPENDING_APPROVAL. Approved content is what was authorized. Cancel and re-raise if it must change afterwards. - A rejection is final for that submission. There is no partial rejection or “reject back to draft”; raise a new change.
- CAB meeting schedules are informational.
meetingDayOfWeek,meetingTimeUtcandmeetingDurationMinare recorded and displayed but do not drive automated scheduling. - Approval rules are per organization. An MSP configures each client’s rules individually; there is no push-a-rule-to-all-clients operation. Templates do support push-to-org.
- An engagement with no reachable CAB is advisory. If an invited MSP has no CAB configured, the requirement is recorded as advisory rather than binding, so the client is never deadlocked behind a board that does not exist.
- Asset-derived rules need linked assets. A change with no assets linked can never match a rule that specifies asset scopes.
- Mobile. Change management is web-only today.