# Start

Source: https://openflow.run/en/docs/nodes/start/
Language: en
Product version: 0.1.0-beta.77

Declare the inputs of a workflow and provide an explicit entry for manual or workflow calls.

Use Start when a user, client, or another workflow explicitly calls the Flow. Start owns the workflow’s named input definitions and exposes the supplied values as outputs to downstream nodes.

## Configure inputs

Declare each parameter’s JSON schema and nullability through `config.inputDefs`. These definitions have no defaults. A non-nullable parameter is required; an omitted nullable parameter becomes null.

```json
{
  "op": "node.add", "as": "start", "type": "start", "name": "Start",
  "config": {
    "inputDefs": { "name": { "schema": { "type": "string" }, "nullable": false } }
  }
}
```

Start does not consume ordinary node input sources. A call supplies values as `trigger.outputs`; downstream nodes reference them as Start outputs, with separate execution edges.

## Execute and reuse

Explicit Live Runs select Start. A published Flow with Start can expose its interface to Call Workflow or declared workflow tools. Draft tests supply input values through the Run interface.

Start supplies a name, Value supplies a prefix, Code combines them, and Outputs declares the workflow result.

**Input**
{"name":"Ada"}

**Expected result**
{"message":"Hello, Ada!"}

**Before running**
An Open Flow deployment is needed to execute or import this example. The preview itself runs offline.

[Download workflow](https://openflow.run/docs/examples/first-workflow.openflow.json)

## Changes to the interface

Deleting Start removes its input definitions. Undo restores them; creating a new Start starts with an empty interface. Publishing an interface change can require callers to refresh their saved interface snapshot.

Use [Outputs](https://openflow.run/en/docs/nodes/outputs/index.md) to declare business results returned to callers. Start itself has no retry policy or upstream execution inputs.

## Sources

*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#workflow-outputs)
*   [packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts)
