Skip to main content
GET
Get workflow by ID

Authorizations

x-api-key
string
header
required

API key for authentication

Path Parameters

workflowId
string
required

ID of the workflow to retrieve

Response

Workflow details retrieved successfully

id
string

Unique identifier for the workflow

name
string

Name of the workflow

description
string

Description of the workflow

state
enum<string>

Persisted workflow lifecycle state. DRAFT = workflow exists but setup is incomplete, ACTIVE = workflow is enabled, PAUSED = user paused it, DELETED = soft deleted.

Available options:
ACTIVE,
DRAFT,
ERROR,
PAUSED,
NOT_SUPPORTED,
PREVIEW,
COMPLIANCE_REVIEW,
COMPLIANCE_REJECTED,
QUEUED,
SETUP,
DELETED
displayState
enum<string>

Computed status shown to users. Combines state + runState. DRAFT = workflow exists but setup is incomplete, ACTIVE = complete/scheduled, RUNNING = job in progress, VALIDATING = run is held for QA review before data delivery, FAILED = last run failed, DEGRADED = monitor experiencing issues (15-60 min stale).

Available options:
ACTIVE,
DRAFT,
ERROR,
PAUSED,
NOT_SUPPORTED,
PREVIEW,
QUEUED,
SETUP,
PENDING_START,
RUNNING,
VALIDATING,
FAILED,
DEGRADED,
COMPLIANCE_REVIEW,
COMPLIANCE_REJECTED,
DELETED
userId
string

ID of the user who owns the workflow

createdAt
string<date-time>

Timestamp when the workflow was created

updateInterval
string

Update frequency

isRealTime
boolean

Whether this workflow should be displayed as realtime

lastDataChangedAt
string<date-time> | null

Most recent persisted customer-visible data change for a real-time workflow

schedules
string[]

Cron schedules for updates

scheduleTimezone
string

IANA timezone used to evaluate cron schedules

Example:

"America/New_York"

nextInvocation
string<date-time>

Next scheduled execution time

monitoring
boolean

Whether monitoring is enabled

location
object

Scraping location configuration

tags
string[]

Tags associated with the workflow

schemaName
string

Name of the schema used

schemaId
string

ID of the schema used

templateName
string | null

Name of the linked workflow template

templateId
string | null

ID of the linked workflow template

templateVersion
integer | null

Applied template version

templateHasPrompt
boolean

Whether the template controls the workflow prompt

templateHasSchema
boolean

Whether the template controls the extraction schema

templateHasSchemaValidationRules
boolean

Whether the template controls schema validation rules

templateHasNotifications
boolean

Whether the template controls notification settings

templateHasFrequency
boolean

Whether the template controls schedule/frequency

hasSchemaValidationRules
boolean

Whether this workflow has schema validation rules

channelCounts
object

Notification channel counts grouped by channel type

jobId
string

ID of the last job

isFirstRun
boolean

Whether the workflow has not completed a regular run yet

dataQualityIssues
integer

Number of data-quality issues in the latest finished run

finishedAt
string<date-time>

When the last job finished

startedAt
string<date-time>

When the last job started

estimatedFinishedAtUtc
string<date-time> | null

Estimated UTC finish time for the active job, when available.

dataKey
string

Database key for the workflow data

errors
object[]

Errors from the last job run

runCosts
number

Cost of the last job run in credits

runState
enum<string>

Latest job execution state. RUNNING = job in progress, FINISHED = completed successfully, FAILED = job failed.

Available options:
RUNNING,
FINISHED,
FAILED
totalRecords
integer

Total number of records extracted

url
string

Primary URL being scraped

urls
string[]

List of URLs being scraped

browserActions
object[]

Optional browser actions to perform before extraction

maxDepth
integer

Maximum crawl depth (default: 50, max: 200).

Required range: 1 <= x <= 200
maxPages
integer

Maximum pages to crawl (default: 10,000, max: 100,000).

Required range: 1 <= x <= 100000
schema
object[]

Extraction schema fields

entity
string

Canonical extracted entity name

extractionSpec
object

Canonical extraction intent for Assistant-built workflows

dataStale
boolean

Whether batch workflow data predates the current canonical configuration/build

isSchemaEditable
boolean

Whether the schema can be edited

limit
integer

Maximum number of items to scrape

additionalData
object

Additional static data for the workflow

dataValidation
object

Data validation configuration

validationStatistics
object

Validation statistics

notificationConfig
object | null

Current monitoring configuration. Use these values as the basis for replacement updates.

openSupportRequests
object[]

List of open support requests for this workflow. Only present when there are open requests.

observerHealth
object | null

Health status for REAL_TIME observer workflows. Only present when health monitoring is active and detects issues.

extractionStrategySummary
object | null

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.

assistantSessionId
string | null

Newest assistant session linked to this workflow, regardless of status. Null if no assistant session has been created for this workflow.

assistantThreadId
string | null

Newest assistant thread within the assistant session.

assistantEligible
boolean

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.

sessionStatus
enum<string> | null

Status of the linked assistant session. Useful for deciding whether the Assistant can accept new input (failed/errored/aborted/timed_out are closed).

Available options:
pending,
created,
active,
idle,
inactive,
failed,
interrupted,
errored,
aborted,
timed_out