pub struct Task {
pub id: String,
pub name: String,
pub description: Option<String>,
pub condition: Value,
pub condition_index: Option<usize>,
pub function: FunctionConfig,
pub continue_on_error: bool,
}Expand description
A single processing unit within a workflow.
Tasks execute functions with optional conditions and error handling. They are processed sequentially within a workflow, allowing later tasks to depend on results from earlier ones.
§Example JSON Definition
{
"id": "validate_user",
"name": "Validate User Data",
"description": "Ensures user data meets requirements",
"condition": {"==": [{"var": "metadata.type"}, "user"]},
"function": {
"name": "validation",
"input": { "rules": [...] }
},
"continue_on_error": false
}Fields§
§id: StringUnique identifier for the task within the workflow.
name: StringHuman-readable name for the task.
description: Option<String>Optional description explaining what the task does.
condition: ValueJSONLogic condition that determines if the task should execute.
Conditions can only access metadata fields, not data fields.
Defaults to true (always execute).
condition_index: Option<usize>Index into the compiled logic cache for this task’s condition. Set during workflow compilation; not serialized.
function: FunctionConfigThe function configuration specifying what operation to perform. Can be a built-in function (map, validation) or a custom function.
continue_on_error: boolWhether to continue workflow execution if this task fails.
When true, errors are recorded but don’t stop the workflow.
Defaults to false.