Files
git.stella-ops.org/docs/workflow/tutorials/04-human-tasks
master a6ffb38ecf Update module architecture docs and workflow tutorials
- 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>
2026-03-30 17:25:37 +03:00
..

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

  1. Workflow starts, runs some service tasks
  2. .ActivateTask("Approve") — workflow pauses
  3. User sees the task in their inbox, assigns it, submits an answer
  4. .OnComplete checks payload.answer:
    • "approve" — run confirmation operations, convert to policy
    • "reject" — cancel the application
  5. If operations fail, re-activate the same task for correction

Variants

Next

Tutorial 5: Sub-Workflows — inline vs fire-and-forget child workflows.