Change management · Approvals
MixedIT and engineeringChange approvals that arrive complete, with the evidence already attached
Most change approvals stall on missing rollback plans and test evidence, not on risk. These field notes answer the questions teams ask when they put an agent in front of the change advisory board.
Valnora & Elric team6 min read
Change approval is one of the few controls that every auditor tests and every engineer resents. The resentment is rarely about the principle. It is about requests that bounce three times because a field was empty, and approvers who rubber-stamp because they cannot tell a risky change from a routine one in the time they have.
These notes describe a setup in Agent Serve that does the checking before a person ever looks, keeps the decision with a named approver, and leaves a record an auditor can follow.
Why do change approvals stall?
In most teams, a change waits because it is incomplete, not because it is dangerous. The rollback plan says "revert", the test evidence is a link to a pipeline that has since been rerun, or the risk rating was left on the default.
Approvers then do clerical work. They chase fields, ask for screenshots and send the ticket back. By the time the record is complete, the change window has moved, and the pressure to approve quickly goes up exactly when scrutiny should.
An agent is useful here because completeness is checkable. Whether a rollback plan exists, whether test results are attached, and whether the change window clashes with a freeze are questions with clear answers. Whether the change should go ahead is not, and that stays with a person.
What does the workflow check before an approver sees the change?
From change request to recorded decision
Workflow · Change readiness
- 01New change requestA webhook from ServiceNow or your ticketing tool starts a run for each submitted change.
- 02Completeness checksRules confirm a rollback plan, test evidence, a risk rating and a change window are present.
- 03Readiness summaryAn Agent block writes a short summary of what changes, what could break and what is missing.
- 04Human approvalThe Human block pauses the run until an approver who did not raise the change decides.
- 05Change registerOne row per change: checks, summary, approver, decision and timestamps.
Relay · Change reviewer
- 06Daily reviewRuns each morning on a schedule and queries the change register, read-only.
- 07Emergency change noteLists emergency changes still waiting for retrospective approval, with owners.
Dashboard · Change health
- 08Change dashboardVolume by risk, approval time, emergency share and failed changes per team.
- 09Unapproved emergenciesA rule monitor alerts the change manager when emergency changes lack sign-off.
The readiness workflow is built in the workflow builder and starts from a webhook each time a change is submitted. It does four things in order.
- Reads the record. A ServiceNow block, or an API block for other tools, pulls the change, its linked tickets and attachments.
- Runs the checks. Rules flag missing fields: no rollback plan, no test evidence, no risk rating, a window inside a freeze period. Each rule returns a plain pass or flag, so the result is easy to read.
- Writes a summary. An Agent block reads the description and diffs and writes three lines: what changes, what could break, and what is missing. It does not set the risk rating; it can only point out that the stated rating looks low for the services touched.
- Routes or returns. A Condition block sends incomplete changes back to the requester with the list of gaps. Complete ones go to the right approver group, with the summary posted to their Slack or Teams channel.
How do you keep the requester and the approver separate?
Separation of duties is a rule, so treat it like one. The workflow compares the requester with the proposed approver and with everyone who committed to the change. If they overlap, the change is routed to a different approver group and the overlap is noted in the register.
The approval itself happens in the Human block, which pauses the run until a person decides. The decision, the approver’s name and the time are written to the change register in Tables, and the decision is written back to the change record so your ticketing tool stays the source of truth.
Workspace roles and permission groups decide who can edit the workflow. That matters: if the people whose changes are checked can rewrite the checks, the control is weaker than it looks. Because workflows run from a deployed version, an edit to the checks is itself a reviewed change.
What happens to emergency changes?
Emergency changes skip the queue by design, which is why they are where audits find gaps. Most policies allow them on the condition that they are approved retrospectively within a set period.
What the solution produces
Change readiness summary (illustrative)
Record- Change
- Upgrade payments API gateway to new minor version · production
- Risk rating
- High: customer-facing service, change window overlaps month-end batch.
- Rollback plan
- Present. Redeploy previous image, estimated 10 minutes.
- Test evidence
- Missing. Ticket links a staging run, but the results file is not attached.
- Separation of duties
- Requester and proposed approver are different people. Check passed.
- Suggested action
- Return to requester for test results, then route to the platform change approver.
Morning note on emergency changes (illustrative)
MemoThree emergency changes from the last 48 hours have no retrospective approval yet.
Two are database hotfixes owned by the core banking team. One is a firewall rule added during an incident.
The firewall change has no linked incident number. Suggest the owner adds it before review.
No changes failed in the same period.
A Relay, an AI coworker with its own instructions and access, handles the follow-up. It runs each weekday morning on a schedule, queries the change register (read-only) and posts a note to the change manager listing emergency changes that still lack sign-off, who owns each one and what is missing. It runs at the Observe level: it can read and draft, and nothing else.
A Monitor covers the same risk from the other side. A rule monitor fires when one or more emergency changes are past the retrospective deadline, and alerts the change manager in the app or by email.
What does an auditor see afterwards?
Controls and governance
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
Audit trail
Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
SSO and SCIM
Sign in through your identity provider with SAML 2.0 or OIDC, and provision people with SCIM.
Self-hosting
Run Agent Serve in your own cloud or data centre, next to the systems it reads.
SOC 2 ready
The controls SOC 2 looks for are in place. Agent Serve does not claim a SOC 2 report or certification.
More on how Agent Serve handles access, data and audit on the security page.
For any change, a reviewer can follow one thread: the change record, the workflow run in Logs showing each block’s inputs and outputs, the checks that passed or flagged, the approver and the timestamp in the register. Changes to the agent setup itself appear in the workspace audit log.
If you are a financial entity in the EU, DORA’s ICT risk management requirements cover how changes to ICT systems are controlled. A setup like this does not make you compliant on its own, but it does produce the records those controls depend on. A dashboard on the register shows approval times, the emergency share and failed changes by team.
Where should a team start?
Start with the checks, not the summaries. Pick the three fields your approvers chase most, write them as rules, and run the workflow on new changes for two weeks without blocking anything. Compare its flags with what approvers sent back by hand. When the two agree, switch on routing, then add the Relay for emergency follow-up. For the access side of the same audit, see user access reviews; for collecting the evidence, see audit evidence collection.
What you need
- A webhook or API from ServiceNow or the tool where changes are raised
- Your change policy: risk tiers, required fields and who may approve each tier
- A list of approver groups, kept current from your directory
- An agreed definition of an emergency change and the deadline for retrospective approval
- A channel in Slack or Microsoft Teams for approval requests
- An owner for the change register and the dashboard