ブログ

フローオーケストレーションを使ったSalesforce Platform全体をまたがるプロセスの自動化

#Salesforce #Platform #フローオーケストレーション #自動化

積極採用中
セミナー情報

Salesforceでさまざまな業務の自動化やワークフローシステムを構築しようと考えているシステム管理者の皆様、複雑な要件の実装にお悩みをお持ちの方も多いのではないでしょうか?要件が複雑なためにワークフロー専用システムを使ってしまってはSalesforceのメリットが薄れてしまいます。

本記事では、フローや承認プロセスなどでは実装できなかった複雑な自動化要件を実装することができる「フローオーケストレーション (Flow Orchestration)」について、その構造や作成方法について解説します。

この記事を読むことでフローオーケストレーションを利用するメリットやユースケース、フローオーケストレーションの構造を理解できます。
さらに、複雑になりがちな購買申請プロセスをサンプルシナリオとしてフローオーケストレーションの構築方法や管理方法を見ていきましょう。

フローオーケストレーションとは?

Salesforceのフローオーケストレーションは、複雑なビジネスプロセスを一元管理し、自動化するための強力な機能です。フローオーケストレーションは既存のSalesforce フローを活用し、より高度な自動化プロセスを構築できます。

この機能を使用することで、複数のチームや部門が関与する複雑なプロセスを、ノーコード・ローコードのインターフェースを通じて簡単に設計・実行することができます。

たとえば、あるプロジェクトが複数の部署にまたがる場合、フローオーケストレーションを使用すれば、各ステップで必要なアクションや引き継ぎを可視化し、シームレスに進行させることが可能です。結果として、業務の効率化が図られ、手動での作業が減少し、エラーのリスクが低減します。

Salesforceのフローオーケストレーションを導入することで、ビジネスプロセス全体の管理が容易になり、業務のスピードと正確性が向上するという大きなメリットがあります。

フローオーケストレーションとフローの違い

では、フローオーケストレーションとフローにはどのような違いがあるのでしょうか。
大きな違いはトランザクションです。

フローはトランザクションが1つで完結するため、1つのフローが実行されて完了すると、その間にユーザーが入力した情報や計算された情報などは削除されます。そのため、フロー内で利用した値などは次のフローに利用できません。

フローオーケストレーションは複数のトランザクションを1つのワークフローに組み合わせることができ、各フローで利用した値を保持しながらビジネスプロセスを進めることができます。

オンラインでの商品購入の申し込みを例にしてみましょう。

オンラインで購入申請をする画面はフローを活用できます。しかし、情報はただ登録されるだけで、営業担当が内容を確認し次の業務を実施するまで待つ必要があります。申し込み後の業務は完全に別のプロセスになってしまいます。

フローオーケストレーションを使用すれば、自動化されたプロセスを1つのワークフローに組み合わせることで、各フェーズに整理されたステップにフローを配置できます。つまり、各部門への作業割り当ての自動化や全体プロセスの進捗管理が容易になります。さらにフェーズ間での遅延を少なくし、シームレスな部門間連携と素早い顧客対応を実現できます。

フローオーケストレーションのユースケース例

上記でご説明したように、フローオーケストレーションは複数部門や複数プロセスが関わる複雑なビジネスプロセスを作成できます。具体的にどのような例があるか見てみましょう。

インシデント管理の自動化

企業が提供するオンラインサービスに大規模な障害が発生した場合、技術サポート、システム管理、顧客対応、法務など、複数の部門が迅速に連携し、問題解決に向けた対応が求められます。フローオーケストレーションを使用することで、障害対応プロセスを一元管理し、各部門間の引き継ぎをスムーズに行うことができます。
たとえば、技術サポートが障害を特定すると、自動的にシステム管理部門にタスクが割り当てられ、その後、顧客対応部門に影響範囲が通知されます。これにより、インシデント対応のスピードが向上し、顧客満足度を高めると同時に、部門間のコミュニケーションが改善され、障害対応の効率が大幅に向上します。

営業サイクルの体系化

営業プロセスはリードの取得から契約締結まで、マーケティング、営業、法務、財務など複数の部署が関与する長期的なプロセスです。フローオーケストレーションを利用することで、営業プロセス全体を効率化し、各ステップでのタスクを自動化することで、スムーズな引き継ぎとプロセスの可視化を実現します。
たとえば、リードが一定の条件を満たすと、次のステップに自動的に進み、担当者に通知が送られるため、手作業によるミスや遅延が減少します。これにより、営業サイクル全体が最適化され、各ステップでの無駄が削減され、営業プロセスの迅速化と成約率の向上が期待でき、売上の増加に貢献します。

住宅ローンの承認管理

住宅ローンの申請プロセスは、申請者の情報収集から始まり、信用調査、財務分析、最終承認までの多くのステップを経て進行します。フローオーケストレーションを活用することで、申請プロセスの各ステップを自動化し、各部門間でのデータ共有を効率化します。
たとえば、信用調査が完了すると、財務分析部門に自動的にデータが送信され、次の審査ステップが開始されるため、プロセス全体が合理化され、手作業による遅延やミスが減少します。これにより、住宅ローンの承認プロセスが迅速かつ正確に進行し、申請者への対応速度が向上し、顧客満足度の向上とローン審査にかかる時間の短縮が実現され、競争力のあるサービスを提供することが可能になります。

フローオーケストレーションの種類と構造

2種類のフローオーケストレーション

それでは、具体的にフローオーケストレーションについてご紹介いたします。
まずフローオーケストレーションには2種類あります。「自動起動オーケストレーション(トリガーなし)」と「レコードトリガーオーケストレーション」です。

自動起動フローオーケストレーション(トリガーなし)

自動起動オーケストレーション(トリガーなし)はApexやカスタムボタン、カスタムリンクなどによって起動されるオーケストレーションです。通常のフローにおける自動起動フロー(トリガーなし)と同様の起動方法となります。

レコードトリガーオーケストレーション


レコードトリガーオーケストレーションはその名の通りレコードトリガー(作成または更新)によって起動されるオーケストレーションです。通常のフローにおけるレコードトリガーフローと同様の起動方法になります。

フローオーケストレーションのビルディングブロック

次にフローオーケストレーションの構造を見ていきましょう。
フローオーケストレーションは通常のフローとは異なり、フェーズ、ステップ、決定の3つの要素から構成されています。

ステップ

ステップとは画面の入出力やバックグラウンド処理、外部API呼び出しなどの1つの処理を定義したものです。1つのステップには1つのフローを指定する必要があります。

また、ステップはフェーズの中で同時に実行できます。

ステップにはさらに3種類に分けることができます。

バックグラウンドステップは、システムが自動で行う処理を定義するステップで、自動起動フローを指定する必要があります。例えば、1つ前のステップで入力された承認コメントをレコードへ更新するなど、バックグラウンドで自動でレコードを更新したい場合に利用します。

対話型ステップは、ユーザーによる画面入出力のある処理を定義するステップで、画面フローを指定する必要があります。例えば、承認のコメントを入力するなど画面での入力をユーザーにガイド付きで実行してもらいたい場合に利用します。

MuleSoftステップは、Mulesoftと連携してシステムが非同期で実行する処理を定義するステップで、MuleSoftのアクションを指定する必要があります。例えば、承認結果を元に外部システムへデータを連携するなど、外部システムとの連携を実行する場合に利用します。

フェーズ

フェーズとは関連するステップを1つにまとめたグループのことを指します。ステップは並列して実行することが可能ですが、フェーズは必ず1つずつ実行され、複数のフェーズが同時に実行されることはありません。

また、フェーズには開始条件はありませんが、以下のような終了条件を設定できます。
・すべてのステップが完了
・指定した条件(レコードの項目など)が満たされる
・カスタム評価ロジック(評価フロー)

このフェーズの終了条件とステップの開始条件を組み合わせることで、複雑なプロセスの実行が可能になるのです。

決定

決定とはフェーズ間の分岐ロジックのことです。通常のフローの決定と同じ利用方法です。フェーズやステップの値をベースに分岐することが可能です。

フローオーケストレーションの作成方法

それでは具体的にフローオーケストレーションを作成する流れを見ていきましょう。

フローオーケストレーションを作成する前に決めておくこと

Salesforceの画面からフローオーケストレーションを作成する前にビジネスプロセスの詳細を把握し、設計しておくことが非常に重要です。

まず初めにプロセスの開始から終了までの全体像を整理しましょう。
Salesforce公式のTrailheadにもプロセスを整理する際には以下の点を考慮すると良いと記載されています。

  • プロセスの開始から終了までにどのようなことが行われるか?
  • ユーザーまたはグループはどのような人々で、プロセスで各人がどのようなロールを担うのか?
  • どのロールにどのタスクが割り当てられるのか?
  • 選択的に実行されるステップはあるか?
  • プロセスを一時停止して再開する必要があるか?
  • エントリ条件などの最適化を使用して不要な操作を減らすことができるか?
  • メンテナンスや変更管理について、このビジネスプロセスの責任者は誰か、変更や反復処理が行われる可能性がどのくらいあるか?
  • 既存のフローを分析して、オーケストレーションに組み込むことができるか?
  • (引用:フローオーケストレーションの計画を立てる

上記の点に注意しながら全体のプロセスを整理することができたら、Salesforceのビルダーからステップやフェーズ、オーケストレーションを実行するために必要なフローを作成していきましょう。

求人応募プロセスの作成

本記事では求人応募プロセスの一部を例にフローオーケストレーションの作成方法について解説します。
本プロセスはTrailheadの「ステップを特定してフローを作成する」を参考にしております。

フローの作成

まず、プロセスに必要なフローを作成します。
例えば、求人応募プロセスの作成の場合、以下のようなフローを作成します。
・求人情報を入力する画面フロー
・面接の日時を応募者にメールで通知する自動起動フロー
・面接官が面接の結果を入力する画面フロー

上記のようなフローを事前に定義したステップごとに作成します。各フェーズに必要なフローを作成したら、オーケストレーションを作成していきましょう。

Salesforceの画面フローとは?できることや各フローとの違いを解説

 具体的なフローの作成方法については過去にご紹介しているので、復習されたい方は以下の記事をご覧ください。
    ◆Salesforceの画面フローとは?できることや各フローとの違いを解説

オーケストレーションの作成

まず、オーケストレーションを作成しましょう。

  1. 設定画面から「ホーム」を選択
  2. 左上部の「クイック検索」に「フロー」と入力し、「プロセスの自動化」項目内の「フロー」を選択
  3. 右上部の「新規フロー」を選択し、フロービルダーを起動
  4. 「レコードトリガーオーケストレーション」を選択し、「作成」ボタンを押下
  5. 「オブジェクト」で「Position (職位)」 を選択
  6. 「オーケストレーションをトリガーする条件」で 「レコードが作成されたとき」を選択
  7. 「条件の要件」で「すべての条件に一致 (AND)」を選択
  8. 「項目」に「Status__c」、「演算子」には「次の文字列と一致する」、「値」に [New] を選択
  9. 「保存」ボタンを押下
  10. 「オーケストレーションの表示ラベル」に「採用オーケストレーション」と入力
  11. 「オーケストレーションのAPI参照名」に「RecruitingOrchestration」と入力
  12. 「保存」ボタンを押下

次に、最初のフェーズとなる「採用担当者による選考」というフェーズを作成しましょう。

  1. 「開始」要素の後のパスで、◯にカーソルを合わせて+をクリックします。
  2. 「フェーズ」を選択
  3. 「表示ラベル」に「採用担当者による選考」と入力
  4. 「API参照名」に「RecruiterScreening」と入力
  5. 「フェーズを完了するタイミングを選択」で「すべてのステップが完了とマークされたら、フェーズは完了とマークされます」を選択
  6. 「保存」ボタンを押下

以上で、フェーズの定義が完了しました。次にフェーズの中で処理するステップを追加しましょう。本プロセスでは以下の2つのステップを設定します。

  • 求人募集を入力する
  • 電話選考をスケジューリングする

それでは1つ目の「求人募集を入力する」ステップから設定しましょう。

  1. フェーズの「ステップを追加」ボタンを押下
  2. 「対話型ステップ」を押下
  3. 「表示ラベル」に「求人応募を作成する」と入力
  4. 「API参照名」に「Create_a_job_application」と入力
  5. 「ステップを開始するタイミングを選択」で「フェーズが開始されたら、ステップが開始されます」を選択
  6. 「実行するアクションを選択」の「アクション」項目をクリックして、「Enter Job Application」フローを選択
  7. 「選択されたアクションの入力値を設定」の「varPositionId」項目をクリックして、「Triggering Position__c > Record ID」を選択
  8. 「アクションを完了する個人を選択」セクションで、「割り当て先種別」項目をクリックして「ユーザーリソース」を選択
  9. 「ユーザーリソース」項目をクリックして、「Triggering Position__c > Owner ID (User) > Username」を選択
  10. 「アクションを完了する場所を選択」で「Triggering Position__c >Record ID」を選択
  11. 「ステップを完了するタイミングを選択」で「割り当てられたユーザーが画面フローを完了したら、ステップは完了とマークされます」を選択
  12. 「保存」ボタンを押下

以上で1つ目のステップの設定が完了です。次に2つ目の「電話選考をスケジューリングする」を作成しましょう。

  1. フェーズの「ステップを追加」ボタンを押下
  2. 「バックグラウンドステップ」を選択
  3. 「表示ラベル」に「候補者に通知する」と入力
  4. 「API参照名」に「Notify_candidate」と入力
  5. 「ステップを開始するタイミングを選択」で「別のステップが完了とマークされたら、ステップが開始されます」を選択
  6. 「ステップ名」で「求人応募を作成する」を選択
  7. 「実行するアクションを選択」セクションの「アクション」項目をクリックして、「Interview Email Notification」フローを選択
  8. 「選択されたアクションの入力値を設定」で「varCandidateId」をクリックし、「採用担当者による選考 > 求人応募を作成する > 出力 > varCandidateId」を選択
  9. 「保存」ボタンを押下

以上で2つ目のステップの設定が完了です。本来であれば、3つ目のステップとして「電話選考を実施する」というステップを作成しますが、1つ目のステップと作成方法が同じであるため、本記事では省略します。

それでは次に「決定」を追加します。
直前のフェーズで電話選考が実施され、応募者のスコアが3未満の場合には次の採用プロセスに進むことができず、スコアが3以上の場合は採用担当マネージャーとの面接がスケジュールされるという条件を設定しましょう。

  1. 「採用担当者による選考フェーズ」と「終了」要素の間にある◯にカーソルを合わせて+をクリック
  2. 「決定」をクリック
  3. 「表示ラベル」に「次の段階に進む」と入力
  4. 「API参照名」に「Go_to_next_round」と入力
  5. 「説明」に「応募者を次の段階に進めるか」と入力
  6. 「結果の詳細」の下にある「表示ラベル」に「はい」と入力
  7. 「結果のAPI参照名」に「Yes」と入力
  8. 「リソース」をクリックして「採用担当者による電話選考 > 出力 > varReviewScore」を選択し、演算子で「以上」を選択、「値」に「3」を入力
  9. 「保存」ボタンを押下

以上で「決定」が追加されました。

これまでの作成方法のように、フェーズ、ステップ、決定をそれぞれ作成することでフローオーケストレーションを構築することができます。

本記事の例では、この後に「採用担当マネージャーとの面接」フェーズや「採用判断」決定、「応募者の不採用」フェーズなどを作成することでオーケストレーションが完成します。

以上でオーケストレーションの作成が完了しました。
次にユーザーが実行できるようにページレイアウトに作業ガイドを追加しましょう。

作業ガイドをページレイアウトへ追加

フローオーケストレーション作業ガイドとは


作成したフローオーケストレーションはレコード画面の「作業ガイド」で実行されます。「作業ガイド」は上記で作成した対話型ステップに設定した画面フローが表示され、作業を割り当てられたユーザーは該当のレコードで作業ガイドを確認しながら業務を進めます。

作業を割り当てられたユーザーにはレコードのリンクを含むメールが送信されます。そのため、ユーザーはレコードの検索など、画面切り替えの時間を浪費することなく作業に入ることができます。

フローオーケストレーション作業ガイドをページレイアウトに追加

それではレコードページに作業ガイドコンポーネントを追加し、ユーザーが業務を実行できる状態にしましょう。

  1. 作業ガイドを配置するオブジェクト(本記事ではPositions)のレコードページを開き、歯車マークを押下
  2. 「編集ページ」を押下
  3. 「コンポーネント」欄の「フローオーケストレーション作業ガイド」を画面右側へドラッグ&ドロップで配置
  4. 「保存」ボタンを押下

以上で作業ガイドの配置が完了しました。これで作業が割り当てられたユーザーが作業ガイドをもとに業務を実行できる状態になりました。

フローオーケストレーションの進捗管理

実際の業務では複数の作業が割り当てられ、全体の進捗を管理しながら業務を実行する必要があります。

フローオーケストレーションでは、管理者が全ての作業の一覧を管理する「オーケストレーション実行」と、割り当てられたユーザーが作業の一覧を管理する「オーケストレーション作業項目」の2つの管理機能があります。

最後に、フローオーケストレーションの作業を管理する2つの方法について見ていきましょう。

オーケストレーション実行


「オーケストレーション実行」は管理者向けのオーケストレーション管理画面です。フローオーケストレーションの実行状況を一覧で表示できます。

管理者はオーケストレーションの進捗状況を把握することはもちろん、オーケストレーションのキャンセルやデバッグ、一時停止、再開が可能です。

さらに各レコードの関連オブジェクトには、フェーズごとの状況と履歴を示す「オーケストレーションフェーズ実行」、ステップごとの状況と履歴を示す「オーケストレーションステップ実行」、全体の実行ログを示す「オーケストレーション実行ログ」を確認できます。

管理者はリストビューを活用して全体の進捗状況やエラー状況を把握し、レコードページを確認することで1つ1つの作業状況の詳細を把握することができます。

オーケストレーション作業項目


「オーケストレーション作業項目」は作業者向けのオーケストレーション管理画面です。作業を割り当てられたユーザー、もしくはグループやキューのメンバーのみが、割り当てられた作業を表示することが可能です。

各レコードを選択して、割り当てられた作業を実施できます。

このように、フローオーケストレーションは通常のフローを拡張して、複雑なビジネスプロセスや複数部門に関わるプロセスを一元管理し、自動化できます。
ぜひ積極的に取り入れてみてください!

<Salesforce>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではSalesforceの導入支援のサポートも行っています。ぜひお気軽にお問い合わせください。
>>Salesforceについての詳細はこちら
>>Salesforceの導入支援実績はこちらからご覧いただけます!

医療業界に特化した営業支援、顧客管理(SFA/CRM)のコンサルティングも提供しております。こちらもぜひお気軽にお問い合わせください。
>>顧客管理(SFA/CRM)のコンサルティングの詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ