Slackと外部アプリケーションを連携させる
Slackは単独のチャットツールとしても便利ですが、外部のアプリケーションと連携(Integration)することによって、さらに便利に使えるようになります。
例えば、Slackと外部アプリケーションを連携することにより、以下のような各種イベントをSlackに通知できます。
- Googleカレンダーに追加したイベントのリマインド通知
- GitHubでのコードの更新やissueの追加などの履歴
- ブログで最新の記事が公開されたこと通知
このように各種アプリケーションと連携することにより、通知をSlackにまとめて一元管理できるようになります。
また、SlackはAPIが公開(https://api.slack.com/)されており、簡単なプログラムで独自アプリケーションをSlackと連携させることも可能です。
ここでは、各種アプリケーションとの連携方法について主なものを紹介します。
最近のSlackニュース
9月はSlack主催のイベントがあることもあり、たくさんの機能がリリースされました。特に、Shared Channelsは仕事でSlackを使う上では、今後重要な機能になると思われます。
- 2017年9月6日:「チーム(Team)」という用語が「ワークスペース(Workspace)」に変更されました
- 2017年9月7日:自分宛ての重要なメールをSlackに通知する機能が追加されました。設定画面の「Messages & Media」の「Brings Emails into Slack」から設定できます
- 2017年9月12日:複数のワークスペース(以前のチーム)間での共有チャンネル(Shared Channels)が作成できるようになりました。この機能は有料会員のみで有効です(https://slackhq.com/introducing-shared-channels-where-you-can-work-with-anyone-in-slack-8c5d2a943f57)
- 2017年9月14日:UIの多言語対応が追加されました。現時点では英語以外にはフランス語、ドイツ語、スペイン語に対応しています。今後、日本語もリリースされると思われます(https://slackhq.com/bienvenue-willkommen-bienvenidos-to-a-more-globally-accessible-slack-546a458b21ae)
- 2017年10月26日:Slackの画面共有に「Share control」機能が追加されました。この機能を使用すると、共有している画面に対して他のユーザーが入力、クリックなどの操作ができるようになります(https://slackhq.com/screen-sharing-in-slack-made-interactive-cf8816efaa01)
- 2017年11月17日:SlackのUIの日本語対応がリリースされました(https://slackhq.com/slack-is-now-available-in-japanese-e5f9575eb080)
PreferencesのLanguage Regionで日本語を選択すると、UIが日本語に変更されます。
言語を日本語に設定すると、サイドメニューや各種アイコンのツールチップなどが全て日本語になります。
日本語に設定すると、メッセージの入力ボックスの横に送信ボタンが表示されるようになります。また、メッセージの送信が今までのEnterから、macOSはCommand+Enterに、WindowsはCtrl+Enterに変更されます。これは日本語入力の際、Enterキーをかな漢字変換の確定に使用するため、連続してEnterを入力したことによる誤送信を防ぐためと思われます。
今まで通りEnterでメッセージを送信したい場合は、環境設定→詳細設定で送信ボタンを表示するのチェックを外してください。
当然ですが、メニューだけでなく、管理画面やユーザー登録画面なども全て日本語化されています。これで、英語が苦手なユーザーにもSlackを勧めやすくなったと思います。
App Directory
Slackをより便利にするために、外部のアプリケーションとの連携ができることについて説明しました。では、どのようにアプリケーションの連携を行うのでしょうか?Slackと連携できるアプリケーションを探すには「App Directory」を使う方法と、Slackの画面から探す方法の2種類があります。
なお、無料版のSlackではアプリケーション連携の上限は10個までとなっています。有料版には、この制限はありません。
App Directoryから探す
App Directoryにはhttps://my.slack.com/apps からアクセスします。App DirectoryにはSlackと連携できる各種アプリケーション、サービスがカテゴリごとに分類されています。キーワード検索も可能なので、自分が普段使用しているサービス名や、必要とする機能をキーワードとして検索してみましょう。
特に使いたいアプリが決まってない場合は、メニューから「Essential Apps」を選択して重要なアプリ(おそらく多くのワークスペースで使用されているアプリ)を参考にするといいでしょう。Google Drive、Trello、Dropbox、GitHub、Twitterなどのよく使われるサービスと連携するためのアプリケーションが表示されているのがわかります。
Slackの画面からアプリを探す
Slackの画面からアプリを探すには、サイドバーの一番下に表示されている「Apps」をクリックします。すると、Browse Apps画面が表示されるので、あとはApp Directory画面と同様にキーワードを入力してアプリケーションを検索します。
各種アプリケーションとの連携
ここではよく使われるアプリケーションとの連携方法や、連携するとなにができるようになるかについて説明します。
Googleドライブとの連携
Googleドライブは、Googleが提供するクラウドストレージサービスです。Slackと連携することにより、Googleドライブに記録されているファイルの参照、共有などが行えます。
Googleドライブ上のドキュメントやスプレッドシートなど、Slackで共有したいファイルのリンクをSlackにはりつけます。するとslackbotがGoogleドライブとSlackの連携を許可するかどうかを訊いてきます。
ここで「Yes, allow」を選択すると、SlackからGoogleアカウントに対して各種アクセス権限の要求画面が表示されます。内容が問題なければ「ALLOW」をクリックして、権限を許可します。
次にSlackの画面で、Googleドライブとのアクセス許可画面が表示されるので、ここも問題なければ「Authorize」をクリックします。
ここまでの手順で、SlackとGoogleドライブが連携されます。SlackからGoogleドライブ上のファイルのタイトルや中身が参照できるので、以下のように共有したファイルのタイトルや中身のプレビューが表示されます。また、slackbotから「このファイルを共有するかどうか」を尋ねられます。たとえば「and allow them to view」を選択すると、このチャンネルにいるユーザーはこのファイルを参照できるようになります。これにより、個別のファイルごとにメンバーに対する権限設定などをする必要がなくなります。
またSlackはGoogleドライブ以外にも、以下の主要なクラウドストレージサービスとの連携に対応しています。
* Dropbox:https://slack.com/apps/A0F82E5R8-dropbox* Microsoft OneDrive:https://slack.com/apps/A53TM6XA9-microsoft-onedrive* Box:https://slack.com/apps/A0F82E57C-box
これらの連携用アプリをSlackにインストールすると、サービス上のファイルの情報などがSlackに表示されるようになります。また、これらのファイル共有サービスで管理されたファイルのURLをSlackに貼り付けると、Googleドライブと同様にアクセス権限の設定などが行われて連携されます。
Googleカレンダーとの連携
Googleカレンダーは、Googleが提供するスケジュール共有サービスです。Slackと連携することにより、Googleカレンダー上に記録されている予定のリマインダーや更新情報がSlack上に通知されます。
まずはGoogleカレンダーアプリをSlackにインストールします。Google Calendar app(https://slack.com/apps/A0F8149ED-google-calendar)のページを表示します。「Connect Calendar to Slack」ボタンをクリックして、SlackとGoogleカレンダーを連携します。
その際に、Googleドライブの時と同様にGoogleアカウントでの権限設定などが行われますが、すでに権限を許可している場合は表示されません。
続いて、通知対象となるGoogleカレンダーとSlack Channelを設定します。ここで指定したGoogleカレンダー上の予定が、Slackに通知されるようになります。
カレンダーとChannelを設定すると、通知ルールの設定画面が表示されます。ここでは以下の3つの項目を設定できます。
- Event Reminders:イベントのリマインダーの通知設定。どのくらい前に通知するかなど
- Calender Updates:カレンダーの情報が作成、更新、削除された際の通知設定
- Calendar Summaries:毎日や毎週、予定一覧を通知する設定
通知ルールを設定したら「Save Integration」ボタンをクリックして、保存します。
以下のような画面が表示され、GoogleカレンダーとSlackの連携が設定されました。
例えばGoogleカレンダーに予定を追加すると、以下のようにSlackに通知されます。同様に予定の変更、削除や、リマインダー通知なども行われるので、ミーティングの予定などを管理して通知するなど便利に使用できます。
メールとの連携
有料プランでの機能になりますが、メールとSlackの連携ができます。メールの連携を行うと、任意のチャンネルにメール送信するためのメールアドレスを生成できます。
そのアドレスに送信されたメールは、Slackのチャンネルに展開して表示されます。
例えばプロジェクトのメーリングリストなどがある場合には、そのメーリングリストにSlackとの連携用のメールアドレスを追加しておくと、メールの内容がSlackにも流れるので、いちいち自分宛てのメールを確認する必要がなくなります。
メール連携のアプリをインストールして「Add Configuration」ボタンをクリックすると、以下のようなメール連携の登録画面が表示されます。通知先のチャンネルを選択して「Add Email Integration」ボタンをクリックすると、メール連携が作成されます。
メール連携を作成すると、以下のような設定画面が表示されます。通知用のメールアドレス以外に、通知先チャンネル、アイコンなどが設定できます。
メール連携で作成されたメールアドレスにメールを送信すると、チャンネルにメールの内容が表示されます。通知時にはタイトル、送信者、本文の先頭のみが表示されますが、通知領域をクリックすることにより、全文表示と折りたたみ表示を切り替えられます。