JSON Schema
https://compozy.dev/schemas/workflows.json
{
"type": "object",
"required": ["name", "version", "tasks"],
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow"
},
"version": {
"type": "string",
"description": "Version of the workflow"
},
"description": {
"type": "string",
"description": "Description of what the workflow does"
},
"input": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Data type of the input field"
},
"required": {
"type": "boolean",
"description": "Whether the field is required"
},
"default": {
"description": "Default value if not provided"
},
"description": {
"type": "string",
"description": "Description of the input field"
}
},
"required": ["type"]
}
}
},
"tasks": {
"type": "array",
"items": {
"$ref": "https://compozy.dev/schemas/tasks.json#/properties/tasks/items"
}
},
"env": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "string",
"description": "Environment variable value or reference"
}
}
}
}
}
Workflow Configuration
Description of what the workflow does
Input contract for the workflow
Data type of the input field
Whether the field is required
Default value if not provided
Description of the input field
Array of task definitions that make up the workflow. For complete task configuration options and properties, see the Tasks API Reference.
Environment variable definitions
Environment variable value or reference
Expression Context
Access to task data
Task status: running, success, error
Access to workflow input data
{{ input.PROPERTY }} # Direct property access
{{ input.nested.PROPERTY }} # Nested property access
Access to environment variables
{{ env.VARIABLE_NAME }} # Environment variable access
Access to error information