Salesforce-Slack連携の第二弾です。
今回はSalesforceでのレコード作成をトリガーにして、レコードトリガーフローでカスタム通知を起動しSlack上でSalesforceレコードを表示/編集できるようにします。
Slack画面上でレコードの表示や編集が完結できるのは非常に便利です。
第一弾の承認プロセス連携は下記からご覧ください。
Salesforce-Slackの初期接続設定
別記事で承認プロセスのSalesforce-Slack連携を試しましたが、今回も初期設定は同じになります。
下記記事の「事前準備:Salesforce-Slack組織接続」「事前準備:Salesforce-Slackユーザ接続」を設定した前提でこの記事は進めていきます。
カスタム通知の作成
まずはフローで使用するカスタム通知を作成していきます。オブジェクト毎に作成が必要になりますが、今回は取引先に作成していきます。

↓

↓

↓

↓

カスタム通知を使ってフローの作成
・Slack通知するためのフローを作成
今回は取引先の新規作成時にトリガーされる無条件の開始条件で始めます。

↓Slack通知の受信者Salesforceユーザを格納するコレクション変数(コレクションでないとカスタム通知で使えない)を作成しておきます。受信者設定はいくつか適用できるパターンがあるようです。

↓作成したコレクション変数にSlack通知の受信者SalesforceユーザIDを追加します。追加方法はいくつかありますが、今回はテストとして自分のIDを1つ追加するだけなのでハードコードします。

↓先ほど作成したカスタム通知を選択

↓カスタム通知はトリガーした取引先を対象にして自分のユーザIDを格納したコレクション変数を指定します。

↓完成形は下記になりました。保存、有効化して挙動確認に進みます。

フローを使ったSlackへのカスタム通知挙動確認
取引先を1つ新規作成します。

↓カスタム設定で指定しておいた内容でSalesforce for Slackアプリに自動通知されました。

↓ちなみにSalesforce側の[Slack for Salesforce ⑤データ共有オプション]ではSlackへカスタム通知されたレコードの情報をSlack側に表示するか制御できます。

↓先ほどまでは「レコード名とオブジェクト種別を表示」にしていましたが、「オブジェクト種別のみを表示」にした状態で取引先を新規作成すると項目差し込み部分はすべて「制限あり」となりSlack側には表示されません。(Slackへすでに投稿済みのメッセージに遡って適用はされないので、Slack投稿時点のSalesforce設定に沿ってSlack側で項目表示/非表示となります。)

Slack画面でのSalesforceレコードの参照/編集
ここまでで無事カスタム通知でSlack自動投稿が出来ました。
Slackにカスタム通知で投稿されたメッセージの「表示」「編集」ボタンからSalesforceレコードの表示や編集が可能です。Salesforceへ移動せずにSlack側から操作できるのは非常に便利です。
表示ボタンの押下時

編集ボタンの押下時

また、この表示/編集画面で配置されているSalesforce項目はSalesforceオブジェクトマネージャーの「Slack レコードレイアウト」で調整可能です。レイアウトは2種類あります。
・レコードCRUDレイアウト

↓Slackに表示したい項目を選択します。

↓Slack画面上で作成/編集/表示時で各項目を表示するか、また必須項目or参照項目かを指定できます。

↓Slack画面上で使用できるボタンを指定できます。

↓このSlackレコードレイアウトの反映プロファイルを指定できます。

↓この状態で再びSalesforceで1取引先を新規作成します。「Slack レコードレイアウト」で指定した5項目のみ表示されるよう調整できました。(すでにSlack投稿済みのレコードにも遡ってレイアウト変更が適用されます。)
表示ボタンの押下時

編集ボタンの押下時

・URL展開レイアウト
一方このURL展開レイアウトは今までの流れとは別となります。Slackチャンネル内でメッセージとしてSalesforceのURLリンクが投稿されたときにそのレコードをどこまでSlackに表示するのかを設定になります。

↓Slackに表示したい項目を選択します。

↓このSlackレコードレイアウトの反映プロファイルを指定できます。

↓前提としてSalesforce側の[Slack for Salesforce ⑤データ共有オプション]で「Salesforce for Slack アプリケーションで開くときのオプション」の設定状態で挙動は異なります。
ここからはいくつかオプションでの挙動を確認してみます。

↓
・オプション設定「リンクを共有しているユーザが表示できるデータ」時
作成した取引先のURLをSlackに手動投稿すると、その取引先に関する4項目(先ほどURL展開レイアウトとして設定)が自動でプレビュー表示されました。
ちなみに「Slackで表示」ボタンを押すとレコードCRUDレイアウトとして先ほど設定した5項目が表示されます。

・オプション設定「データを共有しない」時
作成した取引先のURLをSlackに手動投稿すると、Salesforceレコードの情報は全く展開されませんでした。一番セキュリティを意識した設定ですが、使い勝手は落ちます。

・オプション設定「Slackのデフォルト表示ユーザが表示できるデータ」時
「Slackのデフォルト表示ユーザ」でユーザを1名設定しておき、そのユーザアクセス権に沿ってSlack側にSalesforceレコードがプレビューされます。Salesforceダッシュボードで言うと[次のユーザとしてダッシュボードを参照]で「別のユーザ」指定で誰が閲覧してもその1名のアクセス権として表示できるのに似ていますね。本来のアクセス権以上にアクセスできてしまう可能性もあり注意が必要です。

その他にもいくつかオプション設定として選択肢が設けられているので、適切な設定をしておきましょう。