# 開始

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

ワークフローの入力を定義し、手動実行や別のワークフローからの呼び出しを受け付けます。

ユーザー、クライアント、別のワークフローが明示的に呼び出す場合は Start を使います。ワークフローの名前付き入力を定義し、受け取った値を下流向けの出力として公開します。

## 入力を設定する

`config.inputDefs` で各パラメーターの JSON スキーマと null の可否を定義します。デフォルト値はありません。null 不可のパラメーターは必須で、null を許すパラメーターを省略すると null になります。

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

Start は通常のノード入力元を使いません。呼び出し側は `trigger.outputs` で値を渡します。下流ノードは Start の出力を参照し、実行エッジは別途接続します。

## 実行と再利用

明示的な Live 実行は Start を選択します。Start を持つ公開済みフローは、Call Workflow や宣言済みのワークフローツールにインターフェースを提供できます。ドラフトテストでは、実行インターフェースから入力値を渡します。

Start が名前を、Value が接頭辞を渡し、Code が組み合わせ、Outputs が最終結果を定義します。

**入力**
{"name":"Ada"}

**想定される結果**
{"message":"Hello, Ada!"}

**実行前の準備**
インポートや実行には Open Flow サービスが必要です。プレビュー自体はオフラインで動作します。

[ワークフローをダウンロード](https://openflow.run/docs/examples/first-workflow.openflow.json)

## インターフェースの変更

Start を削除すると入力定義も削除され、元に戻すと復元されます。新しい Start は空のインターフェースから始まります。変更したインターフェースを公開すると、呼び出し側で保存済みスナップショットの更新が必要になる場合があります。

呼び出し元へ返す業務結果は [Outputs](https://openflow.run/ja/docs/nodes/outputs/index.md) で定義します。Start には再試行ポリシーも上流の実行入力もありません。

## 参照元

*   [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)
