Steps
Overview
Steps are the building blocks of automation workflows. They represent individual actions such as "Sending an email", "Summarizing a Document", or "Extracting Information from Document". Each step has:
- A unique name (for reference within the workflow)
- A type (only L2 is currently supported)
L2 Steps
L2 steps are prebuilt modules of software or AI provided by the platform. These common utilities are used in workflows across various use cases. Available L2s can be found in the Hub.
L2 Step Properties
Field | Type | JSON Key | Notes |
---|---|---|---|
Name | string | name | |
Type | string | type | "l2" |
L2Data | *L2Data | l2_data | |
Conditions | []Condition | conditions | Optional |
L2Data Properties
Field | Type | JSON Key |
---|---|---|
Provider | string | provider |
Module | string | module |
Action | string | action |
InputData | interface | input_data |
Conditions
Conditions determine whether a step should be executed. They are evaluated before the step runs and are based on the output of previous steps. Currently, only path-based conditions and equality checks are supported.
Condition Properties
Field | Type | JSON Key | Description |
---|---|---|---|
DataPath | string | data_path | Path to the value to be compared (using JSONPath) |
Value | any | value | The value to compare against |
Conditions are evaluated before a step runs. The system compares the value found at the specified DataPath
with the provided Value
. If they match, the condition is considered met, and the step will execute. If they don't match, the step will be skipped.
Example
Here's an example of an L2 step with a condition:
{
"name": "slack_2",
"type": "l2",
"l2_data": {
"provider": "slack",
"module": "bot",
"action": "send_message",
"input_data": { "channel": "test", "message": "Hello, World!" }
},
"conditions": [
{"data_path": "$.output_data.status", "value": "success"}
]
}