- Module dossiers: attestor, authority, cli, graph, scanner - Policy assistant parameters guide - UI v2-rewire navigation rendering policy - Test suite overview update - Workflow engine requirements and tutorial series (01-08) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tutorial 4: Human Tasks with OnComplete Flows
The approve/reject pattern — the most common human task flow in insurance workflows.
Concepts Introduced
WorkflowHumanTask.For<T>()— define a task with name, type, route, and roles.WithPayload()— data sent to the UI when the task is displayed.WithTimeout(seconds)— optional deadline for the task.WithRoles()— restrict which roles can interact with this task.OnComplete(flow => ...)— sequence executed after user completes the task.ActivateTask()— pause workflow and wait for user action.AddTask()— register a task in the workflow spec (separate from activation)- Re-activation — send the user back to the same task on validation failure
Approve/Reject Pattern
- Workflow starts, runs some service tasks
.ActivateTask("Approve")— workflow pauses- User sees the task in their inbox, assigns it, submits an answer
.OnCompletecheckspayload.answer:"approve"— run confirmation operations, convert to policy"reject"— cancel the application
- If operations fail, re-activate the same task for correction
Variants
Next
Tutorial 5: Sub-Workflows — inline vs fire-and-forget child workflows.