【初心者向け】Salesforceのサブフローってなに?使い方を分かりやすく解説

公開日: 最終更新日:

20250930_000.png

この記事でわかること

  • Salesforceのサブフローの基本概要と活用するメリット
  • エラー通知用サブフローの具体的な作成手順と設定方法
  • 親フローからサブフローを呼び出して共通処理を組み込む方法

目次

はじめに

Salesforceの「フロー」は、ノーコードでビジネスロジックを構築できる便利な機能です。
業務自動化の強力な味方ですが、業務が複雑になるとフローの規模も大きくなり、処理が分かりづらくなってしまうこともあると思います。
 
そのため、Salesforceのフロー構築に取り組んでいる方の中には、
「フローが長くなりすぎて見づらい」
「共通処理を何度も書くのが大変」
と感じている方もいらっしゃるのではないでしょうか?

そこで登場するのが「サブフロー」です。サブフローを使えば、共通処理を再利用でき、フロー全体をシンプルに保つことができます。
本記事では、そんなサブフローの基本から実践的な使い方まで、初心者の方向けに解説していきます。

アップビルダーが300名以上在籍!
テラスカイ・テクノロジーズのエンジニア派遣の資料ダウンロードはこちら
→https://www.terrasky-tech.co.jp/document/about

1.そもそもSalesforceのサブフローってなに?

まず、「サブフロー」と聞くと難しく感じるかもしれませんが、イメージとしては「よく使う処理をまとめた便利な道具箱」のようなものです。
 

たとえば、料理で「ゆで卵を作る」という手順を毎回説明するのは面倒です。
「鍋に水を入れる → 卵を入れる → 火をかける → 時間をはかる」…と毎回手順を書いていたら、レシピが長くなってしまいますよね。
 

そこで「ゆで卵の作り方」という手順を別で用意しておいて、レシピでは「ゆで卵を作る(※詳しくは別紙)」とだけ書けば、すっきりする気がしませんか?
これが、Salesforceにおけるサブフローの考え方です。
 

サブフローには下記の特徴があります。
・呼び出し元のフロー(親フロー)からデータを受け取れる
・処理後、結果を親フローに返すことができる
・再利用可能(複数の親フローから呼び出せる)

つまり、「共通処理の部品化」が可能になることで、以下のようなメリットがあります。
 ・フローの再利用性が高まる
 └ 毎回同じ処理を作る必要がなくなります
 ・フロー全体の構造が見やすくなる
 └メインのフローがすっきりして読みやすくなります
 ・修正時の影響範囲が限定される
 └共通処理を一か所直せば、全部に反映されるのでミスが減ります
  
では、具体的にどのような場面でサブフローが活躍するのでしょうか?
ここからは、実践編として「エラー通知のサブフロー」を作成する流れを紹介していきます。
エラー時の通知処理をサブフローにまとめておくことで、フロー全体の見通しが良くなるだけでなく、万が一のトラブルにも素早く対応できる体制を構築することができます。
ぜひ、一緒に試してみてください。

2.使い方解説:エラー通知のサブフローを作成しよう

今回作るのは、「フローでエラーが発生したときに、特定のユーザーにエラー通知を送る」というサブフローです。


業務フローを使っていると、何らかの原因で処理が途中で失敗してしまうことがあります。そんなとき、ただエラーを握りつぶしてしまうのではなく、誰かがすぐに気づいて対応できるようにすることが重要です。

通知処理をサブフローとして共通化しておけば、どのフローでも一貫した形でエラーを検知し、関係者へ自動的に知らせることができるため、処理が失敗してしまった対応を確実に、かつスムーズに行えるようになります。


フローを作るたびに「エラーが発生したら関係者に通知を…」といったフローを組むことを考えると、少し億劫になってしまいますよね。でも、サブフローを一度作っておけば、このサブフローを部品として使いまわすことができるため、フローの作成効率もぐっとアップします!


というわけで、フロー側でエラーが起きたときに特定のユーザーに通知を送るサブフローを実装していきましょう。

1.サブフローの作成

①サブフローを作成する前に通知先をいつでも変更できるようにカスタム表示ラベルを作成

・簡単な説明:エラー通知先
・名前:emailErrorNotification
・値:通知先のEmail(カンマ区切りで複数のメールの設定が可能)

20250930_001.png

②設定>フロー>新規フロー>自動起動フロー(トリガーなし)を選択

20250930_002.png

③入力用の変数、テキストテンプレートを作成
・API参照名:errorMessage
・フロー外部での可用性:入力で使用可能にチェック

20250930_003.png

・API参照名:flowAPIName
・フロー外部での可用性:入力で使用可能にチェック

20250930_004.png

・API参照名:flowName
・フロー外部での可用性:入力で使用可能にチェック

20250930_005.png

・API参照名:subject
 ・本文:【Salesforce】"{!flowName}"にてエラーが検出されました

20250930_006.png

④要素を追加>アクションを選択

20250930_007.png

⑤メールを送信を選択

20250930_008.png

⑥表示ラベルとAPI参照名を入力
・表示ラベル:エラー通知
・API参照名:errorNotification

20250930_009.png

⑦受信者の詳細の設定で「受信者アドレスリスト」に手順①で設定したカスタム表示ラベルを選択

※カスタム表示ラベルでフローを変更せずに通知先の変更が可能になります

20250930_010.png

⑧送信者の詳細の設定で任意のメールの送信者のタイプを入力。

20250930_011.png

※送信者タイプは下記の通りです
・CurrentUser — フローを実行しているユーザーのメールアドレス
・DefaultWorkflowUser — デフォルトワークフローユーザーのメールアドレス
・OrgWideEmailAddress — [送信者メールアドレス] で指定される組織のメールアドレス
  
⑨メールコンテンツの設定で下記情報を入力
※メールコンテンツを作成するには「メールコンテンツを作成」オプションを使用します。
既存のメールテンプレートを使用するには「メールテンプレートを使用」オプションを使用します。
 
・件名:subject(3.で作成したテキストテンプレート)
・本文:
 以下の内容でSalesforceフローの実行中にエラーが発生しました。速やかにご確認をお願いいたします。

==============================

■ 対象フロー名 
{!flowName}

 
■ 対象フローAPI名 
{!flowAPIName}

■ 発生日時
{!$Flow.CurrentDateTime}
 

■ エラー内容
{!errorMessage}

==============================
※本通知はSalesforceフロー実行中に発生した例外を検知し、自動送信されています。
 
・リッチテキストの本文:True 
・改行を使用:True

20250930_012.png
20250930_013.png

⑩保存>フロー名、API参照名を入力>有効化

20250930_014.png

2.親フローからサブフローを呼び出す

①親フローを選択
※CRUD処理の障害パスでサブフローを使用するため、レコードの作成要素を使用しているフローを選択

 

20250930_015.png

②レコード作成要素の「︙」から「障害パスを追加」を選択

20250930_016.png

③要素を追加>サブフローを選択

20250930_017.png

④サブフロー_エラー通知を選択し下記情報を入力
・表示ラベル:エラー通知
・API参照名:ErrorNotification
・errorMessage:{!$Flow.FaultMessage}
・flowAPIName:フローのAPI参照名を入力
・flowName:フロー名を入力

20250930_018.png

⑤新規バージョンとして保存>有効化

実際にエラーが起きたときに下記画像のようにメール通知が届きます。

20250930_019.png

まとめ

今回は、Salesforceフローの「サブフロー」について初級者向けにご紹介しました。
サブフローを活用することで、フロー設計の効率が格段に上がります。
最初は難しく感じるかもしれませんが、まずは小さな共通処理から試してみるのがおすすめです。

著者プロフィール

H.K.(Salesforceエンジニア)

🏅保持資格
・Salesforce 認定 Platform アドミニストレーター
・Salesforce 認定 Platform アプリケーションビルダー
・Salesforce 認定 Marketing Cloud Account Engagement スペシャリスト
・Salesforce 認定 Data Cloud コンサルタント
・Salesforce 認定 AI アソシエイト
・Salesforce 認定 Agentforce スペシャリスト

大手独立系SIerにて、MA/CRM運用保守プロジェクトを2年間担当。その後、SFAの追加開発およびデータ統合プロジェクトに参画し、設計・開発・実装・運用保守まで一貫して担当。現在も同プロジェクトにて業務を継続中。Account Engagementによるメール配信設計や、SFA標準機能を活用した業務自動化の実装を得意とする。