Technology

Salesforce2Slack Integration インテグレーション シンプル

投稿日:

IT業界では、インテグレーションをすれば、いろいろな製品をつながって、弱点やできないことを補うことができる、良いところですね。

今回、Slackの投稿をSalesforceから操作したいので、関連設定やコードを共有したいと思います。

SalesforceとSlackをつながるため

難しいことはないが、Slack側で、Webhook URLを発行すれば、Salesforceがそのリンクに対して、データを送信すれば、OK。これで大まかな つながる 方法です。

Slack側の設定

  • Webhook URLを発行すれば、基本これだけで良い、つまりIncoming Webhookを対象Slackに追加すること。 Slack APIを利用する場合Incoming WebHookの設定ページでWebHokURLを取得します 。

Salesforce側

Salesforce側では、設定と実装2つ部分が必要
なぜ、設定がいるかというと、まずリモートサイトに登録しないと、HTTPのPostメソッドのコールで、セキュリティ問題で、飛ばせない。次にWebhook URLはあっちこっちのところで、POSTを行うときに、使うendpointになるため、組織全体的に持ったほうがいい。僕の場合、カスタム設定にした。

設定

  • リモートサイト登録(Webhook URL: https://hooks.slack.comここまでよい)
  • カスタム設定やカスタムメタデータに Webhook URL (POST用に使う)を設定

実装(匿名コンソールで実行しているシンプルコード)

投稿結果:Salesoforceアプリの部分

サンプルコードの内部ラッパークラスMessageについて

この内部ラッパークラスのプロパティは全部、Slackに投稿する際に固定の文字列です。投稿チャンネルを変更したい場合、ポストメソッドに内容に下記のように構成することが前提となります。

なので、チャンネルを変更し、投稿するなら、ラッパークラスのプロパティ変数:channelの値を変えるか、ポストメソッドの内容に直接「”channel”:”#yourchannel”」を含めるようになにかをする必要がある。絵文字や対象アカウントを変更したい時にも同じ。

終わりに

Webhook URLさえあれば、Apexコードを叩いて、すんなり投稿できます。
これで、Salesforceで、webhook URLに対して、データをHTTP のpostメソッドで送信した検証です。

リファレンス

Incoming Webhook

Salesforce→Slack通知をオープンソースで公開しました

Sending messages using Incoming Webhooks

-Technology
-,

執筆者:


  1. […] 前回、Webhook URLでSalesforceから、Slackのチャンネルに投稿する記事を公開した。非常にシンプルでした。今回、やや複雑なSlack Web APIを使って、投稿することをチャレンジしてみたいと思います。 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Salesforce Field Service コンサルタント試験 想定問題集2

Welcome to your Salesforce Field Service EXAM 21-40 1.  作業予定を完了するときに、技術者がバーコードスキャナーを使用して資産番号を記録 …

Apex 一括処理 バッチの使用およびテストクラス

こんにちは、管理人の@Salesforce.Zです。 一括処理をバッチにすると、ガバナ制限を回避できるし、大量処理も可能。うまく設計できたら、いいですね。 Contents1 Apex Batchの構 …

git clone エラー128対策

gitで終了コード128エラーとなりリモートリポジトリがクローン出来ないでしょうか 私も今日、同じ問題に遭遇してしまい、2、3時間かかってしまった(泣)。絶対メモしようと思います。やりたいこともかんた …

Salesforce2Slack Integration with Web API

前回、Webhook URLでSalesforceから、Slackのチャンネルに投稿する記事を公開した。非常にシンプルでした。今回、やや複雑なSlack Web APIを使って、投稿することをチャレン …

Salesforce データセキュリティ プロファイル 共有設定 ロール

こんにちは、管理人の@Salesforce.Zです。Salesforceのセキュリティ体制がきちんと整えている、セキュリティも、大手企業はSalesforce製品を導入する理由の一つです。ここに来た方 …