フローを実行

概要

Execute Flow インタラクションは、動的コンポーネント内からバックグラウンドプロセス(自動起動 Flow)をトリガーします。これはタスクの自動化、レコードの更新、計算の実行、または Flow 内でのその他のロジックの実装に役立ちます。

重要な注意事項


仕組み

Execute Flow インタラクションは、コンポーネントを Salesforce の自動化と接続するために次のようなシンプルなプロセスに従います:

1. Flow をトリガーする ユーザーがコンポーネントと操作したとき(ボタンをクリックするなど)、Execute Flow インタラクションは指定された自動起動 Flow をバックグラウンドで起動します。

2. Flow にデータを送信(オプション) 入力変数を使用して、コンポーネントのコンテキスト情報を Flow に渡します。これにより、Flow はレコード ID、フィールド値、ユーザーの選択など、特定のデータを処理できます。

3. Flow がロジックを処理する 自動起動 Flow は、レコードの作成、計算の実行、データの更新、または定義したその他のビジネスロジックなど、設定された自動化を実行します。

4. Flow から結果を受け取る(オプション) 出力変数を通じて Flow が返すデータをキャプチャします。これらの結果には、新しく作成されたレコード ID、計算結果、ステータスメッセージ、または Flow が生成するその他の情報が含まれる場合があります。

5. 完了時の処理(オプション) Flow が正常に終了したときやエラーが発生したときに何が起こるかを設定します。確認メッセージの表示、データの更新、別ページへの遷移、追加アクションのトリガーなどを設定して、ユーザーに情報を提供しスムーズな体験を維持します


設定

Execute Flow インタラクションを設定するには、どの Flow を実行するか、どのデータを入出力するか、実行後に何が起こるかを制御するいくつかの主要な設定を構成する必要があります。各設定オプションを順に説明します。

Flow API 名

これはどの自動起動 Flow を実行するかをインタラクションに伝える一意の識別子です。

  • 形式: Flow Builder で定義されている API 名を正確に(例えば、 Create_Case_Records, Calculate_Discount)

  • 確認場所: Flow Builder で Flow を開き、Flow のプロパティを確認してください—Flow を保存または表示するときに API Name フィールドが表示されます

  • 重要な要件:

    • Flow は 有効化 されている必要があります

    • 実行する前に である必要があります 自動起動 Flow(画面フローやレコードトリガー型フローではない)

Flow の入力変数

入力変数を使うと、動的コンポーネントから Flow 実行時にデータを送信できます。これらは Flow に渡すパラメータと考えてください—Flow が処理するために必要なレコード ID、ユーザーの選択、フィールド値などです。

入力変数の仕組み

  • 構成した各入力変数は Flow 内の対応する変数にマッピングされます

  • Flow の変数は 「入力として利用可能」 にマークされている必要があります(Flow Builder 内)

  • 複数の入力変数を単一の Flow 実行に渡すことができます

各入力変数の構成

名前

Flow 内で定義された入力変数の正確な API 名。

  • 大文字・小文字を区別して正確に一致する必要があります

  • 例: recordId, opportunityStage, accountName

Flow に送信したい実際のデータ。これは次の2つの方法で指定できます:

  • 静的値 変更されない固定値を直接入力します。 例: 「Active」, 100, true, 「High Priority」

  • 動的値Map アイコンをクリック) 値をコンポーネントの動的ソースにリンクします。「Mapped」アイコンをクリックすると次から選択できます:

値の種類
説明

コンポーネントリソース

動的コンポーネント内で定義された変数、クエリ、または数式

コンポーネント属性

コンポーネントに渡されたプロパティ

グローバル変数

現在のユーザーや組織情報などのシステム全体の値

選択行データ

データテーブルで選択された行からのデータ

数式

計算された値や式

💡 ヒント: 値を動的にしたい、またはコンポーネントのコンテキストから取得したい場合は、Mapped (x) アイコンを使用してください。変更されない定数には静的値を使用します。


出力変数

オプション

出力変数は Flow が実行後に返すデータをキャプチャします。これにより、Flow は新しく作成されたレコード ID、計算結果、ステータスメッセージなどの結果を動的コンポーネントに返すことができ、それを UI の更新や追加アクションのトリガーに使用できます。

出力変数の仕組み:

  • 構成した各出力変数は Flow 内の対応する変数にマッピングされます

  • Flow の変数は 「出力として利用可能」 にマークされている必要があります(Flow Builder 内)

  • 返されたデータは、指定した動的コンポーネントのリソースに格納されます

各出力変数の構成:

名前 Flow 内で定義された出力変数の正確な API 名。

  • 大文字・小文字を区別して正確に一致する必要があります

  • 例: outputContentDocumentId, calculatedDiscount, errorMessage

リソース名 Flow の出力が格納される動的コンポーネントリソースの名前。

  • これは動的コンポーネント内ですでに作成している変数である必要があります

  • データ型は Flow が返す型(テキスト、数値、ブール、レコードなど)と一致している必要があります。

マッピングの例:

  • Flow がドキュメント ID を出力 → 格納先: contentDocumentId (Text 変数)

  • Flow が割引額を出力 → 格納先: finalDiscount (Number 変数)

  • Flow が成功ステータスを出力 → 格納先: wasSuccessful (Boolean 変数)

💡 ヒント: Execute Flow インタラクションを構成する前に、動的コンポーネントの変数を作成しておくと、Resource Name フィールドで選択できるようになります。


完了時の処理(On Finish)

On Finish の設定は Flow が正常に完了した後に何が起こるかを定義します。ここでフィードバックの提供、インターフェースの更新、フォローアップアクションのトリガーを行い、応答性の高いユーザー体験を作ります。


ステップバイステップの例

連絡先ステータスの一括更新

この例では、データテーブルのヘッダーアクションボタンを作成し、選択した Contact レコードのステータスを自動起動 Flow を使って「Active」に更新する方法を示します。

シナリオ

動的コンポーネントに Contact レコードを表示するデータテーブルがあります。データテーブルのヘッダーアクションに「 「Set as Active」 」ボタンを追加したいとします。ユーザーが 1 件以上の Contact 行を選択してこのボタンをクリックすると、選択された Contact のステータスが自動起動 Flow によって自動的に「Active」に設定されるべきです。

作成するもの:

  • 行選択が可能な Contact レコードを示すデータテーブル

  • 「Set as Active」とラベル付けされたヘッダーアクションボタン

  • Status フィールドを更新する自動起動 Flow

  • ボタンがクリックされたときにトリガーされる Execute Flow インタラクション

1

自動起動 Flow を作成する

まず、Salesforce で一括ステータス更新を処理する Flow を作成します

Flow の設定

  1. Salesforce の設定で、 FlowsNew Flow

  2. を選択し、 Autolaunched Flow (No Trigger) を選んで Create

をクリックします

Flow のロジック

  1. Flow には 3 つの主要コンポーネントが必要です:

    • 入力変数(コレクション): 名前:

    • ContactIds タイプ: Text Collection

    • (複数値を許可する必要があります) 重要:

    • これは、ユーザーが複数行を選択したときにデータテーブルから複数の Contact ID を受け取るためにコレクションとして構成する必要があります

  2. これにより Flow は単一レコードだけでなく一括処理を行えます

    • レコード更新要素: Contacts を見つける条件:

    • Id Is In {!ContactIds} 更新フィールド:

    • Status__c = "Active"

これにより選択されたすべての Contact レコードが一括で更新されます

  • 保存と有効化: わかりやすい名前で Flow を保存します(例:)

  • Set_Contact_Status_Active


Flow を有効化 する

2

重要な原則:

Flow は Contact ID のコレクションを入力として受け取り、該当するすべての Contact レコードを見つけて、Status フィールドを「Active」に更新します。

動的コンポーネントでデータテーブルを設定する Flow を作成して有効化したら、Contact レコードを表示するデータテーブルを含む動的コンポーネントの設定に切り替えます。

今いる場所:

  1. 動的コンポーネントビルダー内(もう Flow Builder ではありません) 行選択が有効な状態で Contact を表示するようにデータテーブルを設定します:

  2. 動的コンポーネント内でデータテーブルコンポーネントを選択してください

    • データソースと列を構成:

    • データテーブルが Contact レコードを取得するクエリリソースに接続されていることを確認してください 名前, データテーブルに表示したいフィールドを選択して列を追加します(例:, Status__c)

  3. Email

    • 複数行選択を有効にする: データテーブルのプロパティで、 Max Row Selection

    • 属性を見つけます これが 1 に設定されていないことを確認してください

    • ユーザーがデータテーブル上で複数のレコードを選択できるようにします

3

これによりユーザーは複数の Contact を一度に一括更新できます。

ヘッダーアクションボタンを追加する

  1. データテーブルのヘッダーに「Set as Active」ボタンを追加します:データテーブルを選択した状態で プロパティパネルの Header

  2. セクションに移動します

  3. 「Add Header Action」をクリックします

    • ボタンを構成: ラベル:

    • Set as Active アイコン(オプション):

    • ContactIds utility:check

4

ボタン

Execute Flow インタラクションを構成する

動的コンポーネントでデータテーブルを設定する 今、ヘッダーアクションボタンを自動起動 Flow に接続して、クリック時にトリガーされるようにします。

  1. まだ動的コンポーネントビルダー内で、インタラクションを構成しています

    • ~で インタラクションパネル、クリック 「インタラクションを追加」

    • インタラクションの種類: を選択し、 ヘッダーアクションのクリック

    • ターゲット名: ステップ3で作成した「アクティブに設定」ヘッダーアクションボタンを選択してください

  2. アクションタイプを設定:

    • ContactIds を選択し、 Execute Flow

  3. フロー接続を構成: フローのAPI名:

    • 入力: わかりやすい名前で Flow を保存します(例:

    • これはステップ1で作成した自動起動フローのAPI名と正確に一致する必要があります

  4. 選択された連絡先IDをフローに渡す: フローの入力変数:

    • クリック 「入力変数を追加」

    • 入力変数(コレクション): 名前: (フローの入力変数名と正確に一致する必要があります)

    • 値: クリックして マッピング済みアイコンを (🔗)

      • データテーブルコンポーネントに移動します

      • 選択: {!DataTableComponentName.SelectedRowsKeyValue}

    • 重要: オンに切り替え 「複数値を許可(コレクション)」

      • これにより、データテーブルから複数の選択された連絡先IDをコレクションとしてフローに渡すことができます

      • これを設定しないと、1つの連絡先IDしか渡されません

  5. フロー完了後の動作を構成: 完了時のアクション:

    • クリック 「項目を追加」「すべてのクエリを更新」

    • これはフロー終了後にデータテーブルを自動的に再読み込みし、更新されたステータス値を表示します。


あなたが構成した内容: ユーザーが「アクティブに設定」ボタンをクリックすると、Execute Flowインタラクションはデータテーブルから選択されたすべての連絡先IDを取得し、それらをコレクションとしてフローに渡し、更新が完了したらテーブルを更新します

5

有効化してテスト

すべてを構成したので、作業をテストする時です:

  1. ダイナミックコンポーネントを保存:

    • クリック 保存 ダイナミックコンポーネントビルダーで変更をすべて保存します

  2. Lightningページにデプロイ:

    • この機能を使用したいLightningページ(例:連絡先一覧ページやホームページ)に移動します

    • ページを編集し、ダイナミックコンポーネントを追加します

    • 保存 および Set_Contact_Status_Active ページを

  3. 機能をテスト:

    • コンポーネントを追加したLightningページに移動します

    • チェックボックスをクリックして1つ以上の連絡先行を選択します

    • クリックして 「Set as Active」 ヘッダーボタン

    • 確認事項:

      • 選択した連絡先のステータスが「アクティブ」に更新されること

      • データテーブルが自動的に再読み込みされて変更が表示されること

      • 複数の連絡先を一度に選択して更新できること


重要な考慮事項


まとめ

この Execute Flow インタラクションにより、ダイナミックコンポーネントから自動起動フローを直接トリガーできるようになり、ユーザーがページを離れることなく強力な自動化を実現できます。

主な機能

  • バックグラウンドでタスクを自動化 - ユーザーがコンポーネントとやり取りしたときに、レコードの更新、計算の実行、または複雑なビジネスロジックの実行を行います

  • フローに動的データを渡す - 選択されたレコードID、ユーザー入力、フィールド値などのコンテキスト固有の情報を入力変数を通じて送信します

  • 結果を賢く処理 - フローの出力を取得してUIを更新したり、メッセージを表示したり、フォローアップアクションをトリガーしたりします

  • シームレスな体験を作成 - データの更新、トースト通知の表示、別ページへのナビゲーションなどのアクションとExecute Flowを組み合わせて、ユーザーに情報を提供し続けます

ベストプラクティス

  • 常に使用してください 自動起動フローを (画面フローではなく)このインタラクションでは

  • 変数名を正確に一致させる 厳密に フローとExecute Flow構成の間で

  • 使用してください コレクションを 複数の選択レコードを扱う場合は入力変数に対して

  • 構成する 完了時の処理(On Finish) および On Error アクションでユーザーに明確なフィードバックを提供するようにしてください

  • 単一レコードと複数レコードの選択の両方で十分にテストしてください

Execute Flowインタラクションは、ユーザーインターフェースと自動化のギャップを埋め、Salesforceフローのフルパワーを活用した洗練されたユーザーフレンドリーなアプリケーションを構築できるようにします

最終更新

役に立ちましたか?