Get workflow by ID
Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions.
Authorizations
API key for authentication
Path Parameters
ID of the workflow to retrieve
Response
Workflow details retrieved successfully
Unique identifier for the workflow
Name of the workflow
Description of the workflow
Persisted state of the long-lived workflow. It may describe setup or a control state such as ACTIVE or PAUSED. Use displayState for operational status UI.
ACTIVE, DRAFT, ERROR, PAUSED, NOT_SUPPORTED, PREVIEW, COMPLIANCE_REVIEW, COMPLIANCE_REJECTED, QUEUED, SETUP, DELETED Computed operational summary based on workflow state, the latest run, and monitor health. It does not indicate pending user input or support ownership; use awaitingUserInput and inSupport for those. ACTIVE may be presented as Complete, Scheduled, or Running depending on workflow type and schedule.
ACTIVE, DRAFT, ERROR, PAUSED, NOT_SUPPORTED, PREVIEW, QUEUED, SETUP, PENDING_START, RUNNING, VALIDATING, FAILED, DEGRADED, COMPLIANCE_REVIEW, COMPLIANCE_REJECTED, DELETED, STOPPED Why the latest run is being verified. Only present while displayState is VALIDATING.
COMPLIANCE_REVIEW, HARD_FAIL, BLOCKED, TRANSFORMATION_REPAIR_REQUIRED, MINIMUM_HUMAN_APPROVALS, DATA_QUALITY_SCHEMA_ADHERENCE, DATA_QUALITY_SCHEMA_VALIDATION, DATA_QUALITY_COMPLETENESS, DATA_QUALITY_SEMANTIC_PLAUSIBILITY, ROW_COUNT_CHANGED, WORKFLOW_REVISION_DRIFT, ZERO_RESULTS ID of the user who owns the workflow
Display name of the workflow owner
Email of the workflow owner
Timestamp when the workflow was created
Update frequency
Whether this workflow should be displayed as realtime
Most recent persisted customer-visible data change for a real-time workflow
Cron schedules for updates
IANA timezone used to evaluate cron schedules
"America/New_York"
Next scheduled execution time
Whether monitoring is enabled
Scraping location configuration
Tags associated with the workflow
Name of the schema used
ID of the schema used
Name of the linked workflow template
ID of the linked workflow template
Applied template version
Whether the template controls the workflow prompt
Whether the template controls the extraction schema
Whether the template controls schema validation rules
Whether the template controls notification settings
Whether the template controls schedule/frequency
Whether the template controls the output record limit
Whether this workflow has schema validation rules
Notification channel counts grouped by channel type
ID of the latest operational run attempt
ID of the latest finished run that supplies customer-visible data
Whether the workflow has not completed a regular run yet
Number of data-quality issues in the latest finished run
When the last job finished
When the last job started
Estimated UTC finish time for the active job, when available.
Database key for the workflow data
Errors from the last job run
Cost of the last job run in credits
State of the latest execution attempt. Use this for run diagnostics or workflow history, not as the workflow lifecycle or status label.
RUNNING, FINISHED, FAILED, STOPPED Total number of records extracted
Primary URL being scraped
List of URLs being scraped
Optional browser actions to perform before extraction
Maximum crawl depth (default: 50, max: 200).
1 <= x <= 200Maximum pages to crawl (default: 10,000, max: 100,000).
1 <= x <= 100000Extraction schema fields
Canonical extracted entity name
Canonical extraction intent for Assistant-built workflows
Whether batch workflow data predates the current canonical configuration/build
Whether the schema can be edited
Maximum number of items to scrape
Additional static data for the workflow
Data validation configuration
Validation statistics
Current monitoring configuration. Use these values as the basis for replacement updates.
List of open support requests for this workflow. Only present when there are open requests.
True when Kadoa support has an open ticket on this workflow. Same predicate as the inSupport query filter. Independent of state/displayState: this answers who is handling the workflow, while displayState answers whether it is delivering data. Prefer this over recomputing from openSupportRequests.
Health status for monitored workflows. Only present when health monitoring is active and detects issues.
Customer-safe extraction strategy for custom SCRIPT workflows without an Assistant build. Omitted for Assistant-owned workflows, whose current strategy is available from the Agent strategy endpoint.
Newest assistant session linked to this workflow, regardless of status. Null if no assistant session has been created for this workflow.
Newest assistant thread within the assistant session.
True when this workflow's lane supports the assistant (SHELLY_SCRIPT or SHELLY_REAL_TIME_SCRIPT). Independent of assistantSessionId; combine with !assistantSessionId for start-vs-continue.
Low-level status of the latest Assistant conversation. Use it only to decide whether that conversation can accept input. Do not infer workflow progress or whether a reply is needed; use displayState and awaitingUserInput instead.
pending, active, idle, inactive, failed, interrupted, errored, aborted, timed_out Present when the workflow cannot progress without the requesting user's next input. Scoped to that user; do not infer this from sessionStatus.