Skip to main content
Workflows are deterministic, multi-step pipelines that orchestrate agent tasks in sequence. Unlike probabilistic agent runs, a workflow defines a fixed series of steps with persistent state — making them suitable for repeatable business processes, data pipelines, and structured automation that requires auditable execution history. All requests require a valid bearer token in the Authorization header. Workflow access is tenant-scoped: operations on workflows belonging to another organization return 404 Not Found.

List workflows

Returns a paginated list of workflow definitions for the authenticated tenant.
number
default:"0"
Zero-based page index.
number
default:"20"
Number of workflows per page.
string
Sort field and direction, e.g. createdAt,desc.
Example response

Create a workflow

Creates a new workflow definition. Returns 201 Created with the persisted WorkflowDTO.
string
required
Human-readable name for the workflow.
string
Optional description of the workflow’s purpose.
object[]
Initial steps to create with the workflow. You can also add steps after creation via the steps endpoint.
Example response

Get a workflow

Fetches a single workflow definition by ID. Returns 404 Not Found if the workflow does not exist or belongs to another tenant.
string
required
The workflow identifier.

Update a workflow

Updates a workflow’s metadata (name, description). Send only the fields you want to change.
string
required
The workflow identifier.
string
Updated name for the workflow.
string
Updated description.

Delete a workflow

Permanently deletes a workflow and all its associated steps. Returns 204 No Content.
string
required
The workflow identifier.

List workflow steps

Returns all steps for a workflow in their ordered sequence.
string
required
The workflow identifier.
Example response

Add a step

Appends a new step to the workflow. Returns 201 Created with the persisted WorkflowStepDTO.
string
required
The workflow to add the step to.
string
required
The agent to invoke for this step.
string
required
The prompt or instruction sent to the agent for this step.
number
The position in the sequence, starting from 1. Steps execute in ascending order.

Remove a step

Removes a specific step from a workflow. Returns 204 No Content.
string
required
The workflow identifier.
string
required
The step identifier to remove.

Clone a workflow

Creates a deep copy of the workflow and all its steps. The cloned workflow’s name is appended with " (Copy)". Returns 201 Created.
string
required
The workflow to clone.
Example response

Execute a workflow

Submits the workflow for asynchronous execution. Returns immediately with a jobId, workflowId, and sessionId. The workflow executes each step in order, passing outputs between steps.
string
required
The workflow to execute.
string
required
The initial input text passed to the first step.
string
UUID of an existing session to associate with this run. A new session is created if omitted.
string
Background job identifier for tracking execution.
string
The workflow that was triggered.
string
The session associated with this run.
Example response

List workflow runs

Returns a paginated list of historical execution records for a workflow, ordered newest first. Returns 200 OK with an empty page if the workflow exists but has no runs yet.
string
required
The workflow whose run history to fetch.
number
default:"0"
Zero-based page index.
number
default:"20"
Number of runs per page. Maximum enforced by server configuration.
object[]
Array of WorkflowRunResponse objects.
Example response

Resume a paused workflow run

Resumes a workflow run that paused at a Human-in-the-Loop step. Provide the human-approved output to inject into the next step. Returns a new jobId for the resumed execution.
string
required
The run identifier of the paused workflow run.
string
required
The human-approved content to pass as input to the next workflow step.
string
Background job identifier for the resumed execution.
string
The run that was resumed.
Example response