Routing and Approvals
Last updated September 21, 2026
Model legal routing, branching, matter-task approval, and attorney-review checkpoints with the workflow and task records Matruno implements.
Route with explicit dependencies#
Use depends_on and branch conditions to express which legal steps must finish before later work can start. The workflow validator checks unique step keys, sequential indexes, dependency references, circular dependencies, entry points, terminal steps, agent params, referenced participants, and referenced documents.
Use approval routes for matter tasks#
Matter tasks can be approved through POST /api/v1/tasks/{task_id}/approve. This marks the task completed and asks WorkflowEngineService.advance_workflow() to unblock dependent tasks.
Use this for simple workflow-step completion or approval semantics tied to a matter task.
Use human tasks for attorney review#
Human tasks support feedback, action, approval, and information task types. They store instructions, user feedback, structured response data, and timestamps. The feedback route updates the human task and triggers follow-up processing.
POST /api/v1/matters/{matter_reference_id}/tasks/{task_id}/submit-feedback
Pending review should surface as legal lifecycle under_review. Pending approval should surface as awaiting_approval. See Legal Matter Lifecycle.
Keep routing explainable#
Route on durable legal fields such as practice area, matter type, confidentiality, jurisdiction, document kind, participant role, or explicit workflow output. Avoid routing on freeform notes unless a preceding step has transformed them into a reviewed structured value.
Do not invent routing based on court docket events or case-law matches. Matruno does not provide those integrations.
Model rejected outcomes visibly
Approved and rejected legal outcomes should diverge through explicit tasks, notes, or workflow branches. Do not leave rejection handling to informal operator memory, and do not treat AI output as a final legal decision.
Was this helpful?