Skip to main content

Workspace.Workflows.Validation

Tags: automation, workflows

Endpoints

Route Dry Run

GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/route-dry-run

Description:

Workflow creation and management

Trace automatic routing for a Chat without performing the transition.

Replays the same routing logic the platform uses at the next turn, but does not change Assignment state. Use this to see which child Task would be selected for a given Chat and optional task overrides.

Path parameters

  • workflow_id: Workflow to evaluate.

Query parameters

  • chat_id: Chat on an Assignment in that Workflow.
  • current_task_id (optional): Override the active Task for evaluation.
  • current_assignment_task_id (optional): Override the active Assignment Task for evaluation.

Response: Task and Assignment identifiers, candidate child Task IDs, the winning child Task ID when one is selected, and errorType when evaluation fails. CEL expressions, form values, Member fields, Chat content, and raw error messages are not returned.

Permissions: Workflow edit access on workflow_id and read access to chat_id (Assignment owner or chats:read scope). Read-only Workflow access is not sufficient because the trace exposes routing topology and Task IDs.

Authentication: Requires workspace member

Parameters:

  • workflow_id (Integer)
  • chat_id (Integer)
  • current_task_id (Integer)
  • current_assignment_task_id (Integer)

Response: See WorkflowRouteDryRunResponse


Validate Access

GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/validate-access

Description:

Workflow creation and management

Validate that roles with workflow access also have access to dependency resources.

Checks all abilities on the workflow and its tasks, then verifies that each role with workflow USE access also has access to the forms, files, folders, and calendars referenced by those abilities. Each ability type defines its own validation logic via the AbilityRegistry.

Path Parameters:

  • workflow_id: Unique identifier of the workflow (integer)

Response: Returns a WorkflowAccessValidationResponse containing:

  • warnings: Array of WorkflowAccessWarning objects describing missing access

Permissions: Requires valid workspace membership and "edit" permission on the workflow.

Authentication: Requires workspace member

Parameters:

  • workflow_id (Integer)

Response: See WorkflowAccessValidationResponse


Validate Config

GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/validate-config

Description:

Workflow creation and management

Validate that this workflow's abilities reference live workspace resources.

Calls collect_config_issues on every ability (enabled or not) and aggregates non-blocking diagnostics (for example, files or folders that were deleted after the ability was saved). Runtime resolution stays resilient regardless — this route exists to surface drift to operators before they re-enable something or save an unrelated change that would drag broken config along with it.

Path Parameters:

  • workflow_id: Unique identifier of the workflow (integer)

Response: Returns a WorkflowConfigValidationResponse containing:

  • issues: Array of AbilityConfigIssue entries describing config drift

Permissions: Requires valid workspace membership and "edit" permission on the workflow.

Authentication: Requires workspace member

Parameters:

  • workflow_id (Integer)

Response: See WorkflowConfigValidationResponse