2022/05/27

Salesforceにおけるフローとは?概要や使い方をご紹介

 
  

Salesforceにおけるフローとは?

Salesforceにおけるフローとは、Salesforce上で動作する自動化処理を、プログラムコードを記述することなく視覚的に設定できる、Salesforceの標準機能を指します。 特定の条件に合致した際に、関連するレコードを自動で生成することや、特定の文言が記載されたChatter投稿する等の処理を、画面上に配置されている変数や要素を組み合わせることによって、1つの内部処理として実装できる機能です。

フローの概要

フロー機能は、プロセスビルダーと並ぶ、プログラムコードを記述することなく、Salesforceで自動化処理を実装できる機能です。 このフローでは、特定のレコードの削除や簡易的なデータ入力画面を作成する等、プロセスビルダー単体では実装が難しい機能も実装できます。 このプロセスビルダーとフローをそれぞれ単体で挙動させるだけでなく、この両者を組み合わせて1つの処理を実装することで、より柔軟な自動化処理の実装が可能となるでしょう。

作成可能なフローの種類

Salesforceにて作成できるフローの種類は、主に次の5つがあります。 1.自動起動フロー(トリガなし) 2.レコードトリガフロー 3.画面フロー 4.スケジュールトリガフロー 5.プラットフォームイベントトリガフロー

1.自動起動フロー(トリガなし)

自動起動フロー(トリガなし)とは、プロセスビルダーやApex等の他の機能から呼び出された際に起動されるフローを指します。 「ユーザが、あるオブジェクトデータの、特定の項目を更新したとき」といった直接的な操作時では起動されず、呼び出される元となる処理が実行された際に初めて起動されます。 特定のレコードの削除等、プロセスビルダー単体では処理の実装が難しい場合は、プロセスビルダーとフローをそれぞれ作成し、そのプロセスビルダーからフローを呼び出すように設定すれば、機能の実装が可能となります。

2.レコードトリガフロー

レコードトリガフローとは、ユーザによる直接的な操作(=オブジェクトレコードを作成・更新・削除)時に起動させるフローを指します。 このフローでは、起動対象オブジェクトとして指定したオブジェクトにおいて、ユーザが操作しているレコードに対しての更新処理のみを実行でき、新たに関連するオブジェクトのレコードを作成することや、特定のレコードを削除するといった処理が実装できない点に注意しましょう。 ※このフローでは、一連のフローの処理を、レコードの保存前に起動させるか、レコードの保存後に起動させるかを選択できます。

3.画面フロー

画面フローとは、Salesforceのオブジェクトデータ画面内に、テキストボックス等が表示される独自の画面を作成できるフローを指します。 このフローは、実際のユーザによる画面上の操作によって動作します。 実際に、フローによる処理がされたことを表す画面を表示させたり、特定の選択肢に応じて画面遷移させることができます。 最終的に入力された情報をオブジェクトのデータとして保存するといった、ユーザがデータを作成・メンテナンスする上での補助的な機能として使うこともできるでしょう。

4.スケジュールトリガフロー

スケジュールトリガフローとは、特定の頻度・時間といった時間ベースで自動起動されるフローを指します。 頻度は、1回・毎日・毎週から選択でき、指定した条件に合致するオブジェクトレコードに対して、関連するレコードの作成等の処理を、指定した頻度・時間に実行できます。 ※このフローは、起動条件が時間ベースとなっているため、他の自動化処理(=プロセスビルダー等)から呼び出しての起動はできない点に注意しましょう。

5.プラットフォームイベントトリガフロー

プラットフォームイベントトリガフローとは、Salesforceにてプラットフォームイベント(=通知)を受信した際に起動されるフローを指します。 このフローでは、レコードの作成・更新のみならず、Chatter投稿やメール送信等の処理を実装できます。

フローの要素

1つの処理を実装するにあたってフローでは、主に次の要素を使用します。 1.フロー変数 2.決定 3.ループ 4.割り当て 5.一時停止 6.レコードを取得、作成、更新、削除 7.画面 ※2~7の要素については、フローの種類によって、使用できるものと使用できないものがあるため、注意しましょう。

1.フロー変数

そのフロー内で使用可能な値として、変数を使用します。 ここで、プロセスビルダーより渡された値を変数として使用することや、比較対象とする特定の文字列や数値といった情報を保持できます。フローにおける「変数の宣言」のイメージを持つと良いでしょう。 また、「複数の値を許可」にチェックを入れた変数は、””コレクション変数””と呼びます。

2.決定

決定では、フロー変数を特定の値と比較させて、処理を分岐できます。 設定した条件全てに当てはまらない場合は、「デフォルトの結果」の分岐に処理が流れます。フローにおけるif文を使用するというイメージを持つと良いでしょう。

3.ループ

ループでは、コレクション変数を使用して、フロー変数への値の代入(=割り当て要素)等の処理を、複数回実行できます。 コレクション変数内の項目全てに対して処理が完了すると、このループ処理を抜け、次の処理へ進みます。フローにおけるfor文を使用するイメージを持つと良いでしょう。

4.割り当て

割り当てでは、フロー変数に特定の値を代入させる処理を記述します。 特定のレコードの作成・更新・削除する際の元となる情報となり、その場合は種別が””レコード””の変数における各項目へ値を代入していくイメージとなります。

5.一時停止

特定の条件に合致する場合に、起動されたフローの処理を一時的に停止できます。 一時停止された処理は、特定の時刻になった際、もしくはプラットフォームイベントを受信した際に処理を再開できます。

6.レコードを取得、作成、更新、削除

実際に特定のレコードを作成・更新・削除する際に、これらの要素をフローの処理に含めます。 フロー変数の値を基に、特定のオブジェクトのレコードを取得することや、「割り当て」等の要素によって値が代入されているフロー変数の情報を基に、レコードに対する処理(作成や更新・削除)をここで実行できます。 1つの処理で上記の要素を実行できる処理数には制限があるため、複雑な処理を記述する際は、この点に注意すると良いでしょう。

7.画面

実際にユーザへ表示する独自の画面を設定できます。 テキストボックスやチェックボックス等を表示させることで、簡易的な入力画面を作成することや、固定の文言を表示させることもできます。主に画面フローの設定の際に使用する要素となります。

処理の検証方法

作成したフローは、「デバッグ」機能を使用することで、処理の動作検証ができます。 フローの設定画面内の「デバッグ」ボタンをクリックし、必要なオブジェクトデータの指定やデータを入力して動作検証を開始し、エラーが発生するか否かを検知できます。 フローを作成したら、有効化する前にこの「デバッグ」を使用し、エラーが発生しないか否かを確認すると良いでしょう。 なお、動作検証の際、実際のオブジェクトデータへも処理の内容が反映されてしまう点に注意しておきましょう。

フローを有効活用しよう!

今回は、Salesforceの標準機能の1つである「フロー」について紹介しました。 日々の業務において、付随する必要な情報を自動で作成できると、ユーザがデータ入力に費やす時間の削減が期待でき、それらの一連の処理を簡易的なものから複雑なものまで、プログラムコードを記述することなく実装できます。活用できるように学んでおくと良いでしょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】