The situation
Changes are raised, risk-assessed, approved by a board, scheduled into a window and implemented, with a rollback plan that has to exist before approval. Standard changes should not need the board at all. Today the request is a form, the assessment is a comment thread, the approval is a meeting, and the evidence an auditor wants is a minute somebody typed afterwards.
These are illustrative scenarios showing how the products are used, not customer case studies.
Build-versus-buy lens
What this helps you decide
Use the example to find where product configuration ends and custom code begins — and whether the boundary leaves your team with less infrastructure to own.
- Model fit
- Can the record shape evolve without coordinating a migration, API and UI release?
- Workflow fit
- Can approvals, exceptions and deadlines move out of application code without losing control?
- Integration fit
- Can your existing APIs become reusable steps with retries, throttling and visible run history?
- Control fit
- Can your team reconstruct model changes, workflow runs and human decisions later?
What gets modeled
The structure as it would actually be defined — sections that repeat are marked.
- Change requestrecord type
- Requestersection
- Risksection
Impact, likelihood, blast radius
- Affected servicesrepeating section
- Servicechoice
Read live from your service catalogue
- Downtime expectedtrue/false
- Plansection
- Implementation stepsrepeating section
- Rollback stepsrepeating section
Required before approval
- Service cataloguerecord type
- Change windowsrecord type
When implementation is permitted
How it gets built
In the order somebody would actually do it. Each step names the capability it rests on, so it can be checked against the product pages.
Model the request, including the rollback
Implementation and rollback are both repeating sections inside the plan, and rollback is required — so a change without one cannot be submitted rather than being waved through on the understanding that someone will write it later.
What it uses: Nested repeating sections, with per-field rules including required
Read the service catalogue rather than a copy of it
Affected services are choice fields reading live from the catalogue that owns them. A service added last week is available immediately, and a decommissioned one stops being selectable, without anyone editing a form.
What it uses: Live option sources
Send standard changes down a short path
A trigger starts the run on submission, with filters and conditional links routing pre-approved standard changes straight to scheduling. The board sees the changes that need a board, which is the only way a board keeps working.
What it uses: Record triggers with filters, conditional links with an explicit default
Make the board a rule rather than a meeting
Board approval is a human decision with a quorum or a weighted vote — a defined number of the standing members, or weights reflecting who must agree for a high-risk change. What was agreed is the decision record, not a minute typed afterwards.
What it uses: Quorum and weighted-vote approval rules
Sign the high-risk ones properly
Where the risk warrants it, approving means re-authenticating at that moment and choosing a reason from your own codes. What was recorded stays as recorded, and because the signatures chain, tampering with an earlier one is visible.
What it uses: Re-authenticated, chained signatures with reason codes
Hold it until the window opens
An approved change waits for its scheduled time rather than for somebody to remember. A step reads the permitted windows and the run parks until the window opens, with a deadline so it cannot wait indefinitely.
What it uses: A step that reads the record mid-run, and steps that park with a deadline
Let it fail without losing the thread
If implementation fails, the run does not restart from the beginning: the failed step is restarted in place, or the run is rewound to an earlier completed step with the later ones marked superseded. A run whose conditions match nothing stops and waits for an operator rather than guessing.
What it uses: Restart a step in place, rewind to an earlier step, replay a run
Have the evidence already assembled
The request, the risk assessment, who approved it under which rule, when it ran and what happened are attached to the record and its run history. The audit pack is a query rather than an exercise.
What it uses: Record history alongside per-step run history
Numbers used above, and where they come from
Every figure on this site is counted from the product itself. Nothing here is a performance or customer claim, because there is no measurement to cite for one.
- ways to decide who approves
- 7ways to decide who approvesCounted from egav-automation/backend/app/api/v1/automation/schemas/hitl_config_schemas.py — HitlAssignmentPolicy
- field types
- 9field typesCounted from egav/backend/app/api/v1/egav/schemas/entity_type_attribute.py — DataType
What changes
The board spends its time on changes that need a board, what was agreed is a decision record rather than a minute, and the change that failed at midnight is resumed rather than repeated.
Written for Operations teams that own a process.