フロー・マッピング
次のトピックでは、フローにマップできる様々なタイプのイベントを示します。
フローへのインテントのマップ
フローの作成時に、インテントをフローにマップできます。
- 「イベント」ページで、「+フローの追加」をクリックします。
- 「フローの作成」ダイアログで、「インテント名」などの必須フィールドに入力します。
すでにフローを定義しており、これでインテントをマップする必要がある場合、インテントをマップする方法を次に示します:
- 「フロー」ページのフローのリストで、「メイン・フロー」を選択します。
- 「インテント・イベント」セクションで
をクリックします。
- 「インテント・イベント・ハンドラの作成」ダイアログで、インテント名とマップされたフローを選択し、「作成」をクリックします
.
フローへの組込みイベントのマップ
- 「メイン・フロー」を選択します。
- 「ビルトイン・イベント」セクションで
をクリックします。
- 「組込みイベント・ハンドラの作成」ダイアログで、マップされたフローからイベント・タイプを選択し、「作成」をクリックします。
フローへの遷移イベントのマップ
- イベントをマップするフローを選択します。
- 「構成」タブを選択します。
- 「イベント・マッピング」セクションを展開します。
- マップする推移のフィールドで、状態を選択します。
別のフローからの1つのフローの起動
別のフローからフローをコールする場合は、「フローの起動」および「フローの終了」コンポーネントを使用します。この仕組みは次のとおりです:
- 親フローは、起動フロー状態から子フローをコールします。この状態を使用して、子フローに値を渡し、子フローから値を受け取ります。
- 子フローの終了フロー状態は、その出力パラメータを親フローに戻し、子フローの終了後に親フローが実行するアクションをトリガーすることもできます。
子フローが分岐し、複数の終了フロー状態を持つ場合、それぞれが独自のアクションを親フローに戻すことができ、親フローはこれらのアクションを使用して、従うブランチを決定できます。
(処理遷移を使用すると、子フローの結果に基づいて親フローを分岐できます。たとえば、アカウントを検索する子フローがある場合、成功するためのアクションと失敗に対するアクションを渡すことができます。)
- 子フローが終了すると、親フローが再開されます。
たとえば、財務スキルのアカウントの更新フローは、子フロー「アカウントの取得」をコールすることによってのみユーザーの更新要求を完了できる親フローになります。子フローの実行後に親フローが期待する結果または出力パラメータは、ユーザー・アカウントです。この場合、アカウントは、子フローの終了フロー状態によって起動フロー状態に送信される出力パラメータです。
- 子フローの入力および出力パラメータを作成します。
- 親またはコール・フローで、子フローをコールするポイントの「状態の追加」アイコンをクリックし、「フロー制御」→「フローの起動」コンポーネントを選択します。「挿入」をクリックします。
- 追加した呼出しフロー状態のプロパティ・インスペクタを開きます。
- 一般ページで、名前と説明を入力します。
- 「コンポーネント」ページで、「フロー」ドロップダウンから子フローを選択します。
- 親フローで子フローにパラメータを渡す必要がある場合は、「追加」をクリックし、子フローに属する入力パラメータを選択してデフォルト値を入力します。続いて、「Save」をクリックします。入力パラメータごとにこのステップを繰り返します。
- 親フローで子フローの結果が予想される場合は、「追加」をクリックして子フローに属する出力パラメータを選択し、出力パラメータの値に設定される現在の(親)フローの変数に名前を付けます。
- 「トランジション」ページを開き、次の状態を設定し、必要に応じて、取消やエラーなどのアクション遷移を追加します。
- 親フローでアクション遷移を構成した場合は、子フローで終了フロー状態を構成して、それらのアクションをトリガーします。これらは、各エンド・フローのプロパティ・インスペクタの「コンポーネント」ページで行います。
- パラメータを親フローに戻す必要がある場合は、「追加」をクリックし、親フローの呼出しフロー状態のパラメータ名と一致する名前を入力します。次に、パラメータ出力値を入力し、「保存」をクリックします。
フローからの別のスキルの起動
フローから別のスキルをコールする場合は、「スキルの起動」および「フローの終了」コンポーネントを使用します。この仕組みは次のとおりです:
- コール元のスキルは、コール元のスキルと同じデジタル・アシスタントに存在する必要があります。
- コールするスキルには、publicとして指定されているフローが必要です。
- コール・フローでは、スキルの起動状態を使用して、スキルのバージョンとそのスキルのターゲット・フローを指定します。この状態を使用して、コールされたスキルに値を渡し、そのスキルから値を受け取ります。
- ターゲット・フローの終了フロー状態は、その出力パラメータをコール・フローに戻し、ターゲット・フローの終了後にコール・フローが実行するアクションをトリガーすることもできます。
ターゲット・フローが分岐し、複数のエンド・フロー状態がある場合、それぞれが独自のアクションをコール・フローに戻すことができ、コール・フローはこれらのアクションを使用して、従うブランチを決定できます。
(アクション遷移を使用すると、ターゲット・フローの結果に基づいてコール・フローを分岐できます。たとえば、アカウントを検索する予定のターゲット・フローがある場合、成功するアクションと失敗するアクションを渡すことができます。)
- ターゲット・フローが終了すると、コール元のスキルからのコール・フローが再開されます。
たとえば、財務スキルのアカウントの更新フローは、ターゲット・フロー「アカウントの取得」をコールしてユーザーの更新要求のみを完了できるコール・フローです。ターゲット・フローの実行後にコール・フローで予期される結果または出力パラメータは、ユーザー・アカウントです。この場合、アカウントは、ターゲット・フローの終了フロー状態によって起動スキル状態に送信される出力パラメータです。
- ターゲット・フローの入力および出力パラメータを作成します。
- ターゲット・フローで、「構成」タブを選択し、「一般」セクションを展開して、「パブリック」スイッチをオンにします。
- コール・フローで、ターゲット・フローをコールするポイントの「状態の追加」アイコンをクリックし、「フロー制御」→「スキルの起動」コンポーネントを選択します。「挿入」をクリックします。
- 追加したばかりの起動スキル状態のプロパティ・インスペクタを開きます。
- 一般ページで、名前と説明を入力します。
- 「コンポーネント」ページで、「スキル」ドロップダウンからスキルを選択します。
- 「スキル・バージョン」ドロップダウンからバージョンを選択します。
ノート
この値は、参照されるスキルがスタンドアロン・スキルである場合にのみ適用されます。ターゲット・スキルがコール元のスキルと同じデジタル・アシスタントにある場合、実行時にデジタル・アシスタントにあるそのスキルのバージョンが使用され、このフィールドの値は無視されます。 - 「フロー名」ドロップダウンから、選択したスキルに属するパブリック・フローのいずれかを選択します。
- コール・フローでターゲット・フローにパラメータを渡す必要がある場合は、「追加」をクリックし、ターゲット・フローに属する入力パラメータを選択してデフォルト値を入力します。続いて、「Save」をクリックします。入力パラメータごとにこのステップを繰り返します。
- コール・フローでターゲット・フローの結果が予想される場合は、「追加」をクリックしてターゲット・フローに属する出力パラメータを選択し、出力パラメータの値に設定されるコール・フローの変数に名前を付けます。
ノート
ターゲット・フローがまだ使用できない場合は、フローで出力パラメータにモック・データを使用することを指定して、ターゲット・フローが使用可能になるのを待機しながらフローの開発およびテストを続行できます。これを行うには、「モックの使用」プロパティをTrue
に設定し、「モック出力パラメータ」フィールドに出力パラメータおよび値を入力します。フォームの個別の行に各パラメータを入力しますParamName: ParamValue
- 「トランジション」ページを開き、次の状態を設定し、必要に応じて、取消やエラーなどのアクション遷移を追加します。
- コール・フローでアクション遷移を構成した場合は、ターゲット・フローで終了フロー状態を構成して、それらのアクションをトリガーします。これらは、各エンド・フローのプロパティ・インスペクタの「コンポーネント」ページで行います。
- パラメータをコール・フローに戻す必要がある場合は、「追加」をクリックし、コール・フローの呼出しスキル状態のパラメータ名と一致する名前を入力します。次に、パラメータ出力値を入力し、「保存」をクリックします。