Slackで情報収集を簡単に効率化する方法とは?【サンプルコードあり】
2023-09-05

最新のテクノロジーや競合企業の最新動向について、効率的に情報収集したいが、良い方法がなかなか見つからない。。。
そんな方のために、Slackを活用した効率的な情報収集の方法について紹介します。
Pythonのコードも記載してあるので、コピペですぐに作れます!
※ GitHubには、そのほかのサンプルコードもあります。
情報収集を効率化するうえで一番重要なこととは?
そもそも、情報収集を効率化する上で、一番重要なことはなんでしょうか?
それは「自分が欲しい情報をピンポイントで収集でき、かつ、その収集した情報に簡単にアクセスできる仕組みを作る」ことです。
収集してきた情報がノイズだらけであれば、当然その中から自分の欲しい情報を見つけるだけで時間も労力も大きく無駄にしてしまいます。
一方で、自分が欲しい情報をピンポイントで収集できたとしても、その情報を簡単に見ることができなければ、意味がありません。
ワンタッチで自分が欲しい情報を閲覧できる、そんな理想的な状態を生み出す仕組みづくりが情報収集の効率化では大事になってきます。
情報収集にSlackを活用するメリット

Slackの大きな強みとして、「カスタマイズ性が高い」「スマホ・PCどちらからでも簡単に使える」ことがあります。
Slackは、外部のサービスと連携することが可能なうえに、Pythonなどで自作でコードを書くことで、オリジナルの機能を付与することができます。
情報収集に特化した外部サービスと連携し、Pythonでカスタマイズすることで、自分好みの情報収集ツールに進化させることができます。
また、Slackは、ウェブからもスマホアプリからも簡単かつ無料で利用できることも大きな魅力です。
自作のウェブサイトであれば、スマホから見る際は、ブラウザ経由で見なければいけませんが、Slackであれば、ホームのスマホアプリをタップするだけで見ることができます。
圧倒的に楽ですよね。しかも、それが無料で利用できるとなると、活用しない手はありません。
Slackで情報収集を効率化するコツ
Slackにはチャンネルと呼ばれる概念があります。
このチャンネルを利用し、テーマごとにチャンネルを割り当てるのがおすすめです。

例えば、最新情報テクノロジーに関する情報収集を行う場合は、「ChatGPT」専用のチャンネルや「自動運転」専用のチャンネル、「生成AI」専用のチャンネルなど。
そうすることで、情報が混ざることを防ぐことでき、また、特定のテーマに沿ってメンバーと議論する際もそのチャンネルをそのまま利用できるので、とても便利です。
新しいテーマに関する情報が欲しくなった際は、チャンネルを追加するだけで拡張できるので、使い勝手が非常に良いです。
また、Slackは、あくまでチームコミュニケーションツールですので、情報収集の部分は、迷わず外部サービスを利用しましょう。
餅は餅屋に任せるのが一番!
情報収集の部分で、おすすめなサービスは、「Enjigraph API」です。
Enjigraph APIでは、日々収集している60,000を超えるウェブサイトの情報の中から、特定のテーマに関する情報を簡単に取得することができ、とても便利です。
Slackで情報収集を効率化するための3つの手順
■ STEP 1. Slack Appをチャンネルに追加しよう
まず、Slackのアカウントを作成しましょう。

次に、Slack APIへアクセスし、「Create an App」からSlack Appを作成します。




Slack APIへアクセス
「OAuth & Permissions」に移動し、「Scopes」の「Add an OAuth Scope」から、チャンネルへの書き込み権限である「chat:write」を付与します。


そして、「Install App」に移動し、「Install to Workspace」を押すと、Slack Appがインストールされます。


なお、「Bot User OAuth Token」は、プログラムからSlackに投稿する際、必要になります。


最後にSlack Appを追加したいチャンネルに移動し、「インテグレーション」の「アプリを追加する」を押してください。


これで、Slack側の設定は終わりです。
■ STEP 2. Enjigraph APIのAPI KEYを発行しよう
API利用のため、Enjigraphアカウントをまず作成しましょう。
※ ブラウザ版からのみ、API KEYの設定ができます。

Enjigraphアカウントの作成
次に、「拡張機能」に移動し、「Enjigraph APIの利用」からAPI KEYを作成しましょう。


作成されたAPI KEYをヘッダーに認証情報として付与することで、最新情報を取得できるようになります。
■ STEP 3. Enjigraph APIからデータを取得し、Slackに送信するコードをPythonで作成しよう
Enjigraph APIから特定のテーマに関する最新情報を取得し、Slackに投稿するプログラムをPythonで作成します。
今回は、例として、「ChatGPT」に関する最新情報を取得し、Slackの「ChatGPT」チャンネルに投稿したいと思います。
まず、Enjigraph APIのエンドポイントにクエリとAPI KEYを付与して、GETリクエストを送信します。
ChatGPTに関する日本語記事が欲しいので、q=ChatGPT、および、lang=jaを追加。
さらに、ドメインパワーが強い記事を抽出するため、filter=domainAuthorityも追加すると、下記のようなコードになります。
次に、返ってきたレスポンスの中から、記事のURLをSlackの「ChatGPT」チャンネルに投稿します。
チャンネルIDは、ブラウザからSlackのチャンネルを開いた際のURLの末端部分になります。
「https://app.slack.com/*******/チャンネルID」
記事のURLを投稿すると、Slackでは自動でサムネイルが展開されるので、便利です。

あとは、例えば、このコードを10分に1回起動するようにすれば、常にChatGPTの最新情報がSlackに流れることになり、情報収集がとても楽になります。
ちなみに、10分に1回起動するのは、AWS Lambdaを活用すると、コスト面などから効率的だと思います。
dockerなどを使ったことがある人は、手元のパソコンでdockerを使って、定期実行するのもいいでしょう。
全体のコードは以下になります。ぜひ、コピペして利用してください。
まとめ
Slackを活用して、情報収集を効率化する方法を紹介しました。
Pythonのコードをコピペするだけで簡単に使えるので、ぜひ試してみてください!
また、意外と作るのめんどくさいなぁーと思った方は、ウェブからもアプリからも簡単に利用できる情報収集アプリ「Enjigraph」をおすすめします!
キーワードを登録するだけで、最新情報を収集することができ、AIを搭載しているので、使えば使うほど、情報収集の精度が向上するのが大きな魅力です。
ぜひ、こちらも使ってみてください!

Enjigraphを利用する