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

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

関連記事

git clone エラー128対策

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

Saleforce 実行権限 トリガ クラス

こんにちは、管理人の@Salesforce.Zです。普段、 Apex はシステムコンテキストで実行されます。つまり、コード実行時に、現在のユーザの権限、項目レベルセキュリティ、および共有ルールは考慮さ …

【FSL】 作業指示 作業指示明細 サービス予定の関係

こんにちは、管理人の@Salesforce.Zです。 Contents1 作業指示とサービス予定2 作業指示に対する、作業指示明細とサービス予定 作業指示とサービス予定 通常では、作業指示(WorkO …

【攻撃実例】 wordpress管理者へ セキュリティをしっかりしよう

サイトに症状がなくても、あなたのサイトにもう既にウィルス感染しているかもしれません。サーバーのファイルをひたすらみてみてください。おかしいファイルありませんか。稼いでるサイトの裏に実はウィルスファイルが置かれていることが別のケース対応で、ついでに発見したことがあります。

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

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