ルールに数式を利用する
数式ルールについて学ぶ
0.数式ルールとは
Salesforceにはレコードが作成または更新された時に、変更された内容をチェックし、内容に応じた処理を自動実行するという機能が備わっています。(詳細はワークフローや割り当てルール機能の記事をご参照ください)
処理を起動させるかどうかを判断する条件(ルールと呼びます)には数式を使用することができます。
本記事では数式を用いたワークフロールールの作成方法を紹介します。
1.ワークフロールールを用いた例
ここでは、以下の条件を満たすワークフローを作成してみます。
- 商談オブジェクトのワークフローとする
- フェーズ項目の値が”Closed Won”に変更された場合に起動するルールを作成する
- ルールに合致した場合、特定のユーザに対してメールを自動送信する
作成方法
- [ 設定 ] | [ 作成 ] | [ ワークフローと承認申請 ] | [ ワークフロールール ] を開き、[ 新規ルール ] をクリックします。
- “商談”オブジェクトを選択して、[ 次へ ] をクリックします。
- ワークフローの起動ルールを設定します。「ルール名」は任意で設定したうえ、
“評価条件” に “作成されたとき、および編集されたとき““ルール条件“に “数式の評価がtrueになる“をそれぞれ選択して、数式の入力欄には
ISPICKVAL(StageName , “Closed Won”) - ルールの作成が完了したので、次はメールアラートを作成します。ワークフローアクションの追加から [ 新規メールアラート ] を選択してクリックします。
- メールアラートアクションに必要な設定を入力して [ 保存 ] をクリックします。(今回は数式ルールの紹介がメインのため詳細は省略します。メールアラートアクション設定についての詳細はこちらの記事をご確認ください。)
- ルール詳細の画面に戻るため [ 完了 ]をクリックします。
- ワークフロー詳細の画面に戻るため [ 有効化 ] をクリックします。
- 右上の [ 歯車マーク ] | [ 設定 ] をクリックし、[ クイック検索 ] に「ワークフロールール」と入力し、クリックします。ワークフロールール一覧画面から [ 新規ルール ] をクリックします。
- 商談オブジェクトを選択して、[ 次へ ] をクリックします。
- ワークフローの起動ルールを設定します。「ルール名」は任意で設定したうえ、
“評価条件” に “作成されたとき、および編集されたとき““ルール条件“に “数式の評価がtrueになる“をそれぞれ選択して、数式の入力欄には
ISPICKVAL(StageName , “Closed Won”) - ルールの作成が完了したので、次はメールアラートを作成します。ワークフローアクションの追加から[新規メールアラート]を選択してクリックします。
- メールアラートアクションに必要な設定を入力して[保存]ボタンをクリックします。(今回は数式ルールの紹介がメインのため詳細は省略します。メールアラートアクション設定についての詳細はこちらの記事をご確認ください。)
- ルール詳細の画面に戻るため[完了]ボタンをクリックします。
- ワークフロー詳細の画面に戻るため[有効化]ボタンをクリックします。
ワークフローの確認
ここまでの操作でワークフローの作成は完了しました。実際に商談を成立に更新すると、設定した通知先にメールが送信されることが確認できるかと思います。
2.数式ルールを用いるケース
ワークフローや割り当てルール機能は、レコードの情報をチェックして予め設定された条件にマッチした場合、指定されたアクションを起こすという特徴があります。今回紹介した数式ルールを用いることで、より高度な条件の設定を行うことができます。もし単純な条件(例:メールアドレスが test という文字で始まる)のみで十分であれば、数式ルールを使う必要はありません。以下に挙げるような複雑な条件を設定をしたい場合には数式ルールを用いるのがよいかと思います。
ケース例
- 複数の項目同士を比較した条件設定
例:ある複数の数値型項目の合計値が一定以上の場合に起動させる - 参照先オブジェクトの項目に応じた条件設定
例:参照先オブジェクトのあるテキスト項目と元オブジェクトのあるテキスト項目の内容が同一の場合に起動させる - 特定の項目に対する更新が発生したかの条件設定(関数 ISCHANGE など)
例:ある項目が更新され、その結果想定している内容になった場合に起動させる - 数値や日付型項目の情報を独自に計算して比較する条件設定
例:ある日付型項目が本日よりも過去の場合に起動する