Performer | UiPath REFramework | Unattended | Long-Running (Persistence)
The third stage in the Meridian Loan Processing pipeline. This automation consumes applications from the StandardUnderwriting or EnhancedReview queues, creates an Action Center form task for human underwriter review, assigns it using workload-based distribution, then suspends the workflow until the underwriter submits their decision. Upon resumption, it updates MongoDB and routes the application to the appropriate downstream queue.
- Human-in-the-Loop (HITL) via Action Center -- Creates a structured form task with Application ID (read-only), Decision (Approve/Deny radio), and Reason (free text) fields for underwriter review
- Workload-Based Assignment -- Assigns tasks to the
Underwritergroup using Orchestrator's workload balancing, automatically routing to the least-loaded underwriter - Long-Running Workflow Pattern -- Uses
WaitForFormTaskAndResumeto suspend the workflow state in Orchestrator without consuming a robot slot; resumes automatically when the underwriter submits their decision - Decision Routing -- Routes completed applications to
ApprovedApplicationsorDeniedApplicationsqueues based on the underwriter's decision, with MongoDB status updates at each step - Unified HITL Pattern -- Both standard and enhanced review applications flow through the same parameterized workflow, differing only by source queue and SLA -- not by code path
- Persistence Support -- Project explicitly enables
supportsPersistence: true, allowing workflow state to survive robot restarts and long human review cycles
Start
|
v
[Get Transaction Item]
|- Pull from configured Orchestrator queue
| (StandardUnderwriting or EnhancedReview)
|- Extract AppId from queue item SpecificContent
|- If no items remain --> End Process
|
v
[Create Form Task]
|- Create Action Center task: "Review Application {AppId}"
|- Form fields:
| Application ID (read-only, pre-filled)
| Decision (radio: Approve / Deny)
| Reason (required free text)
| Submit (button)
|- Task catalog from Config ("ActionCatalog")
|- Priority: Medium
|
v
[Assign Task]
|- Assignment: Workload-based to "Underwriter" group
|- Orchestrator selects least-loaded underwriter
|
v
[Wait for Form Task and Resume] ** WORKFLOW SUSPENDS HERE **
|- Robot slot released
|- Workflow state persisted in Orchestrator
|- Underwriter reviews in Action Center
|- Workflow resumes when form is submitted
|
v
[Process Decision]
|- Read Result (approve/deny) and Reason from form
|- Switch on Result:
|
|- Case "approve":
| Update MongoDB: Status = "Approved", reasons = {Reason}
| Add to "ApprovedApplications" queue
|
|- Case "denied":
| Update MongoDB: Status = "Denied", reasons = {Reason}
| Add to "DeniedApplications" queue
|
|- Default:
| BusinessRuleException (invalid result)
|
v
[Set Transaction Status] --> Loop
The form task presented to underwriters contains:
| Field | Type | Behavior |
|---|---|---|
| Application ID | Text (disabled) | Pre-filled with AppId, read-only for reference |
| Decision | Radio (required) | Approve or Deny -- shortcuts: A / D |
| Reason | Text (required) | Free-text justification for the decision |
| Submit | Button | Triggers form completion and workflow resumption |
| Component | Technology |
|---|---|
| RPA Platform | UiPath Studio 26.0 (Windows target) |
| Framework | REFramework (Robotic Enterprise Framework) |
| Human-in-the-Loop | UiPath Action Center (Form Tasks + Persistence) |
| Task Assignment | Orchestrator Workload Balancing (Group: Underwriter) |
| Database | MongoDB (via InternalLabs.MongoDB.Activities) |
| Queue (Input) | StandardUnderwriting or EnhancedReview |
| Queues (Output) | ApprovedApplications, DeniedApplications |
| Config | REFramework Config.xlsx + Orchestrator Assets |
| File | Purpose |
|---|---|
Main.xaml |
REFramework state machine entry point |
Framework/GetTransactionData.xaml |
Gets next queue item from configured queue |
Framework/Process.xaml |
Creates form task, assigns to underwriter, suspends, processes decision on resume |
Framework/SetTransactionStatus.xaml |
Reports Success / Exception back to framework |
| Setting | Purpose |
|---|---|
OrchestratorQueueName |
Input queue (StandardUnderwriting or EnhancedReview) |
OrchestratorQueueFolder |
Orchestrator folder path |
ActionCatalog |
Action Center task catalog name |
DBConnection |
MongoDB connection string |
Database |
MongoDB database name |
RetryNumberGetTransactionItem |
Retry count for queue item retrieval |
- Long-running workflow over polling -- Instead of creating a task in one process and polling for completion in another, this uses UiPath's
WaitForFormTaskAndResumepersistence pattern. The workflow suspends without consuming a robot slot; the human completes their task; the workflow resumes with decision data attached. This collapses what would otherwise be two components (assigner + decision capture) into a single workflow with a coherent audit trail. - Workload-based assignment -- Tasks are assigned to the
Underwritergroup using Orchestrator's built-in workload balancing rather than round-robin or manual assignment. This automatically routes to the least-loaded underwriter. - Single parameterized project -- Both standard and enhanced underwriting use this same project. The only difference is which queue feeds it (configured via
OrchestratorQueueName). This avoids code duplication while allowing independent scaling per queue. - Switch with BusinessRuleException default -- If the underwriter's decision doesn't match
approveordenied, a BusinessRuleException is thrown rather than silently failing. Defense-in-depth against form misconfiguration. - Action Center for all human review -- Rather than using ad-hoc review mechanisms for some cases and Action Center for others, all human review is routed through Action Center uniformly. Regulatory expectations require that human review of automated decisions be itself auditable.
This is Stage 3 of the Meridian Loan Processing pipeline:
[Email Processor] --> [Loan Prescreen] --> [Loan Assigner] --> [Underwriter Dashboard]
Intake Triage/Route (this) Attended Workspace
The upstream Loan Prescreen routes applications to StandardUnderwriting or EnhancedReview. This performer creates human review tasks and, upon decision, routes to ApprovedApplications or DeniedApplications for downstream notification processing.
InternalLabs.MongoDB.Activities [1.0.1]
UiPath.Excel.Activities [3.5.1]
UiPath.Form.Activities [25.4.3]
UiPath.FormActivityLibrary [2.0.8]
UiPath.Persistence.Activities [1.9.0]
UiPath.System.Activities [26.2.4]
UiPath.Testing.Activities [25.10.2]
UiPath.UIAutomation.Activities [25.10.31]