ご存知の通りSalesforceのFlow Builderを使うと様々なことが自動化できますが、今回はFlow Builderを使用してChatter投稿を自動化する方法をお伝えします。
要件定義
毎日営業時間終了時に、その日に受注した商談のうち、もっとも金額の大きい商談に褒め称える内容をChatter投稿する
この内容で仕様でChatter投稿を自動化していきます。
設計
- 毎日営業終了時刻に起動
- その日に受注した商談
- 最も金額の大きい商談
- 自動的にChatter投稿をする
上記の内容にて実装してみましょう。
使用する機能は以下の通りです。
◆Flow Builder
・スケジュール機能
・レコードの取得
・アクション
1.フローを開く
以下の商談のビューで最終的に4つ目のレコードにChatterが投稿されると成功となります。
フローの作成をしましょう。
まずは右上の歯車アイコンをクリックして設定画面へ遷移します。
クイック検索ボックスに「フロー」と入力し、プロセスの自動化にあるフローを選択します。
新規フローをクリックします
自動起動フローを選択し、フローの作成を開始しましょう。
2.フローを作成する
この画面でフローを作成していきます。
左側のエリアをツールボックス、右側のエリアをキャンバスと呼ぶので覚えておきましょう。
レコードを取得する
オブジェクトのレコードを取得する場合、フローでは左下の”レコードを取得”を使用します。
ツールボックスからキャンバスにドラッグアンドドロップしてください。
“レコードの取得”を設定していきます。
・表示ラベル:任意の名前
・API参照名:任意の値
・オブジェクト:レコードを取得する対象のオブジェクト
・取得条件:この条件に合致するレコードを取得する(複数件取得可能)
API参照名は作成ならcreate、取得ならgetなど後からわかりやすい名前を付けておくと改修時に困りません。
上記の通り設定を行い、次は抽出条件を設定してレコードの絞り込みをします。
今回は「完了予定日」と「成立フラグ」で絞り込みます。
まずは完了予定日が本日の商談だけを取り出します。
項目はCloseDateで演算子を”次の文字列と一致”、値は$FlowのCurrentDateを選択しましょう。
次に完了フラグ(IsWon)で文字列と一致を選択し、値は$GlobalConstantTrueをセット。
最後に今回の肝となる、受注商談のうち最も金額の高かった商談だけを特定します。
やり方はいくつかありますが、今回は以下のようにします。
・並び替え順:Amountの降順
・保存するレコード数:最初のレコードのみ
・レコードデータの保存方法:すべての項目を自動的に保存
アクションを組み込む
設定できたら完了をクリックして、次はツールボックスからアクションを選択してキャンバスにドラッグアンドドロップします。
検索ボックスにChatterと入力し、Chatterに投稿を選択します。
先ほどと同様に”表示ラベル”と”API参照名”に任意の値を指定します。
・表示ラベルとAPI参照名:任意の値
・メッセージ:Chatter投稿の内容
・対象名またはID:投稿先のID
次はメッセージですが、せっかくなのでメンションを付けてChatterを投稿する仕様でいきましょう。
メッセージにメンションをつける場合は以下の形式にする必要があります。
@[対象ユーザーID]
ではユーザーIDはどこから持って来ればいいでしょうか?
答えは①のレコード取得にあります。
レコード取得(get_Opps)の中には先ほど指定した条件に合致する商談の1レコード分の全項目値が入っています。
つまりユーザーIDの指定は「get_OppsのUserId」となります。これを設定するには以下の通りにします。
まずは{!get_Opps.OwnerId}をメッセージに指定し、その後@[]で囲います。
こうすることでChatterの投稿が対象ユーザーへのメンションとなります。
対象名またはIDには商談レコードのIDを指定しておきます。
これで商談のChatterフィードに投稿される設定となります。
開始時のトリガーを設定する
ここまで完了したら次は毎日営業時間終了後に起動するスケジュールを組み込んでいきます。
キャンバスにある開始要素をダブルクリックしてください。
スケジュールの組み込みは以下のとおり進めます。
・フローを起動するもの
スケジュール済みジョブ
・スケジュール設定
開始日と開始時刻は任意の値ですが、頻度は毎日としてください。
毎日フローを繰り返す場合は、初回の開始日時を現在時刻以降にしておきましょう。
ここまできたら仕上げです。
各要素の下にある白丸を他の要素にドラッグアンドドロップしてフローの実行順序を作りましょう。
3.デバッグする
最後に保存してデバッグです。
フローをリリースする前に必ずデバッグを行うことを習慣付けておきましょう。
そのままリリースしてしまうと取り返しのつかないエラーを吐き出すこともあります。
以下の画面が出たら実行をクリック。
おや?エラーが発生しましたね。
エラー文が右に表示されていますが、スケジュールフローは手動でデバッグできません。
デバッグできるよう設定を変更するには次のようにします。
フローの作成画面に戻って開始要素をダブルクリックします。
そして今度はフロートリガをなしに設定して完了。
保存して再度デバッグしてみましょう。
抽出条件に見合う商談が存在する場合、フローインタビューが完了し、該当する商談にChatter投稿が完了します。
動作確認
実際の商談画面で確認してみましょう。
ちゃんとレコード内に投稿されていますね。
お疲れ様でした!これにて全て完了です。
Chatterの自動投稿はアイデア次第でアラート出しとして使用することもできます。
まずはdeveloper環境で作り方を覚えてビジネスフローに組み込めるようになりましょう。