Skip to content

Root Workflow Schema

docs.neops.io/schema/RootWorkflow

Represents the root workflow schema, which includes metadata and configuration

Abstract Extensible Status Identifiable Custom Properties Additional Properties Access Restrictions Defined In
Can be instantiated Yes Unknown status No Forbidden Forbidden none RootWorkflow.schema.json

Root Workflow Type

object (Root Workflow)

Root Workflow Properties

Property Type Required Nullable Defined by
$schema string Optional cannot be null Root Workflow
condition string Optional cannot be null Root Workflow
config object Required cannot be null Root Workflow
continueOnError boolean Optional cannot be null Root Workflow
cron array Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
description string Optional cannot be null Root Workflow
hideForExecution boolean Optional cannot be null Root Workflow
id string Required cannot be null Root Workflow
name string Required cannot be null Root Workflow
parameterSchema object Optional cannot be null Root Workflow
parameters object Required cannot be null Root Workflow
repeatConfig Merged Optional cannot be null Root Workflow
retryConfig Merged Optional cannot be null Root Workflow
runOn string Optional cannot be null Root Workflow
steps array Required cannot be null Root Workflow
type string Required cannot be null Root Workflow
version string Required cannot be null Root Workflow

$schema

The JSON schema URI that this document conforms to

$schema

$schema Type

string (Schema URI)

$schema Constraints

URI: the string must be a URI, according to RFC 3986

$schema Examples

"http://json-schema.org/draft-07/schema#"

condition

A JMESPath expression that evaluates to a boolean value

condition

condition Type

string (Condition)

condition Examples

"devices[?state=='active']"

config

Configuration settings for a workflow execution

config

config Type

object (Workflow Configuration)

continueOnError

Whether to continue workflow execution if this step fails. When true, workflow will proceed to next step even if current step fails.

continueOnError

continueOnError Type

boolean (Continue On Error)

continueOnError Examples

false

cron

cron

cron Type

object[] (Cron Configuration)

delay

Delay in seconds before executing this step. Useful for rate limiting or scheduling steps to run after a certain time.

delay

delay Type

number (Execution Delay)

delay Constraints

minimum: the value of this number must greater than or equal to: 0

delay Examples

60

description

description

  • is optional

  • Type: string

  • cannot be null

  • defined in: Root Workflow

description Type

string

hideForExecution

hideForExecution

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: Root Workflow

hideForExecution Type

boolean

id

Unique identifier for the workflow

id

id Type

string (ID)

id Constraints

minimum length: the minimum number of characters for this string is: 1

pattern: the string must match the following regular expression:

^[a-zA-Z0-9_-]+$

try pattern

id Examples

"backup-workflow"

name

Human-readable name for this step

name

name Type

string (Step Name)

name Constraints

maximum length: the maximum number of characters for this string is: 100

minimum length: the minimum number of characters for this string is: 1

name Examples

"Check Interface Status"

parameterSchema

parameterSchema

parameterSchema Type

object (Details)

parameters

Key-value pairs of parameters to pass to the step during execution. Supports dynamic values through JMESPath expressions enclosed in double curly braces. Parameters are specific to each step type and implementation.

parameters

parameters Type

object (Step Parameters)

parameters Default Value

The default value is:

{}

repeatConfig

Optional settings for repeating the step execution multiple times. Null if not repeating.

repeatConfig

repeatConfig Type

merged type (Repeat Configuration)

any of

retryConfig

Retry behavior configuration when step fails

retryConfig

retryConfig Type

merged type (Retry Configuration)

any of

runOn

Types of entities that workflows can operate on

runOn

runOn Type

string (Entity Type)

runOn Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"global"
"device"
"interface"
"group"
"client"

steps

The sequence of steps that comprise this workflow. Each step can be a function block, embedded workflow, or reference to another workflow. At least one step is required.

steps

steps Type

object[] (Workflow Step)

steps Constraints

minimum number of items: the minimum number of items for this array is: 1

type

The type of workflow step. For workflows this is always "workflow"

type

type Type

string (Type)

type Constraints

constant: the value of this property must be equal to:

"workflow"

type Examples

"workflow"

version

Semantic version of the workflow

version

version Type

string (Version)

version Constraints

pattern: the string must match the following regular expression:

^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

try pattern

version Default Value

The default value is:

"0.0.0"

version Examples

"0.0.1"

Root Workflow Definitions

Definitions group Condition

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/Condition"}
Property Type Required Nullable Defined by

Definitions group CronConfiguration

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/CronConfiguration"}
Property Type Required Nullable Defined by
concurrency boolean Required cannot be null Root Workflow
condition string Optional cannot be null Root Workflow
crontab object Required cannot be null Root Workflow
description string Required cannot be null Root Workflow
enabled boolean Required cannot be null Root Workflow
parameters object Required cannot be null Root Workflow
query string Required cannot be null Root Workflow
title string Required cannot be null Root Workflow

concurrency

Whether multiple instances of this scheduled job can run simultaneously

concurrency

concurrency Type

boolean (Allow Concurrency)

concurrency Examples

false

condition

A JMESPath expression that evaluates to a boolean value

condition

condition Type

string (Condition)

condition Constraints

minimum length: the minimum number of characters for this string is: 1

pattern: the string must match the following regular expression:

^[^{}]+$

try pattern

condition Examples

"device_count > 0"

crontab

Configuration for cron-style scheduling following standard cron syntax with seconds precision.

crontab

crontab Type

object (Crontab Configuration)

crontab Examples

{
  "dayOfMonth": "*",
  "dayOfWeek": "1-5",
  "hour": "9",
  "minute": "30",
  "month": "*",
  "second": "0",
  "timezone": "America/New_York"
}

description

Human-readable description of this scheduled job

description

description Type

string (Description)

description Constraints

maximum length: the maximum number of characters for this string is: 500

minimum length: the minimum number of characters for this string is: 1

description Examples

"Daily backup of core routers"

enabled

Whether this scheduled job is active and should be executed

enabled

enabled Type

boolean (Enabled)

enabled Examples

true

parameters

Key-value pairs of parameters that will be passed to the workflow execution

parameters

parameters Type

object (Execution Parameters)

parameters Constraints

minimum number of properties: the minimum number of properties for this object is: 1

parameters Examples

{
  "backupType": "full",
  "retentionDays": 7
}

query

Represents an Elasticsearch query in string format.

query

query Type

string (Elasticsearch Query)

query Examples

"device.hostname: *.lab"

title

Human-readable title for this scheduled job

title

title Type

string (Job Title)

title Constraints

maximum length: the maximum number of characters for this string is: 100

minimum length: the minimum number of characters for this string is: 1

title Examples

"Daily Backup Job"

Definitions group CrontabConfiguration

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/CrontabConfiguration"}
Property Type Required Nullable Defined by
dayOfMonth string Required cannot be null Root Workflow
dayOfWeek string Required cannot be null Root Workflow
hour string Required cannot be null Root Workflow
minute string Required cannot be null Root Workflow
month string Required cannot be null Root Workflow
second string Required cannot be null Root Workflow
timezone string Required cannot be null Root Workflow

dayOfMonth

Specifies the day of month (1-31) when the workflow should run. Supports standard cron syntax.

dayOfMonth

dayOfMonth Type

string (Day of Month)

dayOfWeek

Specifies the day of week (0-6 where 0=Sunday) when the workflow should run. Supports standard cron syntax.

dayOfWeek

dayOfWeek Type

string (Day of Week)

hour

Specifies the hours (0-23) when the workflow should run. Supports standard cron syntax.

hour

hour Type

string (Hours)

minute

Specifies the minutes (0-59) when the workflow should run. Supports standard cron syntax.

minute

minute Type

string (Minutes)

month

Specifies the month (1-12) when the workflow should run. Supports standard cron syntax.

month

month Type

string (Month)

month Examples

"*"

second

Specifies the seconds (0-59) when the workflow should run. Supports standard cron syntax including:

    • (any value)
  • , (value list separator)
    • (range of values)
  • / (step values)

second

second Type

string (Seconds)

timezone

Represents a timezone identifier in IANA Time Zone Database format

timezone

timezone Type

string (Timezone)

timezone Constraints

unknown format: the value of this string must follow the format: timezone

timezone Examples

"America/New_York"
"Europe/Berlin"
"Asia/Tokyo"

Definitions group ElasticQuery

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/ElasticQuery"}
Property Type Required Nullable Defined by

Definitions group EntityType

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/EntityType"}
Property Type Required Nullable Defined by

Definitions group ParametrizedFunctionBlock

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/ParametrizedFunctionBlock"}
Property Type Required Nullable Defined by
condition string Optional cannot be null Root Workflow
continueOnError boolean Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
functionBlockId string Required cannot be null Root Workflow
id string Required cannot be null Root Workflow
name string Required cannot be null Root Workflow
parameters object Required cannot be null Root Workflow
repeatConfig Merged Optional cannot be null Root Workflow
retryConfig Merged Optional cannot be null Root Workflow
runOn string Optional cannot be null Root Workflow
type string Required cannot be null Root Workflow

condition

A JMESPath expression that evaluates to a boolean value

condition

condition Type

string (Condition)

condition Examples

"devices[?state=='active']"

continueOnError

Whether to continue workflow execution if this step fails. When true, workflow will proceed to next step even if current step fails.

continueOnError

continueOnError Type

boolean (Continue On Error)

continueOnError Examples

false

delay

Delay in seconds before executing this step. Useful for rate limiting or scheduling steps to run after a certain time.

delay

delay Type

number (Execution Delay)

delay Constraints

minimum: the value of this number must greater than or equal to: 0

delay Examples

60

functionBlockId

Fully qualified function block identifier in format "package/name:version". Must match the pattern.

functionBlockId

functionBlockId Type

string (Function Block ID)

functionBlockId Constraints

pattern: the string must match the following regular expression:

^([^\/:]+)\/([^\/:]+):[0-9]+(\.[0-9]+)?(\.[0-9]+)?$

try pattern

functionBlockId Examples

"fb.neops.io/ping:1.0.0"

id

Unique identifier for this step configuration. Set explicitly to access the result object on a subsequent step.

id

id Type

string (Step ID)

id Default Value

The default value is:

"random UUID"

id Examples

"ping"
"550e8400-e29b-41d4-a716-446655440000"

name

Human-readable name for this step

name

name Type

string (Step Name)

name Constraints

maximum length: the maximum number of characters for this string is: 100

minimum length: the minimum number of characters for this string is: 1

name Examples

"Check Interface Status"

parameters

Key-value pairs of parameters to pass to the step during execution. Supports dynamic values through JMESPath expressions enclosed in double curly braces. Parameters are specific to each step type and implementation.

parameters

parameters Type

object (Step Parameters)

parameters Default Value

The default value is:

{}

repeatConfig

Optional settings for repeating the step execution multiple times. Null if not repeating.

repeatConfig

repeatConfig Type

merged type (Repeat Configuration)

any of

retryConfig

Retry behavior configuration when step fails

retryConfig

retryConfig Type

merged type (Retry Configuration)

any of

runOn

Types of entities that workflows can operate on

runOn

runOn Type

string (Entity Type)

runOn Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"global"
"device"
"interface"
"group"
"client"

type

Type discriminator for workflow steps. Must be "functionBlock" for this type.

type

type Type

string (Type)

type Constraints

constant: the value of this property must be equal to:

"functionBlock"

type Examples

"functionBlock"

Definitions group RepeatConfiguration

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/RepeatConfiguration"}
Property Type Required Nullable Defined by
condition Merged Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
repeats number Optional cannot be null Root Workflow

condition

Condition that must remain true for repeating to continue (overrides repeats count)

condition

condition Type

merged type (Repeat Condition)

any of

delay

Delay in seconds between iterations

delay

delay Type

number (Iteration Delay)

delay Constraints

maximum: the value of this number must smaller than or equal to: 600

minimum: the value of this number must greater than or equal to: 0

delay Examples

100

repeats

Fixed number of times to repeat the operation

repeats

repeats Type

number (Repeats Count)

repeats Constraints

maximum: the value of this number must smaller than or equal to: 100

minimum: the value of this number must greater than or equal to: 1

repeats Examples

5

Definitions group RetryConfiguration

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/RetryConfiguration"}
Property Type Required Nullable Defined by
condition Merged Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
maxRetries number Required cannot be null Root Workflow

condition

Optional JMESPath condition that must be true to allow retry

condition

condition Type

merged type (Retry Condition)

any of

delay

Optional delay in seconds between retry attempts

delay

delay Type

number (Retry Delay)

delay Constraints

maximum: the value of this number must smaller than or equal to: 600

minimum: the value of this number must greater than or equal to: 0

delay Examples

100

maxRetries

Maximum number of retry attempts (1-100)

maxRetries

maxRetries Type

number (Max Retries)

maxRetries Constraints

maximum: the value of this number must smaller than or equal to: 100

minimum: the value of this number must greater than or equal to: 1

maxRetries Examples

3

Definitions group Timezone

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/Timezone"}
Property Type Required Nullable Defined by

Definitions group Workflow

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/Workflow"}
Property Type Required Nullable Defined by
condition string Optional cannot be null Root Workflow
config object Required cannot be null Root Workflow
continueOnError boolean Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
id string Required cannot be null Root Workflow
name string Required cannot be null Root Workflow
parameters object Required cannot be null Root Workflow
repeatConfig Merged Optional cannot be null Root Workflow
retryConfig Merged Optional cannot be null Root Workflow
runOn string Optional cannot be null Root Workflow
steps array Required cannot be null Root Workflow
type string Required cannot be null Root Workflow

condition

A JMESPath expression that evaluates to a boolean value

condition

condition Type

string (Condition)

condition Examples

"devices[?state=='active']"

config

Configuration settings for a workflow execution

config

config Type

object (Workflow Configuration)

continueOnError

Whether to continue workflow execution if this step fails. When true, workflow will proceed to next step even if current step fails.

continueOnError

continueOnError Type

boolean (Continue On Error)

continueOnError Examples

false

delay

Delay in seconds before executing this step. Useful for rate limiting or scheduling steps to run after a certain time.

delay

delay Type

number (Execution Delay)

delay Constraints

minimum: the value of this number must greater than or equal to: 0

delay Examples

60

id

Unique identifier for this step configuration. Set explicitly to access the result object on a subsequent step.

id

id Type

string (Step ID)

id Default Value

The default value is:

"random UUID"

id Examples

"ping"
"550e8400-e29b-41d4-a716-446655440000"

name

Human-readable name for this step

name

name Type

string (Step Name)

name Constraints

maximum length: the maximum number of characters for this string is: 100

minimum length: the minimum number of characters for this string is: 1

name Examples

"Check Interface Status"

parameters

Key-value pairs of parameters to pass to the step during execution. Supports dynamic values through JMESPath expressions enclosed in double curly braces. Parameters are specific to each step type and implementation.

parameters

parameters Type

object (Step Parameters)

parameters Default Value

The default value is:

{}

repeatConfig

Optional settings for repeating the step execution multiple times. Null if not repeating.

repeatConfig

repeatConfig Type

merged type (Repeat Configuration)

any of

retryConfig

Retry behavior configuration when step fails

retryConfig

retryConfig Type

merged type (Retry Configuration)

any of

runOn

Types of entities that workflows can operate on

runOn

runOn Type

string (Entity Type)

runOn Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"global"
"device"
"interface"
"group"
"client"

steps

The sequence of steps that comprise this workflow. Each step can be a function block, embedded workflow, or reference to another workflow. At least one step is required.

steps

steps Type

object[] (Workflow Step)

steps Constraints

minimum number of items: the minimum number of items for this array is: 1

type

The type of workflow step. For workflows this is always "workflow"

type

type Type

string (Type)

type Constraints

constant: the value of this property must be equal to:

"workflow"

type Examples

"workflow"

Definitions group WorkflowConfig

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/WorkflowConfig"}
Property Type Required Nullable Defined by
executionStrategy object Required cannot be null Root Workflow

executionStrategy

Defines how a workflow should be executed

executionStrategy

executionStrategy Type

object (Workflow Execution Strategy)

Definitions group WorkflowExecutionStrategy

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/WorkflowExecutionStrategy"}
Property Type Required Nullable Defined by
notYetImplemented string Optional cannot be null Root Workflow

notYetImplemented

notYetImplemented

notYetImplemented Type

string (not yet implemented)

Definitions group WorkflowReference

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/WorkflowReference"}
Property Type Required Nullable Defined by
condition string Optional cannot be null Root Workflow
continueOnError boolean Optional cannot be null Root Workflow
delay number Optional can be null Root Workflow
id string Required cannot be null Root Workflow
name string Required cannot be null Root Workflow
parameters object Required cannot be null Root Workflow
repeatConfig Merged Optional cannot be null Root Workflow
retryConfig Merged Optional cannot be null Root Workflow
runOn string Optional cannot be null Root Workflow
strategy string Required cannot be null Root Workflow
type string Required cannot be null Root Workflow
workflowId string Required cannot be null Root Workflow

condition

A JMESPath expression that evaluates to a boolean value

condition

condition Type

string (Condition)

condition Examples

"devices[?state=='active']"

continueOnError

Whether to continue workflow execution if this step fails. When true, workflow will proceed to next step even if current step fails.

continueOnError

continueOnError Type

boolean (Continue On Error)

continueOnError Examples

false

delay

Delay in seconds before executing this step. Useful for rate limiting or scheduling steps to run after a certain time.

delay

delay Type

number (Execution Delay)

delay Constraints

minimum: the value of this number must greater than or equal to: 0

delay Examples

60

id

Unique identifier for this step configuration. Set explicitly to access the result object on a subsequent step.

id

id Type

string (Step ID)

id Default Value

The default value is:

"random UUID"

id Examples

"ping"
"550e8400-e29b-41d4-a716-446655440000"

name

Human-readable name for this step

name

name Type

string (Step Name)

name Constraints

maximum length: the maximum number of characters for this string is: 100

minimum length: the minimum number of characters for this string is: 1

name Examples

"Check Interface Status"

parameters

Key-value pairs of parameters to pass to the step during execution. Supports dynamic values through JMESPath expressions enclosed in double curly braces. Parameters are specific to each step type and implementation.

parameters

parameters Type

object (Step Parameters)

parameters Default Value

The default value is:

{}

repeatConfig

Optional settings for repeating the step execution multiple times. Null if not repeating.

repeatConfig

repeatConfig Type

merged type (Repeat Configuration)

any of

retryConfig

Retry behavior configuration when step fails

retryConfig

retryConfig Type

merged type (Retry Configuration)

any of

runOn

Types of entities that workflows can operate on

runOn

runOn Type

string (Entity Type)

runOn Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"global"
"device"
"interface"
"group"
"client"

strategy

Execution strategy for referenced workflow

strategy

strategy Type

string (Execution Strategy)

strategy Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"dispatch"
"embed"

strategy Examples

"dispatch"
"embed"

type

The type discriminator for this workflow step

type

type Type

string (Step Type)

type Constraints

constant: the value of this property must be equal to:

"workflowReference"

type Examples

"workflowReference"

workflowId

The ID of the workflow being referenced

workflowId

workflowId Type

string (Referenced Workflow ID)

workflowId Constraints

minimum length: the minimum number of characters for this string is: 1

workflowId Examples

"network-health-check"

Definitions group WorkflowStep

Reference this group by using

{"$ref":"docs.neops.io/schema/RootWorkflow#/definitions/WorkflowStep"}
Property Type Required Nullable Defined by
type Not specified Required cannot be null Root Workflow

type

type

  • is required

  • Type: unknown

  • cannot be null

  • defined in: Root Workflow

type Type

unknown

type Constraints

enum: the value of this property must be equal to one of the following values:

Value Explanation
"workflow"
"workflowReference"
"functionBlock"