Reading what someone actually asked for, then routing it to the right place
Internal requests arrive as prose — a message, a form field, a ticket someone typed in a hurry. Most of the delay is not the work but the routing: reading it, deciding whose it is, and checking whether the person is entitled to it. Modeled as an orchestrated process, triage and the entitlement check happen immediately, and only genuine approvals wait on a person.
A reference architecture: how RoboAgentix would model this process on UiPath. It is not a description of a delivered project, and no client, result or metric is implied.
What starts it
A request is raised in a service desk, an HR system, a form, or a chat channel that feeds one.

Why it is orchestrated rather than scripted
- A request can span several systems and several approvers, and the requester needs one place to see where it sits.
- Entitlement rules change often and belong in a rule the business can edit, not in routing code.
- Requests wait on people by nature, so the process has to hold state rather than time out.
How it runs on UiPath Maestro
The process is defined in BPMN and Maestro runs it across agents, robots and people, holding its state for as long as the work takes — including while it waits on an approver.
Step by step
- 01
Request raisedSystem
From a service desk, an HR system, a form, or a channel that feeds one.
- 02
Read and classifyAgent
The free text is turned into a request type, the details it implies, and whatever is still missing.
- 03
Check entitlementAgent
The requester's role, entitlements and any prior requests are checked against the policy for that request type.
- 04
Auto-fulfill allowed?Maestro
The orchestrator routes on entitlement, request type, and whether policy allows this to proceed unattended.
- 05
Approve the requestPerson
Anything needing authority reaches the right approver with the request and the entitlement finding attached.
- 06
Fulfil in the target systemRobot
The change is made in the HR, IT or finance system that owns it, under scoped credentials.
- 07
Routed and trackedSystem
The requester is told what happened, and the decision and action are written to the audit record.
What each agent is allowed to decide
An agent is only useful in a governed process if its authority is written down. Each one below has a defined input, a decision it may make on its own, and the condition that obliges it to hand over.
Triage Agent
Turns a sentence someone typed into a structured request.
Reads
- The request text and any attachments
- The catalog of request types
- How comparable requests were classified before
Decides on its own
Must escalate when
Entitlement Agent
Decides whether this person may have this thing.
Reads
- Role and entitlement data
- The policy for that request type, indexed for retrieval
- Prior requests from the same person
Decides on its own
Must escalate when
What the robots do
Deterministic steps stay with robots — the same action every time, including in systems that never exposed a usable API.
Fulfillment robot
Makes the change in whichever system owns it, and writes the reference back to the ticket.
Runs in
Auto-fulfill allowed?
The requester is entitled, the request type is one policy allows unattended, and nothing about it exceeds a limit.
- Passes
- Fulfilled directly in the target system.
- Does not pass
- Routed to the named approver and held open until they decide.
Modeled as a decision table, so the threshold can be changed by the people who own the policy without redeploying an automation.
The human step
Who
What they see
What they decide
People are in this process because judgment or authority belongs to them — not as a fallback for a step that failed.
What this design deliberately does not do
An automation is only trustworthy if its limits are written down as plainly as its capabilities.
- It does not change what a role is allowed to hold. The Entitlement Agent reads the policy and applies it; who may hold which entitlement stays with the role owner, and a request is never the mechanism by which that rule moves.
- It does not grant standing access to clear a request faster. Where the policy makes an entitlement time-bound, the fulfillment robot writes the same expiry the policy states, and the process will not extend it on its own — a renewal is a new request with its own check.
- It does not substitute an approver when the policy names one. If that person is unavailable, the request waits or moves to the delegate the policy defines. It does not walk up the reporting line looking for someone who will sign.
- It does not bundle several asks into one instance. A message containing two requests becomes two instances, each with its own entitlement finding, its own approver and its own target system, because approving one is not approving the other.
Failure has a defined path
Systems go down, confidence drops, approvers go on leave. Each of these is a modeled branch rather than a stuck instance.
- The identity or HR system holding the requester's role and entitlements cannot be reached.
- The entitlement check does not run against whatever is cached. The instance holds at that step, the connector retries on the schedule Orchestrator sets, and the request stays open to the requester rather than being rejected for a reason that is not theirs. When the retries are exhausted, it goes to the system owner as a manual check, naming the source that was unavailable.
- The Triage Agent cannot place the request text in the catalog of request types.
- It does not pick the nearest type. The process asks the requester the specific question it is missing and resumes on the reply. If no reply comes, the instance lands in the service desk queue as unclassified, with the original text intact, rather than closing itself.
- The named approver never opens or acts on the Action Center task.
- The task ages against the response window set for that request type, then reassigns to the delegate the policy names. The unactioned task stays on the instance record instead of disappearing, and the requester is told the request has moved and to whom.
- Fulfillment succeeds partway — the account is created but the group membership or the license assignment is not.
- Nothing is reported as done. Maestro keeps the completed steps and retries only the step that failed. If it fails again, the partial state is handed to the system owner listing what was applied and what was not, so the gap is closed deliberately rather than left for an access review to find.
Data, rollout, and what to watch
Data it touches
- The process touches request text, the requester's role and entitlement data, prior requests of the same type, and the reference the target system returns. It reads these through connectors against the systems of record; it does not accumulate a parallel copy of the entitlement data in the process store.
- Free text carries things nobody meant to put in a ticket — an ID number, the medical reason behind a leave request, a credential someone pasted. Detected patterns are masked before the text is indexed for retrieval or shown in an approval task, and the unmasked original stays in the source ticket under that system's access control.
- The Entitlement Agent's tools reach role, entitlement and request history for the person named in the request. Personnel file contents, compensation and performance data are not in its tool set, so they are not available to it at any confidence level.
- Instance state, the approval record and the audit trail sit in the tenant and region the organization designates. Approval decisions and what was changed in which system are retained on the schedule the access review needs; request text and attachments follow the retention of the service desk they arrived from and are removed with it.
How it goes live
- 01
Shadow
The process runs beside the existing service desk on live requests. Triage produces a request type and the Entitlement Agent produces a finding; nothing is routed, approved or fulfilled, and the queue is worked exactly as it is today. Each finding is compared with what the team actually did. A request type leaves this phase only when the owner of that type accepts that the classification and the entitlement finding match their own handling; types that do not agree stay in shadow while the rule or the catalog entry is corrected.
- 02
Supervised
For the accepted request types the process routes and raises the Action Center task, but every instance reaches a person — including the ones the gate would have passed unattended. The approver sees what the gate decided and the clause behind it, and can record that it was wrong. A type moves on when approvers have stopped overturning its pass decisions and the role owner has signed off the entitlement rule as written in DMN.
- 03
Unattended with exceptions
For signed-off types only, the passing path is fulfilled in the target system without a person, and everything failing the gate still goes to the named approver. New request types enter at shadow rather than inheriting the unattended setting, and any edit to an entitlement rule returns that type to supervised until it has run through again.
Signals worth watching
- The share of instances that reach a person, split by request type, and whether a type that used to pass unattended is drifting back toward approval.
- How often an approver overturns the entitlement finding, and whether the overturns cluster on one rule, one team or one request type rather than scattering.
- Waiting time separated into time spent waiting on an approver and time spent waiting on a target system, so a slow connector is not read as a slow manager.
- Access that is fulfilled and then revoked or reversed soon afterward — the usual sign that an entitlement rule is looser than the role owner meant it to be.
Named without target values. What good looks like depends on your volumes and your risk appetite, and is set with you rather than asserted here.
The UiPath components this design uses
UiPath Maestro
Runs the BPMN process and holds its state for as long as the work takes, including while it waits on a person or a system that is down.
UiPath Agent Builder
Where each agent is defined — its instructions, its tools, its inputs and outputs, and the escalation that sends work to a person.
Context Grounding
A retrieval index over your own policies and reference data, so an agent cites the rule it applied instead of recalling it.
UiPath Action Center
Where a human step actually lands. The approver gets a task with the agent's reasoning and sources attached, and the process resumes on their decision.
UiPath Orchestrator
Schedules the robots, holds queues and retries, and issues the least-privilege credentials each automation runs under.
UiPath Integration Service
Connectors to the systems of record, so the process talks to them through a maintained integration rather than a bespoke script.
Systems it touches
- IT service management
- HR information system
- Identity and access management
- Finance system for spend requests
What the run leaves behind
- The request as it was written, and what it was classified as
- The entitlement finding and the policy clause behind it
- Who approved it, on what basis, and when
- What was changed in which system, with the reference
Other representative workflows
Talk to us about a process like this.
The most useful first conversation is about a real process — where it stalls, who approves what, and which systems it touches.