ワークフロールールとは
Salesforce業務自動化のための機能で、レコードが作成・更新されたことをきっかけに、設定したアクションが動作する機能です。
ワークフロールールで設定した条件を満たした際に、実行されるアクションは「ワークフローアクション」といいます。
ワークフローアクション
ワークフロールールでは、指定した条件を満たすことにより、以下のようなワークフローアクションを実行できます。
- 項目自動更新
- オブジェクトの項目を自動で更新する
- メールアラート
- メールアラートを担当者に送信する
- アウトバウンドメッセージ
- 所定の外部サーバに、項目値を含んだメッセージを送信するように指定する
- ToDo
- ToDoを担当者に割り当てる
ワークフロールール作成手順
今回は、こちらの記事で作成した「テストオブジェクト」に、カスタム項目「更新回数(update_count__c:数値型) 」を作成し、レコードが更新されるたびに本項目を自動で+1するワークフローを作成します。
- 設定のホームから、「ワークフロールール」を選択し、「新規ルール」を押下する

- ワークフロールールを設定したいオブジェクトを選択して「次へ」を押下する

- ワークフロールールの詳細を設定し、「保存&次へ」を押下する
※①ルール名や説明を入力する(後から見て分かるようなルール名にすると〇)
※②ワークフロールールの起動タイミングで「作成されたときおよび編集されるたび」を選択
※③ルール条件は「数式の評価がTrueになる」を選択し、数式に「NOT( ISNEW() )」を入力
(レコード新規作成時でないときにTrue、つまりレコード更新時のみTrueとなる)
- 「ルール適用時のアクション」で「ワークフローアクションの追加」を押下し、「新規項目自動更新」を押下する

- 名称や更新する項目を設定(①)し、更新する値を設定(②)して「保存」を押下する
※今回の場合、数式は「update_count__c +1」となります
- ワークフロールール・ワークフローアクションの設定ができたことを確認し、「完了」を押下する

- ワークフロールールを有効化する
※作成した直後は無効状態のため、作成したワークフロールールを使用したい場合は忘れずに有効化する
- 「ワークフローアクション」の「ルール適用時のアクション」を押下する
※ルールが有効化されている場合は下図点線のように、「無効化」というボタンが表示されます
- ワークフローアクションの設定画面に遷移できることを確認
※手順8、9は設定画面の説明なので、飛ばしても大丈夫です
動作確認
- ワークフロールールを設定したオブジェクトの適当なレコードを選択して、レコード詳細画面を開き「編集」を押下する
※現時点で、項目「更新回数」が0であることを確認する
- 適当な項目を変更して「保存」を押下する
※作成したワークフロールールの設定では、特に項目を変更せず「編集」→即「保存」でもアクションが起動します
- ワークフローアクションが起動し、項目「更新回数」が自動で+1されたことを確認

補足:評価条件・ルール条件について
①評価条件について
作成手順3の②で選択した「評価条件」は、下記3種類から選択できます。
- 作成されたとき
- 作成されたとき、および編集されるたび(←今回使用した評価条件)
- 作成されたとき、およびその後条件を満たすように編集されたとき
「1.作成されたとき」はそのままの意味で、
レコードが新規に作成された時のみワークフロールールが動く設定となります。
「2. 作成されたとき、および編集されるたび 」は、
レコードが作成された時と、更新された時は必ずワークフロールールが動きます。
(その後、ルール条件による評価でアクションを実行するかしないか判断されます)
「3. 作成されたとき、およびその後条件を満たすように編集されたとき 」は、
レコードが作成された時は、上記2つ同様ワークフロールールが動きます。
レコードが更新された場合は、必ずワークフロールールが動くわけではなく、
基準を満たしていないレコードが編集されて、基準を満たした時に動きます。
例えば、下記のようにワークフロールールを作成したとします。
評価条件:「作成されたとき、およびその後条件を満たすように編集されたとき」
ルール条件:項目Aが空欄でない場合
このルールを有効化した場合、あるレコードについて、以下のように更新した場合はルールが起動されます。
【編集内容】
項目A:(空欄) → 項目A:“あああ”
しかし、以下のような場合はルールは起動しません。
【編集内容】
項目A:“あああ” → 項目A:“いいい”
後者の例は、すでに条件を満たしている状態のレコードを更新したため、ルールが起動しないようになっています。
もし後者のようなレコード更新の場合にもワークフロールールを起動したい場合は、評価条件を「2. 作成されたとき、および編集されるたび」に設定する必要があります。
②ルール条件について
作成手順3の③で設定した「ルール条件」では、「次の場合にこのルールを実行」で、下記2種類から選択できます。
- 条件が一致する
- 数式の評価がtrueになる (← 今回使用した設定)
「1.条件が一致する」によるルール条件設定では、
条件に使用する項目や演算子をドロップダウンで選択し、条件を1行ずつ設定できるため、視覚的にも条件が分かりやすくなっています。
また、検索条件ロジックで、各行の条件を論理演算子ANDやORで組み合わせることで、複数条件を設定できます。
「 2.数式の評価がtrueになる」によるルール条件設定では、
今回ワークフロールール作成手順紹介で使用したように、様々な関数を組み合わせて1数式で条件を設定できます。
※「条件」を設定するため、数式の戻り値はTrue/Falseになるように設定します。
