Steps and dependencies
Break work into understandable, verifiable units.
Give each step a responsibility
A step receives information, performs work and exposes a result. Its title should describe business intent, such as Check requirements, rather than an internal function. Dependencies identify results needed before execution.
| Configuration | Expected values | Description |
|---|---|---|
| Key and title | Stable identity and business label | References and readable tracking |
| Required inputs | Declared Fields and sources | Preparation conditions |
| Dependencies | Existing steps | Execution prerequisites |
| Mode | Human intervention, AI or admitted operation | Nature of the work |
| Result | Surface and expected criteria | Evidence of completion |
Ordering and parallelism
Steps without mutual dependencies can progress in parallel when constraints allow. Checking client needs and consulting rates can precede drafting. Review waits for a draft; finalization waits for a valid decision.
Make completion verifiable
Define what makes work complete. Nonempty output is not necessarily a correct proposal. Criteria can require information, relations, results or a human decision. Progress exposes missing conditions and produced results.
The FlowBlueprint reference and Flow composition give exact properties and variants.
Applied examples : Connect a step to its result
The step prepares the proposal; the Flow output references that step’s declared result.
Configuration
Fragment placed in flowBlueprints[].composition.steps[]. Properties and accepted values.
{
"key": "prepare",
"kind": "task",
"workNodeKey": "prepare",
"actionKey": "prepare",
"inputs": {},
"outputs": [
{
"key": "proposal",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
}
],
"reservedCostUnits": 1,
"maximumAttempts": 3
}
Variation and connection
Fragment placed in flowBlueprints[].composition.outputs. Properties and accepted values.
[
{
"key": "proposal",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"source": {
"kind": "step-output",
"stepKey": "prepare",
"outputKey": "proposal"
},
"reduction": "first"
}
]
UI layout example
The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.
- Qualify need
- Prepare proposal
- Wait for decision
- Retain result
The proposal and its sources remain available while waiting.