app-automation_studio Schemas

On this page:

workflowDocument

{ "$id": "workflowDocument", "title": "workflow document", "description": "Third generation workflow document as it exists in the database", "type": "object", "properties": { "_id": { "type": "string", "pattern": "^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" }, "uuid": { "type": "string", "pattern": "^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" }, "namespace": { "$ref": "projects-common#/definitions/projectComponentNamespace" }, "name": { "$ref": "#/definitions/workflowName" }, "type": { "type": "string", "default": "automation" }, "description": { "oneOf": [ { "type": "string", "examples": [ "Port Turn Up IOS", "Push Config to Device" ] }, { "type": "null" } ] }, "preAutomationTime": { "type": "integer", "title": "Pre automation time of automation", "description": "Time (milliseconds) automation would have taken someone to complete without using IAP.", "examples": [ 5000, 250000 ] }, "sla": { "type": "integer" }, "tasks": { "type": "object", "properties": { "workflow_start": { "type": "object", "allOf": [ { "properties": { "name": { "type": "string", "pattern": "^workflow_start$" }, "summary": { "type": "string", "pattern": "^workflow_start$" }, "groups": { "$ref": "#/definitions/groups" } } }, { "$ref": "#/definitions/taskPosition" } ] }, "workflow_end": { "type": "object", "allOf": [ { "properties": { "name": { "type": "string", "pattern": "^workflow_end$" }, "summary": { "type": "string", "pattern": "^workflow_end$" }, "groups": { "$ref": "#/definitions/groups" } } }, { "$ref": "#/definitions/taskPosition" } ] }, "error_handler": { "description": "Deprecated gen2-specific feature", "allOf": [ { "$ref": "#/definitions/operationTask" }, { "type": "object", "properties": { "name": { "const": "childJob" } } } ] } }, "patternProperties": { "^[0-9a-f]{1,4}$": { "$ref": "#/definitions/anyTask" } }, "required": [ "workflow_start", "workflow_end" ], "additionalProperties": false }, "transitions": { "type": "object", "properties": { "workflow_start": { "type": "object" }, "workflow_end": { "type": "object" }, "error_handler": { "type": "object" } }, "patternProperties": { "^[0-9a-f]{1,4}$": { "type": "object" } }, "required": [ "workflow_start", "workflow_end" ], "additionalProperties": false }, "errorHandler": { "description": "Deprecated gen2-specific feature", "oneOf": [ { "type": "null" }, { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" } } } ] }, "font_size": { "description": "Deprecated, unused, gen1-specific feature", "type": "integer", "default": 12, "minimum": 6, "maximum": 24 }, "groups": { "$ref": "#/definitions/groups" }, "created": { "type": "string", "format": "date-time", "examples": [ "2024-03-13T18:21:15.352Z" ] }, "created_by": { "$ref": "#/definitions/user" }, "createdVersion": { "type": "string", "examples": [ "5.40.5-2021.1.72.0" ] }, "last_updated": { "type": "string", "format": "date-time", "examples": [ "2024-03-13T18:21:15.352Z" ] }, "last_updated_by": { "$ref": "#/definitions/user" }, "lastUpdatedVersion": { "type": "string", "description": "This value represents the semantic version of the application that last modified it. For workflows with canvasVersion = 1, this field will refer to the version of Workflow Builder. For workflows with canvasVersion > 1, this field will refer to the version of Studio.", "examples": [ "4.69.69" ] }, "tags": { "type": "array", "items": { "type": "string" } }, "canvasVersion": { "type": "number", "const": 3 }, "encodingVersion": { "type": "integer", "enum": [ 1 ] }, "inputSchema": { "type": "object" }, "outputSchema": { "type": "object" }, "outputData": { "description": "Deprecated gen2-specific feature", "type": "object", "additionalProperties": { "type": "object", "properties": { "taskId": { "type": "string", "pattern": "^[0-9a-f]{1,4}$" }, "taskPointer": { "type": "string", "format": "json-pointer" } } } }, "decorators": { "$ref": "#/definitions/decorators" }, "migrationVersion": { "type": "integer", "minimum": 0 } }, "additionalProperties": false, "required": [ "name", "type", "tasks", "transitions", "groups", "canvasVersion" ], "definitions": { "workflowName": { "type": "string", "examples": [ "Port Turn Up IOS", "Push Config to Device", "Command Template Runner" ] }, "ObjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }, "groups": { "type": "array", "items": { "$ref": "#/definitions/ObjectId" } }, "user": { "$ref": "#/definitions/ObjectId" }, "taskPosition": { "type": "object", "properties": { "nodeLocation": { "type": "object", "description": "Stores the coordinates used by canvasVersion: 3 workflows", "properties": { "x": { "type": "number" }, "y": { "type": "number" } } } } }, "decorators": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "encryption" ] }, "pointer": { "type": "string", "format": "json-pointer" } } } }, "taskBase": { "allOf": [ { "$ref": "#/definitions/taskPosition" }, { "type": "object", "properties": { "name": { "type": "string" }, "summary": { "type": "string" }, "description": { "type": "string" }, "app": { "type": "string" }, "variables": { "type": "object", "properties": { "incoming": { "type": "object" }, "outgoing": { "type": "object" }, "error": { "type": "string", "pattern": "" }, "decorators": { "$ref": "#/definitions/decorators" } }, "required": [ "incoming", "outgoing" ] }, "deprecated": { "type": "boolean" }, "scheduled": { "type": "boolean" }, "groups": { "$ref": "#/definitions/groups" } }, "required": [ "name", "summary", "description", "app", "variables", "groups" ] } ] }, "manualTask": { "allOf": [ { "$ref": "#/definitions/taskBase" }, { "type": "object", "properties": { "type": { "type": "string", "const": "manual" }, "view": { "type": "string" }, "groups": { "$ref": "#/definitions/groups" }, "sla": { "type": "integer", "title": "Task SLA", "description": "Service level agreement for time (milliseconds) that should be spent working manual task.", "examples": [ "3600000" ] } }, "required": [ "type", "view", "groups" ] } ] }, "automaticTask": { "allOf": [ { "$ref": "#/definitions/taskBase" }, { "type": "object", "properties": { "type": { "type": "string", "const": "automatic" }, "actor": { "type": "string" }, "retrySettings": { "oneOf": [ { "$ref": "#/definitions/retrySettings" }, { "type": "null" } ] } }, "required": [ "type", "actor" ] } ] }, "operationTask": { "allOf": [ { "$ref": "#/definitions/taskBase" }, { "type": "object", "properties": { "type": { "type": "string", "const": "operation" }, "retrySettings": { "oneOf": [ { "$ref": "#/definitions/retrySettings" }, { "type": "null" } ] } }, "required": [ "type" ] } ] }, "anyTask": { "oneOf": [ { "$ref": "#/definitions/manualTask" }, { "$ref": "#/definitions/automaticTask" }, { "$ref": "#/definitions/operationTask" } ] }, "retrySettings": { "type": "object", "title": "Retry Settings", "description": "Retry settings for a task.", "required": [ "state", "autoRetry", "limit", "delay" ], "properties": { "state": { "type": "array", "title": "State", "description": "Finish states the task will retry on. The task will retry on any of the included states.", "items": { "type": "string", "enum": [ "success", "error", "failure" ] } }, "autoRetry": { "type": "boolean", "title": "Auto Retry", "description": "Whether the task is set to retry automatically or manually." }, "limit": { "type": "integer", "title": "Limit", "description": "Limit of retries on a task before it will take normal transitions and stop retrying.", "examples": [ 10, 20 ] }, "delay": { "type": "integer", "title": "Delay", "description": "Delay between each retry in milliseconds.", "examples": [ 1000, 2000 ] }, "count": { "type": "integer", "title": "Count", "description": "Current retry count used for workflow engine job processing", "examples": [ 5 ] } }, "additionalProperties": false } } }