non-programmers salesforce 小ネタブログ

Apexやvisualforceなどプログラミングの力を使わずにどこまでやれるか小ネタを投稿します。

プロセスビルダーとフローで行動に商談情報を持ってくる方法

行動オブジェクトは参照先を選択することで、取引先や商談、カスタムオブジェクトなどと連携することができます。しかし問題があって、参照関係であるにもかかわらず、連携しているオブジェクトの項目情報を持ってくることができないのです。これによっていろんな問題があります。

 

例1)一週間の行動のレポートを作りたい。その中で商談に関わる行動については金額やフェーズなどの商談情報をもってきたい。一方商談にかかわらない新規訪問などはその欄が空白で構わない。しかし、行動オブジェクトは商談の項目情報を持ってこれず、わかるのは商談名のみ。また商談に関係する行動のレポートタイプを使うと、商談に関係しない行動を抽出することができない。

 

例2)TODOを使って架電リストを作りたい。取引先や取引先責任者に詳細情報が書いているが、TODO画面に出てくるものは、取引先名、取引先責任者名、電話番号、メールアドレスのみで、詳細情報を確認しようと思うと、一度取引先や取引先責任者のレコードを参照しなくてはいけない。

 

現場としてはこれが大変不便でした。例1を実現するにはapexを使うか、motionboardみたいなBIツールを使うしかありませんでした。例2もapexを書く必要があります。

しかし、プロセスビルダーとフローの組み合わせでこれを実現できます。

 

事前準備:行動に商談から持ってくる項目を入れるカスタム項目をセットしておいてください。

1)まずフローを作ります。フローは設定→作成→ワークフローと承認申請→フローから作ります。

作るのはこんなにシンプルなものです。

f:id:non-prog-sf:20150602234100p:plain

2)レコードの検索を設定します。検索は「Opportunity(商談)」、項目はId、値には変数の新規作成をします。

f:id:non-prog-sf:20150602234202p:plain

変数の設定内容は画像のとおりです。データ型はテキスト、入力/出力種別は入力のみを選びます。

f:id:non-prog-sf:20150602234417p:plain

レコードの検索の続きです。「レコードの項目を変数に割り当ててフローを参照します。」では持ってきたい項目を選び、それぞれに変数を割り当てます。下の画像の例ではAmount(金額)、CloseDate(完了予定日)、Name(商談名)を選択し、それぞれに変数を新規作成します。

f:id:non-prog-sf:20150602234537p:plain

データ型はそれぞれの項目にあったものを、そして入力及び出力を選んでください。

f:id:non-prog-sf:20150602234817p:plain

4)「レコードの更新」を追加し、設定します。条件と割り当てでは更新に「Event(行動)」を選びます。項目はWhatId(関連先)値は先ほど作った商談IDを持ってくる変数を入れます。

そして、「変数、定数、入力などの値を使用してレコード項目を更新します。」には行動に作ったカスタム項目に変数を割り当てていきます。

f:id:non-prog-sf:20150602234933p:plain

5)あとは検索→更新に矢印を入れ、検索をフローのスタートとして設定します。もちろん有効化するのを忘れないで下さい。

6)次にプロセスビルダーです。構成はシンプルです。

f:id:non-prog-sf:20150602235443p:plain

アクショングループの条件の定義では「アクションを実行する条件がない」を選んでもいいのかもしれませんが、今回は関連先に商談が選ばれている場合に限定して考えます。商談のIDは006で始まる15桁(18桁)の文字列なので、006で始まるとしておければ、OKです。

f:id:non-prog-sf:20150602235734p:plain

7)アクションはフローを起動を選びます。フロー変数は検索時の条件になるものを選び、値は関連先IDを指定します。

これを有効化すれば、完了です。

すると行動に商談の情報が入ってくるようになります。

f:id:non-prog-sf:20150603000530p:plain