Salesforceフローとは?基本機能からレコードトリガフローの使い方も具体例と一緒に徹底解説!
この記事でわかること
- Salesforceのフローとは?他の自動化ツールとの違い
- Salesforce フローの起動条件
- Salesforce フローのリソース一覧
- Salesforce フローの具体的な作成手順
執筆者 取締役 / CTO 内山文裕
Salesforceを利用している中で、日常の業務を自動化したいとは思っているものの、なかなかコーディングができず諦めてしまった方も多いのではないでしょうか?
Salesforce内にあるフローというノーコードで業務を自動化できるツールを使用することで、そのような課題を解決することができます。
今回は、ノーコードの業務自動化ツールであるフローの定義から、具体的な作成手順や参考例まで解説していきます。
参照:Salesforce Sales Cloudとは? セールスクラウドを分かりやすく解説
参照:Salesforce(セールスフォース)は何がすごい?機能やメリット・デメリットを簡単に解説!
目次
1. Salesforceフローとは
Salesforceフローとは、プロセス処理をノーコードで自動化できるSalesforceの機能の総称です。
その中でもフローとは、フローチャートの構造を使用してデータを収集し、そのデータを使用して処理を実行することを指します。また、そのフローを作成するツールがフロービルダーです。
そのため、Salesforce界隈では、フロービルダーのことをフローと呼んでいます。
2. Salesforceフローと他の自動化ツールとの違い
Salesforceには、「フロー」以外に「ワークフロールール」「プロセスビルダー」「承認プロセス」の3つのノーコード自動化ツールがあります。「ワークフロールール」と「プロセスビルダー」で出来ることは「フロー」でも実現でき、Salesforce社から将来的に「ワークフロールール」と「プロセスビルダー」の「フロービルダー」への統合が発表されているので、今後自動化ツールの作成を検討されている方は「フロー」を使用しましょう。
また、「承認プロセス」とは、社内手続きをスムーズにするための機能で、別のユーザやグループからの承認を要するプロセスの自動化に特化した機能です。
Salesforceでは、その他に独自のプログラミング言語であるApexを使用し、より高度なビジネスロジックや複雑なプロセスの自動化を実現することも可能です。
参照:SalesforceのApexとフローはどのように使い分けるべき?プロが徹底解説
3.Salesforceフローの起動条件とは
フロービルダーは、5つの基本的な起動条件(コアアクション)により区別できます。
①画面フロー
Lightningページ、Experience Cloudサイト、クイックアクションなどのユーザ操作をトリガーに起動するフローです。
(例)取引先と商談をまとめて作成する画面を表示する。画面で開いているレコードのコピーを作成するボタン(アクション)を作成する。
②レコードトリガフロー
レコードを作成・更新・削除した事をトリガーに起動するフローです。
(例)商談フェーズが受注に更新されたタイミングで、ToDoレコードを作成する。リードが作成された3日後にメールを送信する。
③スケジュールトリガフロー
指定した時間及び頻度をトリガーに、検索条件に一致する複数のレコードを一括で処理できるフローです。
(例)未着手のリードに関連付けられたToDoを日時で自動作成する。特定の条件に合致する商談のフェーズを週次で自動更新する。
④プラットフォームトリガフロー
ユーザーの操作、プラットフォーム機能の実行、これらによって発生する変化をプラットフォームイベントとして公開し、公開されたプラットフォームをキャッチした事をトリガーにアクションを実行するフローです。
(例)商談が成立した時に、複数の処理を並行して進める。(契約書の作成、出荷準備、配送手配)
⑤自動起動フロー(トリガ無し)
このフローは、自身を呼び出す他の自動化機能と組み合わせて使用する画面を持たないフローです。つまり、自身とは異なるフローやApex等から呼び出され実行するフローです。
(例)Apexトリガで複雑な処理を行った後、自動起動フローで作成した簡単な処理を呼び出す。
4.Salesforceフローのリソースとは
フロービルダーでフローを作る際には、「レコードの取得」「レコードの削除」「フローの分岐」「ループ」などの要素を追加して、処理を行います。
リソースとは、その処理の際に参照出来る値を指し、ツールボックスやフロー要素の設定内に作成できます。
①変数
変数は、数値や文字列といった値を一時的に保管するために作成します。フロー全体で参照・変更が可能です。例えば、Salesforceレコードの項目の値を保存する・決定要素の条件に使用する・ループの繰り返し回数をカウントする・数式を作成するなど多岐にわたり使用します。
②定数
定数は、フロー全体で使用し、且つ変更できない固定値を保存します。例えば、税率などの固定の値に使用します。
③数式
数式は、計算された値を示します。例えば、フローが起動した日の30日後を計算する数式を組み、その値を完了予定日に入れることや、項目のデータ型を変更する際などに使用できます。
Salesforceで使用できる数式は、フロー内でも一部を除いて使用できます。
Salesforceで使用できる数式の一覧はこちらからご覧いただけます。
フロー内で使用できない数式はこちらを参照してください。
④テキストテンプレート
テキストテンプレートは、リッチテキストやプレーンなテキスト文章を作成するためのリソースです。テキストテンプレートによって、レコード項目の差し込み機能を利用できます。例えば、レコードの内容をテキストテンプレートに差し込み、メール本文を組み立て送信できます。
⑤フェーズ
フロー内でのユーザの進捗を表します。例えば、オンライン購入フロー内で、カートの確認→支払の詳細→注文の確認というフェーズを定義し、顧客が完了したフェーズを顧客の画面に表示させることなどができます。
5.Salesforceフローの具体的な作成手順
今回は、レコードトリガフローでレコードの値が一定の条件を満たした際に、別オブジェクトに複数レコードを一括で作成するフローの作成方法を紹介します。
<下記の機能を使用します>
- レコードトリガフロー
- レコードを取得
- レコードを作成
- 決定(パスの分岐機能)
- 割り当て(変数値の設定)
- リソースの変数・数式
<フローのゴール>
商談レコードのフェーズが受注になった事をトリガーに、受注になった商談の情報を基に請求オブジェクト(カスタム)のレコードが請求回数分作成されます。
標準オブジェクトの契約やカスタムオブジェクトの売上などで受注商談の管理をしているという企業様の参考にもなるかと思います。
<フローの全体像>
下図が完成したフローです。
全体の流れとしては、商談が受注完了した際に起動→トリガーとなった商談のデータを取得→請求回数分のレコードデータが格納されたか判定→格納されていなければレコードのデータを格納→格納されていれば、格納されたデータに基づきレコードを作成となります。
<作成手順>
まず、商談オブジェクトに以下のカスタム項目が必要です。
- 請求回数
- 初回請求日
- 請求金額
次に、カスタムオブジェクトの請求に、以下の項目が必要です。
- 請求金額
- 請求日
- 商談名
①設定画面から「フロー」を検索し、「フロー」の画面に遷移、「新規フロー」をクリックします
②今回はレコードの更新がトリガーのため、「レコードトリガフロー」を選択し、作成を押下します。
③開始の設定画面で下記を設定します。
- オブジェクト:商談(トリガとするオブジェクトを選択します)
- フローをトリガする条件:レコードが作成または更新された
- エントリ条件を設定:[条件の要件]全ての条件に一致(AND)
- 項目:フェーズ(StageName)
- 演算子:次の文字列と一致する
- 値:受注
- 更新されたレコードでフローを実行するタイミング:条件の要件に一致するようにレコードを更新したときのみ。
※条件に一致するたびを選択すると、受注商談のレコードを更新するたびにフローが動くため
フローを最適化:アクションと関連レコード
④フローの後半で使うため、トリガとなった商談レコードの項目値をフロー変数に保存します。
要素を追加:レコードを取得を選択
※レコードを取得とは、検索条件を設定し、該当レコードの値を変数に保存します。
新規のレコードの取得で下記を入力します。
- 表示ラベル:受注商談レコードの取得
- API参照名:Opportunity_acquisition
※API参照名とは、API および管理パッケージが使用する名前 (最大79文字)です。この名前は、すべてのプロセスおよびフローで一意である必要があります。名前は文字で始まり、英数字とアンダースコアのみを使用する必要があります。スペースは使用しない、最後にアンダースコアを使用しない、2つ続けてアンダースコアを使用しないという制約があります。 - 説明:フロービルダーのプロセスを開始したフェーズ受注の商談レコード
- オブジェクト:商談
- 条件の要件:すべての条件に一致(AND)
- 項目:Id
- 演算子:次の文字列と一致する
- 値:$Record>商談ID
※トリガとなった商談レコードのID
⑤要素の「決定」を使い、請求レコードのデータを請求回数分作成する繰り返し処理を作成します。
受注商談レコードの取得の下にある+を選択し、決定を押下します。
※決定とは、フロー変数を特定の値と比較させ、処理を分岐させることです。つまり、条件分岐if-thenと同じ機能をもっています。
新規決定の画面が出てくるので、下記の内容を入力します。
- 表示ラベル:請求回数分作成したか?
- API参照名:Check_claim_number_count
- 結果の詳細表示ラベル:Yes
- API参照名:Yes
- 結果を実行する条件の要件:すべての条件に一致(AND)
リソースを検索を選択し、一番上の新規リソースを押下します。
新規リソースの作成画面が表示されるので、下記の内容を入力し、完了を押下します。
- リソース種別:変数
- API参照名:counter
- データ型:数値
- 小数点の位置:0
- デフォルト値:0
新規リソース作成完了を押下すると、リソースに作成したリソース(ここではcounter)が設定されます。
下記の内容を入力し、完了を押下します。
- リソース:counter
- 演算子:次の文字列と一致する
- 値:請求回数
- 結果を実行するタイミング:条件の要件を満たす場合
次に、デフォルトの結果を選択し、表示ラベルをNOにして完了を押下します。
⑥下記の見た目になりました。
counterが項目:請求回数で入力された値以上の時Yesルートに入り、それ以外の場合Noルートに入ります。
Noの場合の処理としてレコードを作成する請求レコードのデータを作成し、Yesのルートに入るとNoのルートで作成されたデータに基づき、レコードを作成します。
⑦Noの下の+から割り当てを選択します。ここで作成レコードの値の代入を行います。
※割り当てとは、フロー変数に特定の値を代入する処理を記述します。
新規割り当て画面が表示されるので、下記の情報を入力します。
- 表示ラベル:1レコード分のデータ作成
- API参照名:Set_create_record_data
その後、新規リソースを選択します。
ここでは、作成するレコードのデータを格納するリソースを作成します。
下記に基づいて入力し、完了を押下します。
- リソース種別:変数
- API参照名:Target_claim_record
- データ型:レコード
- オブジェクト:請求
次に、新規リソースで1請求あたりの金額を算出します。API参照名が表示されているため分かりづらいですが、請求金額を請求回数で割っています。
- リソース種別:数式
- API参照名:Claim_amount_per1
- データ型:通貨
- 小数点の位置:0
- 数式:{!Opportunity_acquisition.Claim_amount_money__c}/{!Opportunity_acquisition.Claim_count__c}
次に、新規リソースで請求日を特定する数式を作成します。この数式では、初回請求日の月にカウンターの数分加算した日付を算出しています。
- リソース種別:数式
- API参照名:F_claim_close_date
- データ型:日付
- 数式:ADDMONTHS({!Opportunity_acquisition.First_claim_date__c},{!counter})
完了を押下すると新規割り当て画面に戻るので、作成したリソースを選択し完了を押下します。
これで、作成したい請求レコード1つ分のデータが代入されたリソースの作成が出来ました。
- 変数:Target_claim_record>請求金額
- 演算子:次の文字列と一致する
- 値:Claim_amount_per1
- 変数:Target_claim_record>請求日
- 演算子:次の文字列と一致する
- 値:F_claim_close_date
- 変数:Target_claim_record>商談
- 演算子:次の文字列と一致する
- 値:商談ID
⑧請求レコード1つ分のデータが代入されたリソース(Target_claim_record)のデータをレコード一括作成用のリソースを作成し、割り当てます。
要素を追加から、割り当てを選択します。
新規割り当て画面で下記を入力し、新規リソースを選択します。
- 表示ラベル:一括作成用レコードコレクションにデータをセット
- API参照名:Set_create_records
新規リソース画面で下記を入力し、完了を押下します。
- リソース種別:変数
- API参照名:Create_records
- データ型:レコード(複数の値を許可にチェック)
- オブジェクト:請求
新規割り当て画面に戻るので、下記を入力し、完了を押下します。
ここで、Target_claim_recordのデータレコードが、Create_recordsに格納されます。また、1レコード分のデータが格納されたので、カウンターに1を追加します。
- 変数:Create_records
- 演算子:追加
- 値:Target_claim_record
- 変数:counter
- 演算子:追加
- 値:1
⑨レコードデータ作成が完了したので決定に接続し、レコード作成上限の判定を行います。
要素に接続を押下し、決定の下の+を押下すると接続完了になります。
赤枠で囲ったルートを、作成したいレコードの数分繰り返します。
⑩次に、Yesのルートの処理を行います。
Yesの時は、請求回数分の「請求」レコードデータが「Create_records」に蓄積されているため、「Create_records」のデータを利用して、レコードを一括作成(データ登録)します。
Yesの下の+を選択肢、「レコードを作成」を選択します。
新規のレコードの作成画面で下記を入力し、完了を押下します。
- 表示ラベル:一括請求登録
- API参照名:Create_claim_records
- 作成するレコード:複数
- レコードコレクション:Create_records
フローが完成しました。
保存して有効化します。
<完成したフローの使用>
テスト商談を作成し、初回請求日・請求回数・請求金額を入力しました。
商談を受注にし、完了を押下します。
請求オブジェクトのリストビューを確認すると、4レコードが作成されています。
6.まとめ
今回はSalesforceの自動化ツールであるフローについて、その定義や設定方法、注意点について解説しました。フローを活用し、ビジネスプロセスの効率化・自動化を行いましょう。
Strhではフローの実装をはじめCRMツールの設計から導入〜活用支援まで一貫して行っています。Salesforce製品を導入予定だけど、上手く活用できるか自信が無いという方、既にSalesforce製品を導入済みで、もっと効果的に活用を行いたいという企業様は、ぜひお気軽にお問い合わせフォームよりご相談ください。
執筆者 取締役 / CTO 内山文裕
青山学院大学卒業後、株式会社ユニバーサルコムピューターシステムに入社。
大手商社のB2B向けECサイトの構築にて会員登録、見積・注文機能、帳票出力などECにおける主要機能のフロント画面・バックエンドの開発に従事。 その後アクセンチュア株式会社に入社。デジタルコンサルタントとしてWebフロントエンド・モバイルアプリの開発やアーキ構築を主に、アパレル・メディア・小売など業界横断的にシステム開発を支援。また、ビッグデータを活用したマーケティング施策の策定やMAツールの導入・運用支援にも従事。
2022年2月にStrh株式会社の取締役CTOに就任。デジタルプロダクト開発の支援やMAツール導入・運用支援を行っている。
▼保有資格
Salesforce認定アドミニストレーター
Salesforce認定Java Scriptデベロッパー