Skip to main content
Use this page when a coding agent needs to run a business process through Veryfront Work. Work gives the process a definition, an execution record, acceptance criteria, and an event timeline that the Work panel can show outside chat.

Steps

  1. Load the Veryfront skill: load_skill({ "skillId": "veryfront" }).
  2. Treat this page as the source of truth for Work orchestration.
  3. Read the Work definition with get_work or get_work_source.
  4. Create or update the Work definition only when the requested process is missing or stale.
  5. Create exactly one execution for the run with create_work_execution.
  6. Keep the returned execution_id in the run ledger.
  7. Record process transitions and handoffs with create_work_execution_event.
  8. Update acceptance criteria as evidence changes with update_work_execution_acceptance_criterion.
  9. Review state with get_work_execution, get_work_execution_events, or list_work_execution_events.
  10. Finish with update_work_execution and a final status.

Tool map

IntentToolUse
List definitionslist_workFind existing Work definitions and execution counts.
Read a definitionget_work or get_work_sourceGet outcome, criteria, source path, and structured source.
Create a definitioncreate_workAdd a new source-backed Work definition.
Update a definitionupdate_workChange outcome or acceptance criteria.
Start an executioncreate_work_executionCreate one execution for the current process run.
List executionsget_work_executionsShow recent executions for one Work definition.
Read an executionget_work_executionRead execution status, state, criteria, and events.
Update criteriaupdate_work_execution_acceptance_criterionMark one criterion as satisfied, failed, not satisfied, not applicable, or unknown.
Add an eventcreate_work_execution_eventAppend a business-process event.
Read execution eventsget_work_execution_eventsRead events for one execution.
Read project eventslist_work_execution_eventsRead the Work Events feed, optionally filtered by Work, execution, type, or actor.
Finish an executionupdate_work_executionSet status, state, or summary.

Work definitions

Use a Work definition for the durable business contract. Required criteria are the default. Set optional: true only when a criterion doesn’t block completion. Use acceptance_criteria in new calls. expectations is accepted as a compatibility alias.
create_work input
{
  "project_reference": "ai-operations",
  "id": "supplier-invoice-processing",
  "name": "Supplier invoice processing",
  "outcome": "Resolve all open supplier invoices.",
  "acceptance_criteria": [
    {
      "id": "invoices_discovered",
      "description": "The supplier invoice queue has been ingested once, including an empty queue result."
    },
    {
      "id": "notify_finance_team",
      "description": "Finance team has been notified when the run requires a notification.",
      "optional": true
    }
  ]
}

Work executions

Create one execution before delegated agents or tools start the business process. Put the original request in input and current process facts in state.
create_work_execution input
{
  "project_reference": "ai-operations",
  "work_id": "supplier-invoice-processing",
  "input": {
    "request": "process supplier invoices"
  },
  "state": {
    "stage": "started"
  }
}

Acceptance criteria

Update one criterion whenever new evidence changes the business state. Use not_applicable for an optional criterion that doesn’t apply to the current run.
update_work_execution_acceptance_criterion input
{
  "project_reference": "ai-operations",
  "work_id": "supplier-invoice-processing",
  "execution_id": "<execution-uuid>",
  "criterion_id": "invoices_discovered",
  "status": "satisfied",
  "reason": "The ingest agent completed the supplier invoice queue pass.",
  "evidence": [
    {
      "agent_id": "ingest-invoice-agent",
      "child_run_id": "run_123"
    }
  ],
  "actor_kind": "agent",
  "actor_id": "supplier-invoice-orchestrator"
}

Work events

Add events for transitions, specialist handoffs, discrepancies, and summaries. Keep event type values stable so the Work Events panel can filter them.
create_work_execution_event input
{
  "project_reference": "ai-operations",
  "work_id": "supplier-invoice-processing",
  "execution_id": "<execution-uuid>",
  "type": "work_execution.handoff.completed",
  "actor_kind": "agent",
  "actor_id": "supplier-invoice-orchestrator",
  "payload": {
    "child_agent_id": "ingest-invoice-agent",
    "child_run_id": "run_123",
    "result": "Invoice queue ingested"
  }
}
To review the project-level Work Events feed, call list_work_execution_events with optional filters.
list_work_execution_events input
{
  "project_reference": "ai-operations",
  "work_id": "supplier-invoice-processing",
  "type": "work_execution.handoff.completed",
  "actor_kind": "agent",
  "limit": 50
}

Finish the run

Read the execution and events before finalizing. Then set the execution status and summary.
update_work_execution input
{
  "project_reference": "ai-operations",
  "work_id": "supplier-invoice-processing",
  "execution_id": "<execution-uuid>",
  "status": "completed",
  "state": {
    "stage": "complete"
  },
  "summary": "All ingested supplier invoices reached a final process outcome."
}

Next

  • MCP: Connect agents to Veryfront control-plane tools.
  • Runs and events: Track execution activity across Veryfront Cloud.