フローのコンポーネント② レコードを更新

Salesforce
この記事は約6分で読めます。

フローの解説シリーズ第二弾!

今回は「レコードを更新」コンポーネントについてお話します。

レコードを更新コンポーネント
フローコンポーネントのレコード作成ついての記事はこちら!
まだご覧になっていない方はぜひこちらから。
スポンサーリンク

コンポーネントの機能:指定したオブジェクトのレコードを更新する

まずはコンポーネントの機能です。

「レコードを更新」コンポーネントですから、分かりやすいですね。ある特定のレコードを自動で更新するためのコンポーネントです。

商談オブジェクトを例に挙げてみます。

商談オブジェクトには「フェーズ」という項目がありますが、この項目の値が「成立」になったときに、「終了日」というカスタム項目の値を現在日時で上書きしたいです。

商談が「成立」になったときに終了日を現在日にしたい!

この場合は商談の「フェーズ」項目が「成立」に更新されたときに動くフローの中で「終了日」項目を自動で更新する処理を書けばよいですね!

なので、商談オブジェクトのレコード更新時に起動するレコードトリガーフローとなりますね。

注意
  • 今回はレコードを更新するコンポーネントの設定方法を説明する都合上、このような説明にしています。
  • 今回のような要件の場合、筆者だったら高速項目更新(beforeトリガー)のフローを作り、割り当てコンポーネントを使うと思います。
  • あくまでもコンポーネントの設定方法の説明ということで、予めご了承ください。

コンポーネントの使い方

次にコンポーネントの使い方です。

まずは、更新処理を実行したい箇所に「レコードを更新」コンポーネントをドラッグアンドドロップします。キャンバス上で+ボタンを押してコンポーネントを追加、でも可能です。

「レコードを更新」コンポーネントをダブルクリックして要素を更新しましょう。
開いた画面で設定をしていきます。

まずはこのコンポーネントに名前をつけましょう。API参照名はこのフローの中で被りがなければOKです。名前を見ただけで何をしているコンポーネントなのか分かりやすいものにしましょう。

分かりやすいAPI参照名に!説明も書いておくとGood!

更新するレコードを検索してその値を設定する方法

次に、「更新するレコードを検索してその値を設定する方法」を選択します。

今回はステータスが「完了」になった商談レコードと同じレコードを更新するので、「フローをトリガした商談レコードを使用」を選択します

ちなみに、「レコードまたはレコードコレクションからのIDおよびすべての項目値を使用」は商談を更新したときに、特定のレコードやレコードのグループを更新するときに使用します。これを選択するためには、「レコードを更新する」コンポーネント以外のコンポーネントで、レコードまたはレコードコレクションを変数に当てる処理が必要です。

また、「レコードを識別する条件を指定し、項目を個別に設定」を選択すると、IDなどをもとに特定のレコードを更新できます。

検索条件の設定

続いて、検索条件の設定に移ります。

ここでは「どういうときに更新処理を行うか」という条件を設定します。

条件を設定せずに、毎回どんなときでも更新処理を実行したい!という場合には「なしー常にレコードを更新」という選択肢もあるのでご安心を。

今回は「商談の『フェーズ』項目が『成立』になったとき」に動くフローを作りたいので条件を設定します。

すべての条件に一致(AND)を選択

すると条件を設定するための項目が表示されるので設定していきます👇。

商談の「フェーズ」が「成立」になった場合というのが条件です。
注意
  • こちらに関しても、コンポーネントの設定方法の説明ということでご了承ください。
  • この方法でももちろん要件を満たせるのですが、「フェーズが完了になったとき」という前提で作る場合はフローの開始条件のところに書くのがベストです。
  • その方が、フローの起動回数を減らすことになるからです。

項目値をレコードに設定

ここでは更新するレコードの、どの項目に、どんな値を入れるのかを設定します。

今回の例だと「終了日」項目に「現在日付」を設定するのでしたね。

画面の左側がレコードの項目、右側が設定する値です。

まず、左側に「終了日(ClosedDate__c)」を設定します。商談にある項目なので簡単に設定できますね。

次に、右側は「現在日付」です。設定する値が「今日」である場合は、フロー内に既に存在する値を使うことができます。

まず、右側の枠をクリックすると、設定できる値の候補が表示されます。その中から$Flowを探してクリックします。

$Flowをクリック

次に「CurrentDate」をクリックします。

クリックするともとの「レコードを更新」コンポーネントの設定画面に戻るので再度「完了」ボタンをクリックします。

「現在の日付」が設定されていたらOK。完了ボタンをクリックして終了です。

エントリ条件の設定

「レコードを更新する」コンポーネントの設定方法は以上なのですが、最後に、このフローを完成させるための設定をさらっとご紹介しておきます。

さきほど「レコードを更新する」コンポーネントの設定をしたので、「フェーズ」が「完了」の時に「終了日」に「現在日付」が設定されます。

では、例えばこんな場合はどうでしょうか?

もともとフェーズが完了になっているレコードで、フェーズは変えずに商談の「金額」項目を更新して保存しました。

このときにもフローは動きはじめますよね?だって商談のレコードとしては更新されたのですから!

そして、「レコードを更新」コンポーネントで条件に当てはまるかをチェックします。条件は「フェーズ」項目が「完了」であることですから当てはまりますね。となると、「終了日」は「現在日付」で更新されます。

この処理はやりたいこととは違いますよね?フェーズが完了になったタイミングで終了日を設定したいのです。

そこでレコードトリガフローの開始条件をいじります。

編集ボタンをクリックします。

編集ボタンをクリックして「エントリ条件を設定」まで移動します。ここで、「フェーズ」が「変更済みである」という条件を設定します。

これで完了です。先ほどの設定で、フローが動くための条件を「フェーズ」項目が更新された場合のみに絞り込んだので、「フェーズ項目が更新されている」という条件でフローを動かし、条件が満たされていた場合のみ先に進みます。

注意
  • こちらに関しても、コンポーネントの設定方法の説明ということでご了承ください。
  • この方法でももちろん要件を満たせるのですが、「フェーズが完了になったとき」という前提で作る場合はフローの開始条件のところに書くのがベストです。
  • その方が、フローの起動回数を減らすことになるからです。

フローを保存し、名前をつけたらデバッグしてみましょう。エラーがなければ有効化して終了です。

まとめ

今回は「レコードを更新する」コンポーネントの設定方法についてまとめました。

同じことを実現するためには他にもフローの作り方があるかもしれませんが、今回は一番ベタで使えそうなやり方で解説しています。

フローも使い方や設定の仕方が分かれば身構えなくても大丈夫です。一緒にがんばっていきましょう。

それでは、ごきげんよう。

コメント