【Salesforce】所定のデータが作成・更新されたタイミングで自動操作を行う(プロセスビルダー)

スポンサーリンク

Salesforceを利用していると、

  • ある形式のデータが入力・更新されたタイミングでそのデータに関する通知をしたい
  • 自動で別のデータを作成したり、項目の更新をしたい

といったことがよくあります。

プロセスビルダーとは、そのような「所定のタイミングと、自動で動作させたい内容を定義する機能」です。

ここではプロセスビルダーをどのように設定するのかについて、説明します。

プロセスビルダーで設定できる自動化処理について

どのような処理がプロセスビルダーにより自動化できるのか、「アクション種別」として選択できる機能をまとめると以下となります。

  • Apexプログラムの処理
  • Chatterへの投稿
  • Quip
  • カスタム通知
  • クイックアクション
  • フロー
  • プロセス
  • メールアラート
  • レコードを更新
  • レコードを作成
  • 承認申請

この中から、よく利用される「Chatterへの投稿」をサンプルの設定例として説明します。

プロセスビルダー設定画面から設定する

まずはSalesforceへのログイン後、画面右上の歯車アイコンから設定画面を表示します。

メニューから「プロセスビルダー」という設定メニューを選択します。

初めてプロセスビルダー設定画面を表示した時には以下のような画面が表示されます。

画面右上にある「新規」ボタンをクリックし、設定を開始します。

プロセスビルダー設定画面

まずはプロセスの名前などを初期設定として以下の内容を入力します。

  • プロセス名
  • API参照名
  • 説明
  • プロセスを実行するタイミング

「説明」は入力不要ではあるものの、後々カスタマイズが必要になった際に内容が判断できず困らないよう、「どのような動作をするプロセスなのか」の要約を記載しておきます。

API参照名」は、他のプロセスと重複できないのでユニークな内容とします。

プロセスを実行するタイミングとして設定できるのは、以下3つのうちのどれかです。

  • レコードが変更されたとき
  • プラットフォームイベントメッセージを受信したとき
  • 別のプロセスから呼び出されたとき

今回の例では、「レコードが変更されたとき」を選択します。この設定内容は、既存レコードが変更されたときのみならず、「レコードが新規作成」された時も動作します。

ここまで設定後に「Save」ボタンを押し保存すると、以降のプロセスビルダー設定画面上での設定に続きます。

オブジェクトを選択します。今回の例では「商談」を選択します。

「プロセスを開始」の項目は、

  • レコードを作成したのみ
  • レコードを作成または編集したとき

のどちらかを選択可能ですが、作成時に限定して何かを行いたいといったケースはほとんどありません。今回の例でも「レコードを作成または編集したとき」を選択します。

なお、ここで「レコードを作成または編集したとき」を選択した場合でも、プロセスの実行条件に合致しなければレコードの作成・編集時に動作させることはできません。後述する実行条件内に「作成した場合」や「編集した場合」に相当する条件を含めて設定する必要がありますので、その点は注意してください。

プロセスビルダー設定画面で設定する内容は大きく4点あります。図中ではそれぞれ以下の設定内容となっています。

  1. 実行対象のオブジェクト
  2. プロセスの実行条件
  3. ルール適用時のアクション
  4. スケジュール済みアクション

それぞれの設定内容について、以降で説明します。

プロセス実行対象のオブジェクトを設定

前述の画像内【1】の箇所をクリックすると、以下のような設定画面が表示されます。

プロセスを動作させる際の判定対象となるオブジェクトを選択します。今回の例では「商談」を選択します。

プロセスを開始するタイミングは、新規作成のみならず内容更新のタイミングも対象とすることが多いです。この場合は「レコードを作成または編集したとき」を選択します。

「プロセスが1回の保存操作でレコードを複数回評価できるようする」を設定すると、一度の保存操作で同じレコードを最大5回まで追加評価することが可能です。

条件設定とルール適用時のアクションを複数設定し、いずれか複数のアクションを実行させる事を想定している場合には、この設定を有効とします。例えば

  1. 1回目の評価で、条件1に合致するためアクション2を実行し、1回目の評価対象外にしつつ2回目の評価に影響する値をセットする
  2. 2回目の評価で、条件1には合致しないが条件2に合致するためアクション2を実行する

といった流れです。

一方で、内容の更新がどのように影響するのか把握しづらくなり、その結果運用に支障をきたす恐れがあります。条件判定はある程度類似のものをならべて設定するなどの配慮が必要です。

今回、Chatter投稿する例ではこのオブションは無効のまま(複数回評価しない設定)とします。

ここまでの内容を入力し「保存」をクリックすれば、【1】の設定が完了します。

プロセスの実行条件を設定

前述の画像内【2】の箇所をクリックすると以下のような条件を設定する画面が表示されます。

表示された項目名を選択すると、以下のように表示がされ、「Choose」をクリックすることでそのAPI参照名を指定することが可能です。

種別は数式を選択します。さらにその右横にある「数式を構築」欄をクリックすると、数式の入力欄がすぐ下の行に追加で表示されます。

今回設定する変数は判定用の金額です。今回の例では、「カスタム設定」で設定済の値を使用することにします。その場合は「システム変数」をクリックしてください。

$Setup」というのがリスト内に表示されています。これが「カスタム設定から設定済の変数」を指定するための選択項目なので、クリックします。

続いてその右側の入力欄をクリックすると、システム設定で設定されている値の表示ラベルが表示されます。該当する値(今回の例の場合は「大口商談基準額」)を選択し、右下にある「Choose」をクリックします。

これで数式の入力が完了し、以下のような表示になります。入力された数式を確認後「Use this Formula」をクリックすると、入力した数式を条件として設定がされます。

なお、例で記載している「大口商談基準額」のようなカスタム設定の値を利用する方法については、以下の記事も合わせて参考にしてください。

【Salesforce】特定の値をSalesforceのオブジェクト間で共有する(カスタム設定)
Salesforceで値を保持しオブジェクト間で共有するために、カスタム設定という機能があります。 どのようにカスタム設定を利用するのかを説明します。

ここまでに記載した数式の指定方法は「項目ピッカー」による指定方法です。直接項目のAPI参照名を入力して数式を作成することも可能ではあります。しかしながら「実行条件」や、後述する「ルール適用時のアクション」「スケジュール済みアクション」を設定する際には、この項目ピッカーを活用して「表示ラベルをもとに項目値を選択していく」と設定しやすいです。

ここまでの内容を設定し「保存」をクリックすると、プロセスを実行させるための条件設定【2】が確定します。

ルール適用時のアクションを設定

前述の画像内【3】の箇所をクリックすると、以下のような設定画面が表示されます。条件に合致したらどのような動作を行うのか、実際のアクションをここで設定します。

まずは「アクション種別」からです。今回の例では「Chatterに投稿」を選択します。

該当する値(今回の例の場合は「大口商談基準額」)を選択し、右下にある「Choose」をクリックすると数式の入力が完了し、以下のような表示になります。

投稿先は以下のような設定が可能です。

この中から今回の例では、「Chatterグループ」を選択し、設定済となっているChatterグループを入力欄から検索し検索します。組織内の営業部署全体に周知するためのグループ「営業G」を設定することとします。

Chatter投稿文の中で、作成されたオブジェクトへのリンクを文章として挿入したいケースがあります。そのような場合には、「差し込み項目」を利用します。項目ピッカーを利用して商談IDを指定すると、{![Oppotunity].Id}

商談に関連付けされている取引先の「取引先名」を利用する際には、項目ピッカーでこのように選択します。まずは取引先IDを元に取引先オブジェクトの項目を参照し、

そしてその取引先オブジェクトの項目から「取引先名」を選択します。

Chatter投稿を行うプロセス設定のサンプルとしては、以下のようになります。

Chatter本文に「対象となる商談情報へのリンク」、そしてサマリとして「取引先名」「商談名」を記載する形式にすると、投稿内容を見てアクションを起こしやすい情報になります。他には、「商談フェーズ」「金額」を記載するのも効果的ですね。

最後に「保存」をクリックすればアクション内容【3】の設定が完了します。

スケジュール済みアクションを設定

前述の画像内【4】の箇所をクリックすると以下のような設定画面が表示されます。条件を満たしてから一定期間経過後に通知したい場合などで利用します。

時間の単位は「時間」あるいは「日」のどちらかが設定可能です。

アクションのタイミングを「後」あるいは「前」のどちらかで設定可能です。「何かの操作をされたことを要因として動作させる」といった場合には「後」に設定します。事前アラートとして動作させたい場合には「前」を設定します。

動作タイミングの基準となる指標にする日付項目を選択します。作成タイミングや更新タイミングを基準とする場合には「作成日」や「最終更新日」を選択します。

レコード作成の1時間後に動作させたいような例では、以下のような設定となります。

ここまでを設定し「保存」をクリックすると、スケジュール条件の設定が確定します。

そしてその下には「アクションを追加」の表示があります。【3】と同様にアクションの内容を設定し「保存」をクリックすれば、スケジュール条件に合致した際のアクションが設定されます。

なお、スケジュール済アクションはプロセスの開始タイミングが「レコードを作成したとき」を選択した場合にのみ設定が可能です。この「作成した場合に限定したプロセス」をあえて設定するというケースは少ないです。

設定内容を有効化する

ここまでに設定した内容を保存したら、画面右上にある「有効化」ボタンをクリックすることで、設定プロセスが稼働状態になります。

注意点

プロセスビルダーの設定・運用で注意すべき点は以下です。

  • 設定内容を更新したい場合、一時的に無効化してからでなければ設定内容の編集ができない

これはかなり注意が必要です。一時的に無効化している間に利用中のユーザが操作を行うと、本来プロセスビルダーの動作を反映させたい点が対応抜けとなってしまう恐れがあります。

対策としては

利用時間外としてメンテナンス時間を設定周知させ、利用時間外の更新作業を行う

のが望ましいです。その他の方法としては、

設定変更内容を別のプロセスビルダー設定として追加し有効化した直後に、既存の設定を無効化する

といった対応も検討しましょう。

  • sandbox環境に設定して確認する際、本番環境とURLが異なることの影響を受けることがある

Chatter投稿するプロセスビルダーを設定する際、今回の設定例にあるようにURLを記載するような投稿文にするとします。本番環境とsandbox環境とではURLが異なります。もしsandbox環境でテストしてから本番環境へ反映するとなった場合は、本番環境でアクセス可能なURLに変更し反映させてください。

参考(外部リンク)

Copyrighted Image.