Overview
After creating a task, you’ll want to monitor its progress, check its status, and retrieve results. Skyvern provides multiple ways to track and inspect task runs through the SDK, API, and web UI.Task Run Lifecycle
Every task goes through a series of states during execution:Status Values
| Status | Description |
|---|---|
created | Task has been created but not yet queued |
queued | Task is waiting to be executed |
running | Task is currently executing |
completed | Task finished successfully |
failed | Task encountered an error and failed |
terminated | Task was terminated due to specific conditions |
timed_out | Task exceeded the maximum allowed time |
canceled | Task was manually canceled |
Final States
These statuses indicate the task has finished:completedfailedterminatedtimed_outcanceled
Monitoring with Python SDK
Wait for Completion
The simplest way to monitor a task is to usewait_for_completion:
Poll Manually
For more control, create a task and poll its status:Check Run Status
Retrieve detailed information about a specific run:Monitoring with TypeScript SDK
Monitoring via REST API
Get Run Status
Response
Viewing Artifacts
Screenshots
Access screenshots taken during task execution:Recording
View the full browser recording of the task:Downloaded Files
Access files downloaded during the task:Error Information
Check for errors if the task failed:Monitoring in the Web UI
Access the UI
Every task has anapp_url that links to the Skyvern web interface:
UI Features
- Live Streaming: Watch the browser in real-time as the task executes
- Step-by-step View: See each action taken by Skyvern
- Screenshots: View screenshots at each step
- Recordings: Play back the full execution
- Extracted Data: View formatted output data
- Error Details: Debug failures with detailed error messages
- Timeline: See exact timestamps for each action
Using Webhooks
Instead of polling, receive automatic notifications when tasks complete:Webhook Payload
When the task finishes, Skyvern sends a POST request to your webhook URL:Performance Metrics
Execution Time
Calculate how long a task took:Step Count
Monitor how many steps were taken:Advanced: Livestreaming
Skyvern supports livestreaming the browser viewport in real-time. This is available through the web UI when viewing a running task. To access livestreaming:- Create a task and note the
run_id - Navigate to
https://app.skyvern.com/tasks/{run_id} - Click the “Live View” button while the task is running
- Watch the browser in real-time
- Debug issues as they happen
- Intervene manually if needed (on certain plans)
Best Practices
1. Set Appropriate Timeouts
2. Handle All Status Cases
3. Use Webhooks for Long-Running Tasks
4. Store Run IDs for Later Reference
5. Monitor Step Count vs. Max Steps
Troubleshooting
Task Stuck in “Queued”
- Check your account’s concurrent task limit
- Verify your API key is valid
- Contact support if issue persists
Task Fails Immediately
- Check the
failure_reasonfield - Verify the URL is accessible
- Review error_code_mapping if used
- Check screenshots for visual clues
Task Times Out
- Increase
max_stepsif hitting the step limit - Simplify the task prompt
- Break complex tasks into smaller steps
- Use workflows for multi-step processes
No Output Data
- Ensure
data_extraction_schemais provided - Verify the schema matches the page content
- Check if task completed successfully
- Review screenshots to confirm data is visible
Next Steps
Creating Tasks
Learn how to create and run tasks
Webhooks
Set up webhook notifications for task completion