Skip to content

Commit 774af1d

Browse files
Workflows nested-inputs sweep: schema change is now live in serverless
The schema change moving inputs: from the workflow root to under the manual trigger is now live in serverless. Updates the applies- switch labels, dependent prose, and the migration guide section to reflect this on all the pages this PR added or modified. Changes: Applies-switch labels (5 Tier 1 pages — templating.md, manual- triggers.md, context-variables.md, composition.md, compose- workflows.md): - Legacy form: { stack: ga 9.4, serverless: ga } -> stack: ga 9.4 - New form: stack: ga 9.5+ -> { stack: ga 9.5+, serverless: ga } Orientation prose on the same 5 pages: "On 9.4 and earlier (and on serverless today), inputs sits at the top level. On 9.5+, inputs sits inside the manual trigger." -> "On 9.4, inputs sits at the top level. On 9.5+ and serverless, inputs sits inside the manual trigger." Tier 2 prose-only updates (4 pages — workflows.md, cheat-sheet.md, enrich-alert-with-threat-intel.md, run-rules-on-demand.md): same shape ("9.4 and serverless today" -> "9.4 only", "9.5+ structure" -> "9.5+ and serverless structure"). Migration guide (migrate-from-9-3.md): - Section title: "Looking ahead to 9.5: inputs schema change" -> "inputs schema change in 9.5 and serverless". - applies_to: stack: ga 9.5+ -> stack: ga 9.5+, serverless: ga. - Removed the "The change is not yet live in serverless." line. - YAML comment headers updated to mention serverless. Closes #6812. The corresponding update on anatomy.md ships on the #6669 fix-up commit (still on the workflows-authoring-guidance branch, not yet pushed). Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 3991ed5 commit 774af1d

10 files changed

Lines changed: 25 additions & 26 deletions

File tree

explore-analyze/workflows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Some key concepts to understand while working with workflows:
4949

5050
## Workflow structure [workflow-structure]
5151

52-
Workflows are defined in YAML. In the YAML editor, describe _what_ the workflow should do, and the platform handles execution. The example below uses the 9.5+ structure, where `inputs` is defined under the `manual` trigger. On 9.4 and serverless today, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
52+
Workflows are defined in YAML. In the YAML editor, describe _what_ the workflow should do, and the platform handles execution. The example below uses the 9.5+ and serverless structure, where `inputs` is defined under the `manual` trigger. On 9.4, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
5353

5454
```yaml
5555
# ═══════════════════════════════════════════════════════════════

explore-analyze/workflows/authoring-techniques/compose-workflows.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ A child workflow is a unit of code with a public interface. Treat it like one.
4545

4646
Use the `inputs` and `outputs` fields to spell out the contract. The engine validates inputs at invocation and outputs at `workflow.output` time, so callers can rely on shape without guarding against missing keys.
4747

48-
The location of `inputs` in the YAML depends on your version. On 9.4 and earlier (and on serverless today), `inputs` sits at the top level of the workflow. On 9.5+, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
48+
The location of `inputs` in the YAML depends on your version. On 9.4, `inputs` sits at the top level of the workflow. On 9.5+ and serverless, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
4949

5050
::::{applies-switch}
5151

52-
:::{applies-item} { stack: ga 9.4, serverless: ga }
52+
:::{applies-item} stack: ga 9.4
5353
```yaml
5454
name: shared--enrich-alerts
5555
description: Enrich alerts with threat intel and geo data.
@@ -79,7 +79,7 @@ steps:
7979
```
8080
:::
8181
82-
:::{applies-item} stack: ga 9.5+
82+
:::{applies-item} { stack: ga 9.5+, serverless: ga }
8383
```yaml
8484
name: shared--enrich-alerts
8585
description: Enrich alerts with threat intel and geo data.

explore-analyze/workflows/authoring-techniques/migrate-from-9-3.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -212,20 +212,19 @@ Beyond the breaking changes, 9.4 adds many capabilities that don't require you t
212212
- **Expanded AI steps.** `ai.classify` and `ai.summarize` join `ai.prompt` and `ai.agent`. To learn more, refer to [AI steps](/explore-analyze/workflows/steps/ai-steps.md).
213213
- **Data transformation steps.** 11 `data.*` steps for inline data work: filter, map, aggregate, parse JSON, regex extract, and more. To learn more, refer to [Data action steps](/explore-analyze/workflows/steps/data.md).
214214

215-
## Looking ahead to 9.5: `inputs` schema change [workflows-migrate-inputs-9-5]
215+
## `inputs` schema change in 9.5 and serverless [workflows-migrate-inputs-9-5]
216216

217217
```{applies_to}
218218
stack: ga 9.5+
219+
serverless: ga
219220
```
220221

221-
On 9.5+, `inputs` is defined under the `manual` trigger instead of at the workflow root. The reference form `{{ inputs.<name> }}` is the same in either placement; only the declaration moves.
222+
On 9.5+ and serverless, `inputs` is defined under the `manual` trigger instead of at the workflow root. The reference form `{{ inputs.<name> }}` is the same in either placement; only the declaration moves.
222223

223-
Existing workflows continue to run on 9.5+ with `inputs` at the root, but new workflows can't be enabled with the root-level form. The {{kib}} editor flags root-level `inputs` as an error on 9.5+ even though the engine still accepts it.
224-
225-
The change is not yet live in serverless.
224+
Existing workflows continue to run with `inputs` at the root, but new workflows can't be enabled with the root-level form. The {{kib}} editor flags root-level `inputs` as an error even though the engine still accepts it.
226225

227226
```yaml
228-
# Old (9.4 — also works on 9.5+ for existing workflows)
227+
# Old (9.4 — also works on 9.5+ and serverless for existing workflows)
229228
inputs:
230229
- name: alert_id
231230
type: string
@@ -236,7 +235,7 @@ triggers:
236235
```
237236

238237
```yaml
239-
# New (9.5+)
238+
# New (9.5+ and serverless)
240239
triggers:
241240
- type: manual
242241
inputs:

explore-analyze/workflows/reference/cheat-sheet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ settings: { ... } # optional
3333
steps: [ ... ] # required
3434
```
3535
36-
On 9.4 and serverless today, `inputs:` also sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
36+
On 9.4, `inputs:` also sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
3737

3838
## Triggers [workflows-cheat-triggers]
3939

explore-analyze/workflows/reference/context-variables.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ This page is the canonical reference. For the mental model and the `{{ }}` vs. `
2323

2424
### `inputs.<name>` [workflows-ctx-inputs]
2525

26-
Values provided at workflow invocation time. The location of the `inputs` block in the YAML depends on your version. On 9.4 and earlier (and on serverless today), `inputs` sits at the top level of the workflow. On 9.5+, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference. The reference form `{{ inputs.<name> }}` is the same in either placement.
26+
Values provided at workflow invocation time. The location of the `inputs` block in the YAML depends on your version. On 9.4, `inputs` sits at the top level of the workflow. On 9.5+ and serverless, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference. The reference form `{{ inputs.<name> }}` is the same in either placement.
2727

2828
::::{applies-switch}
2929

30-
:::{applies-item} { stack: ga 9.4, serverless: ga }
30+
:::{applies-item} stack: ga 9.4
3131
```yaml
3232
inputs:
3333
- name: service_name
@@ -42,7 +42,7 @@ steps:
4242
```
4343
:::
4444
45-
:::{applies-item} stack: ga 9.5+
45+
:::{applies-item} { stack: ga 9.5+, serverless: ga }
4646
```yaml
4747
triggers:
4848
- type: manual

explore-analyze/workflows/steps/composition.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,11 @@ If the workflow was invoked by a parent through `workflow.execute`, the parent r
152152

153153
A common pattern: a platform team maintains a set of `shared--<verb>-<noun>` workflows, each with a clean manual trigger and a documented input and output schema. Product teams then compose those shared workflows into their own domain-specific automation.
154154

155-
The location of `inputs` in the YAML depends on your version. On 9.4 and earlier (and on serverless today), `inputs` sits at the top level of the workflow. On 9.5+, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
155+
The location of `inputs` in the YAML depends on your version. On 9.4, `inputs` sits at the top level of the workflow. On 9.5+ and serverless, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
156156

157157
::::{applies-switch}
158158

159-
:::{applies-item} { stack: ga 9.4, serverless: ga }
159+
:::{applies-item} stack: ga 9.4
160160
```yaml
161161
# Platform team's shared workflow
162162
name: shared--enrich-alerts
@@ -186,7 +186,7 @@ steps:
186186
```
187187
:::
188188

189-
:::{applies-item} stack: ga 9.5+
189+
:::{applies-item} { stack: ga 9.5+, serverless: ga }
190190
```yaml
191191
# Platform team's shared workflow
192192
name: shared--enrich-alerts

explore-analyze/workflows/templating.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ This section covers common patterns for accessing and transforming data in your
112112

113113
Reference input parameters defined in the workflow using `{{inputs.<input_name>}}`. Inputs are values provided when the workflow is triggered manually.
114114

115-
The location of `inputs` in the YAML depends on your version. On 9.4 and earlier (and on serverless today), `inputs` sits at the top level of the workflow. On 9.5+, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
115+
The location of `inputs` in the YAML depends on your version. On 9.4, `inputs` sits at the top level of the workflow. On 9.5+ and serverless, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
116116

117117
::::{applies-switch}
118118

119-
:::{applies-item} { stack: ga 9.4, serverless: ga }
119+
:::{applies-item} stack: ga 9.4
120120
```yaml
121121
inputs:
122122
- name: environment
@@ -141,7 +141,7 @@ steps:
141141
```
142142
:::
143143

144-
:::{applies-item} stack: ga 9.5+
144+
:::{applies-item} { stack: ga 9.5+, serverless: ga }
145145
```yaml
146146
triggers:
147147
- type: manual

explore-analyze/workflows/triggers/manual-triggers.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ Refer to [](/explore-analyze/workflows/authoring-techniques/pass-data-handle-err
3737
:::
3838
3939
40-
The location of `inputs` in the YAML depends on your version. On 9.4 and earlier (and on serverless today), `inputs` sits at the top level of the workflow. On 9.5+, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
40+
The location of `inputs` in the YAML depends on your version. On 9.4, `inputs` sits at the top level of the workflow. On 9.5+ and serverless, `inputs` sits inside the `manual` trigger. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for the full reference.
4141

4242
::::{applies-switch}
4343

44-
:::{applies-item} { stack: ga 9.4, serverless: ga }
44+
:::{applies-item} stack: ga 9.4
4545
```yaml
4646
name: Manual Processing Workflow
4747
inputs:
@@ -78,7 +78,7 @@ steps:
7878
```
7979
:::
8080

81-
:::{applies-item} stack: ga 9.5+
81+
:::{applies-item} { stack: ga 9.5+, serverless: ga }
8282
```yaml
8383
name: Manual Processing Workflow
8484

explore-analyze/workflows/use-cases/security/automate-security-operations/enrich-alert-with-threat-intel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The workflow runs on demand, takes the indicator you want to enrich as an `input
4444

4545
Inputs let you run the workflow against any indicator without editing YAML. Constants hold the API key and base URL.
4646

47-
This example uses the 9.5+ structure, where `inputs` nests under the `manual` trigger. On 9.4 and serverless today, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
47+
This example uses the 9.5+ and serverless structure, where `inputs` nests under the `manual` trigger. On 9.4, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
4848

4949
```yaml
5050
consts:

explore-analyze/workflows/use-cases/security/manage-detection-rules/run-rules-on-demand.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ The workflow runs on demand with a list of rule IDs:
4343

4444
Inputs make the workflow reusable without editing YAML. Declare both the list of rule IDs and the lookback window in minutes.
4545

46-
This example uses the 9.5+ structure, where `inputs` nests under the `manual` trigger. On 9.4 and serverless today, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
46+
This example uses the 9.5+ and serverless structure, where `inputs` nests under the `manual` trigger. On 9.4, `inputs` sits at the workflow root. Refer to [Workflow anatomy](/explore-analyze/workflows/authoring-techniques/anatomy.md#workflows-anatomy-inputs) for both forms.
4747

4848
```yaml
4949
triggers:

0 commit comments

Comments
 (0)