この記事は新社会人のSalesforce学習記録とその他 Advent Calendar 2025のおそらく17日目の記事です。
オーケストレーションはお金がかかるっぽいです。バンバン動かすと大変なことになりそうです。
オーケストレーションとは何か
salesforceで、複数のユーザー間でフローを連携させることができる機能で、1つの流れとして管理できる機能です。
もっと簡単に説明すると、たくさんの異なる作業をする人たちの業務(今回はフロー)を一つの流れ(それぞれのフローを一つにする)とするときに、相互の連携を取りやすくするための機能です。
オーケストラの指揮者みたいなアイコンのやつです。
⇩こんなの

どんな感じか
フロービルダーから新規作成できます。
要素について、通常であれば処理をいろいろ作ることができますがオーケストレーションでは以下
・フェーズ
・決定
のみになります。
フェーズ
作業内容になります。

まず①どの動かし方にするか選択して→②その後処理の内容を入れることができるようです。

通常の要素を作ることはできませんが、フェーズを選択することでやりたいことをまとめて作成することができます。

バックグラウンドステップの中身では、このようにステップを開始するタイミングやどのユーザーで実行するかなど幅広い選択ができるようになっています。
開始タイミングについてはどのステップを選んでも決めることができます。
実行するアクションについては、ケースの開始、クローズや画像のとおりフローのAPI参照名の確認ができます。
フェーズ内で指定した条件を満たすことで次に進むことができます。
→指定した条件は3種類

自由度が高いです。例えば指定された要件を満たすようにすれば、フェーズが最後まで終わっていなくても次に進めます。
決定
ここはいつものフローにある条件分岐と中身がほぼ一緒だったので割愛します。
例えばフェーズを行った結果が毎回異なる場合は使ってもよいかもしれません。決定はなくても問題なく動きます。
レコードトリガーオーケストレーションと自動起動オーケストレーション
作成することができるオーケストレーションには、
・レコードトリガーオーケストレーション
・自動起動オーケストレーション
の2種類があります。
それぞれの違いについて以下で解説します
レコードトリガーオーケストレーション
いつものとおり、レコードの中身が変更された際に自動実行されるオーケストレーションです。
レコードトリガーフローの時と実行条件は同じです。
自動起動オーケストレーション(トリガーなし)
ApexやRest APIで呼び出されると起動するとありました。
今回は特にApexでの呼び出しについて書いておきます。
Apexでの呼び出し⇩
内部的には通常のフローと同じ呼び出し方で行けるようです。
public with sharing class Advent1222 {
public static void AdventStudy1222() {
Map<String, Object> params = new Map<String, Object>{
'recordId' => [SELECT Id FROM Account LIMIT 1].Id,
'message' => 'MerryChristmas'
};
Flow.Interview.AdventCalendar interview =
new Flow.Interview.AdventCalendar(params);
interview.start();
}
}
レコードIdとメッセージ(任意っぽい?なくてもエラー出ませんでした)を使って、startさせることで動くそうです。
まとめ
フェーズ→処理を行う場所、処理の仕方も選べる
決定→最終的にな条件を設定できる。いつものフローの条件分岐と中身はあまり変わらない
