商談がクローズした際に自動でChatter投稿をして、クローズしたことをユーザに知らせたい!
そのような場面では、フローを使ってChatterの自動投稿機能を実装するのがおすすめです。
簡単に作成でき、成約時と失注時で投稿文の切り替えも可能です。
ということで、今回はフローを使用したChatter自動投稿機能の作成方法を順を追って解説していきます。

要件
今回は以下のような要件でフローを作成していきます。
- 商談がクローズした際に、その商談レコードに対し、商談所有者とそのマネージャをメンション先としてChatter投稿する。
- 成約時と失注時で投稿文を変える。
フローの作成
設定 > フローから「新規フロー」を選択します。

レコードトリガフローを選択し、「作成」をクリックします。

レコードトリガフローでは、レコードが作成・更新・削除された際に起動するフローを作成できます。


以下のように値を設定します。
オブジェク | 商談 |
---|---|
フローをトリガーする条件 | レコードが作成または更新された |
エントリ条件 | すべての条件に一致(AND) ・IsClosed 次の文字列に一致する True |
更新されたレコードでフローを実行するタイミング | 条件の要件に一致するようにレコードを更新したときのみ |
フローを最適化 | アクションと関連レコード |


続いて、画面左にある[ツールボックス]から[新規リソース]をクリックします。


[リソース種別]に「数式」を選択後、以下のように値を設定し、[完了]をクリックします。
リソース種別 | 数式 |
---|---|
API参照名 | ChatterBody1 |
データ型 | テキスト |
数式 | IF(ISPICKVAL({!$Record.StageName}, ‘Closed Won’), ‘商談が成立しました。’, ‘商談が失注しました。’) |



数式にすることによって商談フェーズの値に応じてChatter投稿文を切り替えることが可能です。


再度、[新規リソース]をクリックします。


[リソース種別]に「テキストテンプレート」を選択後、以下のように値を設定し、[完了]をクリックします。
リソース種別 | テキストテンプレート |
---|---|
API参照名 | ChatterBody2 |
本文形式 | プレーンテキストとして表示 |
本文 | @[{!$Record.Owner.Id}] @[{!$Record.Owner.Manager.Id}] {!ChatterBody1} |


コネクト線の中央にある[要素を追加]をクリック後、[アクション]を選択します。


[アクション]の検索欄に「Chatter」と入力し、[Chatterに投稿]を選択します。


以下のように値を設定し、[完了]をクリックします。
アクション | Chatterに投稿 |
---|---|
表示ラベル | Chatter投稿 |
API参照名 | ChatterPost |
メッセージ | {!ChatterBody2} |
対象名またはID | {!$Record.Id} |



本ケースでは、フロー起動元の商談レコードのフィードにChatter投稿するので[対象名またはID]に{!$Record.Id}を設定します。


① [対象名または ID]には、投稿先となるフィードを指定します。
- ユーザのフィードに投稿する場合には ユーザの Id もしくは ユーザ名を指定します。
- Chatter グループに投稿する場合は グループの Id もしくは グループ名を指定します。
- レコードに投稿する場合は レコードの Id を指定します。
② [ターゲット種別]は、[対象名または ID]でユーザ名もしくはChatterグループ名が指定されている場合に必須です。
- ユーザ名が指定されている場合 → “User”
- グループ名が指定されている場合 → “Group”
最後に画面右上の「保存」をクリックし、フローに名前を付けて保存。その後[有効化]をクリックします。


設定は以上です。
おわりに
今回は、商談完了時のChatter自動投稿機能をフローを使用して実装してみました。
Chatter投稿文やメンション先がある程度決まっている場合は、自動投稿に切り替えた方がユーザの負担が少なくなりそうですね。
より複雑なロジックを組む場合は、ApexでのChatter投稿になるかなと。


おわりです。
コメント