Understanding Workflow Status
When you view a workflow in the dashboard or API, you’ll see a status that tells you what’s happening. This status is computed from two underlying values.
What You See (displayState)
The status shown in the dashboard:
| Status | Meaning |
|---|
| Complete | Last run finished successfully, no future runs scheduled |
| Scheduled | Last run finished successfully, future runs are scheduled |
| Running | A job is currently extracting data |
| Failed | Last run encountered an error |
| Paused | Workflow is paused (by you or due to insufficient credits) |
| Pending Review | Sample data ready for your review |
| Sample Processing | Kadoa is generating your scraper |
API Response Fields
The API returns three state-related fields:
{
"state": "ACTIVE",
"runState": "FINISHED",
"displayState": "ACTIVE"
}
| Field | Purpose | When to Use |
|---|
displayState | What users see in the dashboard | Use this for filtering and display |
state | Workflow lifecycle (enabled/paused/deleted) | Admin operations |
runState | Latest job result (running/finished/failed) | Job-level debugging |
Filtering Workflows
When filtering workflows via the API, use the displayState parameter:
# Get all completed/scheduled workflows (both show as displayState=ACTIVE)
GET /v4/workflows?displayState=ACTIVE
# Get failed workflows
GET /v4/workflows?displayState=FAILED
# Get paused workflows
GET /v4/workflows?displayState=PAUSED
# Get workflows pending review
GET /v4/workflows?displayState=PREVIEW
displayState is computed by combining state and runState. For example, a workflow with state=ACTIVE and runState=FAILED will have displayState=FAILED.