You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| document |[`document`](#document)|`yes`| Documents the defined workflow. |
102
+
| input |[`input`](#input)|`no`| Configures the workflow's input. |
103
+
| use |[`use`](#use)|`no`| Defines the workflow's reusable components, if any. |
104
+
| do |[`map[string, task`](#task)|`yes`| The [task(s)](#task) that must be performed by the [workflow](#workflow). |
105
105
| timeout |`string`<br>[`timeout`](#timeout)|`no`| The configuration, if any, of the workflow's timeout.<br>*If a `string`, must be the name of a [timeout](#timeout) defined in the [workflow's reusable components](#use).*|
106
-
| output |[`output`](#output)|`no`| Configures the workflow's output. |
107
-
| schedule |[`schedule`](#schedule)|`no`| Configures the workflow's schedule, if any. |
@@ -588,13 +588,13 @@ Allows workflows to iterate over a collection of items, executing a defined set
588
588
589
589
##### Properties
590
590
591
-
| Name | Type | Required | Description|
592
-
|:--|:---:|:---:|:---|
593
-
| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.<br>Defaults to `item`. |
594
-
| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. |
595
-
| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.<br>Defaults to `index`. |
596
-
| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. |
597
-
| do | [`task`](#task) | `yes` | The task to perform for each item in the collection. |
591
+
| Name | Type | Required | Description|
592
+
|:--|:----------------------------:|:---:|:---|
593
+
| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.<br>Defaults to `item`. |
594
+
| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. |
595
+
| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.<br>Defaults to `index`. |
596
+
| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. |
597
+
| do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) to perform for each item in the collection. |
598
598
599
599
##### Examples
600
600
@@ -1157,6 +1157,9 @@ Flow Directives are commands within a workflow that dictate its progression.
1157
1157
| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. |
1158
1158
| `string` | Continues the workflow at the task with the specified name |
1159
1159
1160
+
> [!WARNING]
1161
+
> Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth.
1162
+
1160
1163
### Lifecycle Events
1161
1164
1162
1165
Lifecycle events are [cloud events](https://github.com/cloudevents/spec) used to notify users and external services about key state changes in workflows and tasks.
Copy file name to clipboardExpand all lines: dsl.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -241,7 +241,7 @@ Before the workflow starts, the input data provided to the workflow can be valid
241
241
The execution only proceeds if the input is valid. Otherwise, it will fault with a [ValidationError (https://serverlessworkflow.io/spec/1.0.0/errors/validation)](dsl-reference.md#error).
242
242
243
243
2.**Transform Workflow Input**
244
-
Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$context` runtime expression argument and be passed to the first task.
244
+
Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$input` runtime expression argument and be passed to the first task.
245
245
246
246
*Example: If the workflow receives a JSON object as input, a transformation can be applied to remove unnecessary fields and retain only those that are required for the workflow's execution.*
0 commit comments