Skip to content
SurfaceDocs
FRGet started
DocsFlows & automation

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.

  1. Qualify need
  2. Prepare proposal
  3. Wait for decision
  4. Retain result
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
Steps and dependenciesConnect a step to its result
Clients
✓
Qualify needCompleted
✓
Prepare proposalCompleted
03
Wait for decisionDecision required
04
Retain resultUpcoming
Preparation is awaiting a decision

The proposal and its sources remain available while waiting.

Review proposal
Search for a concept, field or action.Esc