Slackと外部アプリケーションを連携させる
RSSフィードの通知
ブログやニュースサイトなどの更新情報をSlackで受け取るために、RSSフィードを追加できます。
RSSのアプリ(https://slack.com/apps/A0F81R7U7-rss)のページにアクセスし、「Install」ボタンをクリックしてアプリをインストールします。
次に「Add RSS Integration」ボタンをクリックして、RSS連携を追加します。
次のページでRSSフィードのURLと通知先のチャンネルを指定して、「Subscribe to this feed」ボタンをクリックして、RSSフィードの連携を登録します。
ブログやニュースサイトが更新されて、RSSフィードに新しい記事が追加されれると、指定したSlackのチャンネルに記事の内容が通知されます。
なおRSSフィードの登録は、スラッシュコマンドからでも可能です。任意のチャンネルのメッセージボックスで/feed subscribe RSSフィードのURL と書いてメッセージを送信すると、RSSフィードが登録されます。
タスク管理ツールとの統合
Slackは各種タスク管理ツールとの連携ができます。著名なタスク管理ツールでは、下記のサービスがSlackとの連携に対応しています。
- Trello:https://trello.com/
- Asana:https://asana.com/
- JIRA:https://ja.atlassian.com/software/jira
- Wunderlist:https://www.wunderlist.com/ja/
各タスク管理ツールとの連携用アプリをインストールすると、タスクの作成、状態の変更などがされた時に、Slackに通知メッセージが送信されるようになります。また、アプリによってはSlackにスラッシュコマンドが追加され、スラッシュコマンドでタスクの追加、変更などの操作ができるようになります。
以下はTrelloのボード上でタスク(Trelloでは「Card」と呼びます)を作成してから、期限を設定した際の通知の例です。なお、Trelloの画面操作をSlackに通知する場合には Trello Alertsアプリ(https://slack.com/apps/A0F814C4R-trello-alerts)を使用します。
Trelloの操作をSlackから行いたい場合は、Trelloアプリ(https://slack.com/apps/A074YH40Z-trello)を使用します。このアプリをインストールすると、/trelloスラッシュコマンドでタスクの作成、コメントの追加などができるようになります。
GitHubとの連携
Slackは、ソースコードのバージョン管理ツールとも連携可能です。ここではGitHub(https://github.com/)との連携方法について紹介します。
GitHubアプリをインストールすることにより、ソースコードのCommit、Issue(課題)の変更、Pull Requestの作成などがSlackに通知されます。
まず、GitHubアプリ(https://slack.com/apps/A0F7YS2SX-github)をインストールします。次にGitHubの通知を送信するチャンネルを選択してAdd GitHub Integration をクリックします。
次にGitHubのアカウントを認証するために、Authenticate your GitHub account をクリックします。
認証が通ると、GitHubのリポジトリの一覧が表示されるので、通知したいリポジトリを選択して、画面下部にあるSave Integration をクリックしてGitHub連携を保存します。なお、Events にはGitHub上のどの操作をSlackに通知するかを設定できます。
設定後にGitHubリポジトリに対して操作を行うと、以下のようにSlackの画面に通知が表示されます。下記の画面の例ではIssueの作成と終了、Commitなどを行っています。
自動化ツールとの連携
Slackアプリが存在していないサービスとSlackを連携させるには、どうすればいいでしょうか?たとえばFacebook Pageへの書き込みや、Googleフォームへの書き込みがあった時にSlackに通知をするという処理は、Slackアプリでは実現できません。
このような処理は、IFTTT(https://ifttt.com/)やZapier(https://zapier.com/)といった自動化サービスを使用すると実現できる場合があります。IFTTT、Zapierはどちらも、「あるサービスでの処理をトリガーにして、別のサービスに通知する」のような処理を行います。前述の例だと、以下のような処理を登録することで実現できます。
- Facebook Pageに書き込みがされた→その内容をSlackに通知する
- Googleフォームに書き込みがされた→Googleスプレッドシートに行が追加される→1行追加された内容をSlackに通知する
アプリはそれぞれ下記のリンクからインストールできます。なお、各アプリとSlackを連携させるためには、IFTTT、Zapierそれぞれのアカウントが必要となります。
- IFTTTアプリ:https://slack.com/apps/A028LGAFF-ifttt
- Zapierアプリ:https://slack.com/apps/A024R9PQM-zapier
自動化ツールを使用して、Slackアプリが存在しないサービスと上手に連携してみてください。
その他ツール
その他、Essential Appsにある人気のアプリをいくつか紹介します。
- Essential Apps https://slack.com/apps/category/At64BY3G3F-essential-apps
Twitterアプリをインストールすると、任意のTwitterアカウントのツイートをSlackに通知してくれます。TwitterアプリをインストールするにはTwitterの認証が必要となるため、自分のTwitterアカウントとSlackを連携する必要があります。
- Twitterアプリ:https://slack.com/apps/A0F7XDW93-twitter
TwitterアプリではTwitterアカウントと、対象となるツイートの種類、投稿先のチャンネルを指定して保存します。以下の例ではslackhqアカウントが発言したツイートのみを#generalチャンネルに通知します。
対象のアカウントがTwitterでツイートすると、以下のようにSlack上に表示されます。
Giphy:アニメーションGIFの表示
Giphy(https://giphy.com/)は、アニメーションGIFのライブラリーサービスです。SlackにGiphyアプリをインストールすると、Slackに/giphy というスラッシュコマンドが追加されます。このコマンドに任意のキーワードを指定すると、キーワードにマッチしたアニメーションGIFが投稿されます。
Giphyアプリは下記のURLからインストールします。
Giphyアプリのインストール画面では、画像のレーティング(年齢制限のようなもの)と、投稿前にプレビューを表示するかどうかを設定できます。
以下は/giphy ferrets と入力して表示されたアニメーションGIFを投稿した例です。
Simple Poll:簡単な投票機能
Simple Pollは、Slack上で簡単な投票機能を提供します。Simple Pollアプリは下記URLからインストールします。
- Simple Pollアプリ:https://slack.com/apps/A0HFW7MR6-simple-poll
アプリをインストールすると、Slackに/poll コマンドが追加されます。このコマンドは最初に質問文を書いて、そのあとに選択肢を複数(スペース区切り)記述します。文字列にスペースを含む場合は、全体をダブルクォーテーション("
)で囲む必要があります。
Slackで /poll 今日の晩ごはんはなにがいい? カレー ピザ うどん と発言すると、以下のようにそれぞれの選択肢のボタンが表示されます。あとはチャンネルの参加者がボタンを押して投票すると、票数と投票したユーザー名が表示されます。
まとめ
今回はアプリを使用して、各種サービスとSlackを連携する方法について紹介しました。
様々なサービスと連携することにより、いろいろな情報の通知をSlackにまとめることができて、効率的に情報を取得できるようになります。無料プランでは使用できるアプリの上限は10と制限がありますが、上手に利用してSlackを使いこなしてください。
次回は、APIを使用してSlackと連携するプログラムを作成する方法について紹介します。