Processing
Actively starting or running
Paused
Temporarily suspended
Awaiting
Waiting for user input
Terminal
Finished (final states)
Status Types
Processing Statuses
These statuses indicate that the execution is actively being processed or is in the process of starting.starting
The execution has been initiated but hasn’t begun actual processing yet. This is the initial state when you trigger an agent execution.
Can transition to: running, failed, cancelled, completed
running
The execution is actively processing and executing agent logic. The agent is navigating pages, interacting with elements, or making decisions.
Can transition to: paused, cancelled, awaiting_confirmation, completed, failed
Paused Statuses
These statuses indicate that execution has been temporarily suspended and can be resumed later.paused
The execution has been paused by user request. This is useful when you need to temporarily halt an execution without cancelling it entirely.
Can transition to: cancelled, running
User-initiated pauses allow you to safely suspend execution and resume later without losing progress.
paused_by_agent
The execution has been paused by the agent itself, typically when waiting for some condition or resource to become available.
Can transition to: cancelled, running
Awaiting Statuses
awaiting_confirmation
The execution is waiting for user confirmation before proceeding. This status is used when the agent needs explicit user approval to continue with a sensitive or important action.
Can transition to: completed, cancelled, failed, running
Terminal Statuses
These statuses indicate that the execution has finished and cannot transition to any other state. They represent the final outcome of an execution.completed
The execution finished successfully. The agent completed all its tasks and reached an Output node with a success outcome.
Can transition to: None (terminal state)
failed
The execution encountered an error and could not complete. This could be due to unexpected page states, missing elements, timeouts, or other runtime errors.
Can transition to: None (terminal state)
cancelled
The execution was cancelled by user request or system intervention. Work stopped before completion.
Can transition to: None (terminal state)
State Transitions
The status system enforces a strict state machine to maintain data integrity and ensure executions follow valid lifecycle paths.Valid Transition Rules
Key Transition Constraints
-
Terminal states are final – Once an execution reaches
completed,failed, orcancelled, it cannot transition to any other state. -
Starting is flexible – From
starting, the execution typically moves torunning, but can go directly to terminal states if initialization fails or is cancelled. -
Running is the hub – The
runningstate is the most flexible and can transition to paused states, awaiting confirmation, or any terminal state.
User-Initiated Status Changes
You can control execution flow by updating the execution status through the API.Pause
Pausing an execution temporarily suspends it, allowing you to inspect its current state or coordinate with other systems. The execution can be resumed later from where it left off. When to use:- Need to temporarily halt execution
- Want to inspect current state before continuing
- Coordinating with other systems or processes
Resume
Resume a paused execution to continue processing from where it stopped.Cancel
Cancelling an execution stops it permanently and transitions it to a terminal state. Cancel requests take priority over pause requests. When to use:- Execution is no longer needed
- Detected an error condition
- User wants to stop the automation
If a pause request is pending and you issue a cancel request, the cancel will take priority and the execution will be cancelled instead of paused.
Monitoring Execution Status
There are two primary ways to monitor execution status:Polling for Status Updates
You can poll the execution status endpoint to monitor progress. Check the status field to determine if the execution is still processing, has completed, or encountered an error. Status categories for monitoring:- Processing:
starting,running - Paused:
paused,paused_by_agent - Awaiting:
awaiting_confirmation - Terminal:
completed,failed,cancelled
Webhook Notifications
For real-time status updates, configure webhooks to receive notifications when execution status changes. This is more efficient than polling, especially for long-running executions. Learn more about webhooks in the Integrations section.Best Practices
1. Always Check Status Before Operations
Before attempting to send messages or modify an execution, verify it’s not in a terminal state. Operations on completed, failed, or cancelled executions will fail.2. Handle All Terminal States
When monitoring executions, handle all three terminal states appropriately:completed: Extract results and proceed with your workflowfailed: Log the error, trigger retry logic, or send alertscancelled: Clean up resources and notify relevant systems
3. Distinguish Between Pause Types
Track whether a pause was user-initiated or agent-initiated for proper UI/UX:paused: User-initiated - show “Resume” controlspaused_by_agent: Agent-initiated - display “Agent is waiting…” message

