[Slackbot大全]25種類の事例・ツールを一挙紹介! botで業務を効率化しよう【2018夏】

あの企業は一体どんなSlackbotを活用しているの?そんな疑問に答えるべく、20社のSlackbot活用事例を聞いてみました。バラエティに富んだ回答に、開発のヒントがあるかも!?

[Slackbot大全]25種類の事例・ツールを一挙紹介! botで業務を効率化しよう【2018夏】

すでに多くの企業やチームに導入されているビジネスチャットツール、Slack。2017年9月には日本法人Slack Japanが立ち上がり、同年11月には日本語対応を開始するなど国内での本格展開をスタートしています。

Slackの魅力の1つに、拡張性が挙げられます。さまざまなbotを自作することで、利用者のニーズに応じた機能を追加でき、日々の業務をサポートしてくれます。2017年春に本誌が実施した調査でも、多くの企業が個性豊かなbotを作っていたことが分かります。本稿ではSlackを活用している企業や団体に再びアンケートを実施し、回答のあった20社、計26種類のbot事例・ツールをご紹介します。

  1. mamorio-obento(MAMORIO株式会社)
  2. gutto-paccho(株式会社scouty)
  3. といれぱっちょ(株式会社scouty)
  4. slamp(株式会社grooves)
  5. review bot(株式会社メディカルノート)
  6. Hera(オリュンポス十二神より)(Retty株式会社)
  7. peer-chan(メドピア株式会社)
  8. rbot(ラクスル株式会社)
  9. ムキムキお兄さん(株式会社Loco Partners)
  10. taskman(株式会社CyberZ)
  11. トイレ空き状況通知ボット(株式会社ディー・エヌ・エー)
  12. ebisu_meeting_room bot(1)(株式会社モンスター・ラボ)
  13. ebisu_meeting_room bot(2)(株式会社モンスター・ラボ)
  14. my_plan bot(株式会社モンスター・ラボ)
  15. ryoma(株式会社Housmart)
  16. speakerbot(株式会社JX通信社)
  17. moribot(株式会社ミクシィ)
  18. oragon(株式会社ミクシィ XFLAGスタジオ)
  19. 運用チェック当番をお知らせする猫(Sansan株式会社)
  20. MigrationSQL Checker(Sansan株式会社)
  21. /aws-staging(Sansan株式会社)
  22. 日の入りをお知らせする○○○○(Sansan株式会社)
  23. PR Emergency(Sansan株式会社)
  24. リリース用bot(株式会社div)
  25. eclair(ウェルスナビ株式会社)
凡例
  • bot名(社名)
    • botを導入したきっかけ、理由
    • botの機能・できるようになったこと
      • 実用例(スクリーンショット)
    • アーキテクチャ表
      • botフレームワーク
      • 利用言語
      • 他利用ツール
    • なぜこのフレームワークや言語を選んだのか?
    • ソースコード(GitHub)
    • 参考リンク

※本記事は、2018年3~5月のメール取材をもとに作成しています。アーキテクチャ表の「なし」はそう回答いただいたもの、「 - 」は回答そのものが空白だったものです。

mamorio-obento(MAMORIO株式会社)

botを導入したきっかけ、理由

毎日のお弁当の集計と発注に非常に手間がかかっていたため。

botの機能・できるようになったこと

  • 毎日のお弁当の注文の集計とFaxによる発注を自動化する。
1
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール Slack、eFax

なぜこのフレームワークや言語を選んだのか?

Google Apps Scriptは無料&サーバーレスで簡単に構築できるので。

ソースコード

https://gist.github.com/kazuooooo/6acb1f20c0a3616edaeefa09f1626cc6

参考リンク

詳しくはこちらをご覧ください。

SlackとGASを使って会社のお弁当発注を自動化した話

gutto-paccho(株式会社scouty)

botを導入したきっかけ、理由

scoutyでは社員同士のコミュニケーションを増やし、良好な関係性を構築するために、時間を合わせて可能な限り社員全員でランチに行くようにしています。

2017年の7月時点で3名しかいなかった社員は、2018年4月の段階で12名+インターン3名に増え、全員が同じお店でランチをとることが難しくなりました。ランチの度にグループ分けを行っているのですが、グループ分けの手間を減少し、人数の把握漏れを防ぐために、バックオフィスを担当している野崎(@mikupaccho)がSlack上でグループ分けと出欠管理ができるbot「gutto-paccho」を開発しました。

scoutyでは【技術指向(Tech Oriented)】というValueがあり、エンジニア以外のビジネスサイドやバックオフィスの社員もプログラミングやテクノロジーについて学んでおり、本botもこうしたValueの一環として野崎が自主プロジェクトとして開発しました。

botの機能・できるようになったこと

  • ランチに参加するメンバーの募集。
  • リアクションに合わせた受付対応。
  • 参加者のグループ分け。
2
3
botフレームワーク slackbot 0.5.1
利用言語 Python 3.6
他利用ツール なし

なぜこのフレームワークや言語を選んだのか?

scoutyは機械学習部分やサービスなど、全てPythonで開発を行っています。バックオフィスにおいても、エンジニアが活用しているのと同じ技術を活用して知識を深めたいと思い、Pythonを選びました。

ソースコード

https://github.com/mikupaccho/gutto-paccho

といれぱっちょ(株式会社scouty)

botを導入したきっかけ、理由

2017年9月に移転したscoutyの新オフィスには2018年4月に増床するまでの期間、トイレが1箇所しかありませんでした。トイレは執務スペースがある12階ではなく11階のフリースペースにあったため、トイレに行ったにもかかわらず、使用中だと時間が無駄になってしまいます。そこで、自席からでもトイレの使用状況を確認できるようにモニタリングできるシステムを開発しました。

botの機能・できるようになったこと

  • トイレが使用中の場合は、Slackユーザーの「といれぱっちょ」のステータスがactiveに、空いている場合はawayになりトイレの使用状況が分かります。
  • 仕組みとしては、トイレの中に設置したRaspberry Piと照度センサーを利用し、トイレの照明の点灯状況とSlackのbotアカウントのステータス情報を連携しています。またbot自体もRaspberry Pi上で動作させています。
4
botフレームワーク slackbot 0.5.1
利用言語 Python 3.6
他利用ツール Raspberry Piの照度センサー

なぜこのフレームワークや言語を選んだのか?

上記同様、scoutyのサービスで使用されているので、本bot開発にもPythonを選びました。

ソースコード

https://github.com/denzow/iott

slamp(株式会社grooves)

botを導入したきっかけ、理由

Slackのカスタム絵文字として『けものフレンズ』の素材を登録したものの、実際に使ってみるとサイズの問題でセリフが小さく「すごーい!」という感情を上手く表現できず、もどかしさを感じたため。

botの機能・できるようになったこと

/stamp :custom_emoji: とコマンドを発行すると、emojiを大きく表示できる。

5
botフレームワーク なし
利用言語 JavaScript
他利用ツール -

なぜこのフレームワークや言語を選んだのか?

JavaScriptが一番得意だから。

ソースコード

https://github.com/16g/slamp

review bot(株式会社メディカルノート)

botを導入したきっかけ、理由

ビジネスを前に進めるためのタスクに埋もれがちなレビュー文化を、健全に、かつ負担の少ない形で盛り上げるためです。

botの機能・できるようになったこと

  • Pull Requestに対してラベルを追加することでPull Requestのステータスを管理しています。
  • ラベルの変更を検知してSlackに通知することでタイムリー、スムーズにコードレビューが行えるようになりました。
6
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール GitHubのPull Request

なぜこのフレームワークや言語を選んだのか?

担当者が個人的な興味から試験的に始めたもので、組織としての選定理由はありません。シンプルな機能・役目にとどまっているため、組織的な手当てはまだ不要と考えています。

ソースコード

https://gist.github.com/masayokoo/371fe93c026a5beedef9af426d97485d

Hera(オリュンポス十二神より)(Retty株式会社)

botを導入したきっかけ、理由

  • 複数サービスを横断した便利ツールの開発の際の連携にストレスを感じることが多くなったため。
  • マイクロサービスの開発の設計/開発/運用の題材として。

botの機能・できるようになったこと

基本的には思いついたらサクッと取り入れることが多いので、統一性はないですが多機能です。

  • Slackの絵文字(:bug:, :github:)が押されたメッセージ(画像)を元にGitHubのissueの作成。
  • 図書館の蔵書管理(貸し借り/検索/予約)。
  • Pull Requestのレビューワーのランダムアサイン。
  • Slackチャンネルのtopic部分のURLの自動短縮。
  • AsciiArtのスターウォーズが上映できる(jokeコマンドとして)。 etc...
7
botフレームワーク -
利用言語 Node.js 6.11.5
他利用ツール GitHub、Slack、Cloudiary、Google ShorterなどのAPIが公開されているサービスの連携

なぜこのフレームワークや言語を選んだのか?

  • 開発の手軽さと、ドキュメント等が読みやすい or コードの動作が簡単に追えるもの。
  • 開発者の得意な言語と、社内で使いやすい言語の折衷案として。

を基準にして選択しています。

ソースコード

https://github.com/TKNGUE/gas-book-library

※公開可能な蔵書管理のAPI周りのみ。

peer-chan(メドピア株式会社)

botを導入したきっかけ、理由

元々はJIRAのメンション相手にSlack DMし、メールに埋もれずにスムーズにコミュニケートすることを目的に導入しました。今回は2017年度の記事でご紹介したものに続き、さらに3点機能を追加しています。

  • GitHubでPull Requestコメントでメンションしても、他のメールに埋もれて気付かないことがあったため、Slack DMで通知しスムーズにコミュニケートするようにしました。

  • 各ホストへSSH接続する際に必要な情報をConfluenceに記載し管理をしていましたが、踏み台サーバを追加・削除した場合に情報が最新でなくなってしまいます。そこでbotからクラウドサービスのAPIを利用し、情報を抽出、リスト化し、Slackに通知するようにしました。

  • サービスについてブランチごとのQA環境を自動構築しており、その情報をSlack通知するようにしました。

botの機能・できるようになったこと

  • GitHubでPull Requestコメントのメンション相手に対してSlack DM通知。
  • AWS accountごとの稼働中EC2、RDSの情報をSlack通知。
  • gitブランチごとのQA環境情報をSlack DM通知。
8
botフレームワーク Hubot 2.19.0
利用言語 Node.js 6.11.5
他利用ツール GitHub、CircleCI、AWS、JIRA

なぜこのフレームワークや言語を選んだのか?

Hubotは導入してから長く、社内での知見も蓄積されており、ドキュメントも充実していることから選択しました。

ソースコード

https://github.com/medpeer-inc/hubot-slack-on-docker

※botの機能の項目、「GitHub Pull Requestコメントのメンション相手に対してSlack DM通知」についてのみ公開しました。

rbot(ラクスル株式会社)

botを導入したきっかけ、理由

デザイナーが、エンジニアの工数をかけずにデプロイできるようにするため。また、導入当時ChatOpsが流行りだしていたため。

botの機能・できるようになったこと

  • 本番環境、QA環境へのデプロイ。
  • QA環境の利用状況確認。
  • 出勤、退勤の打刻。
  • Redashグラフの表示。
9
10
botフレームワーク Hubot
利用言語 JavaScript、CoffeeScript
他利用ツール Jenkins、Redash

なぜこのフレームワークや言語を選んだのか?

導入当時、一番メジャーだったため。

ムキムキお兄さん(株式会社Loco Partners)

botを導入したきっかけ、理由

営業担当者よりリアルタイムで掲載施設の情報を把握したいという希望があったため。

botの機能・できるようになったこと

  • Relux上に新規で公開された施設情報を、Slack上で営業担当者へ共有する。
11
botフレームワーク なし
利用言語 Python
他利用ツール Redash

なぜこのフレームワークや言語を選んだのか?

RedashがPythonに対応しているため。

taskman(株式会社CyberZ)

botを導入したきっかけ、理由

社内でタスク管理に使用しているツールが

  • エンジニア -> GitHub Issue (waffle.io
  • カスタマーサポート(CS) -> Zendesk

と異なっており、CSからエンジニアに調査依頼をする際は、Slack上で要件をまとめて依頼する形になっていました。

ただ、メッセージが流れてしまうこともあったため、CSからGitHubに起票するフローを検討しましたが、CSの利用するツールが増えてしまうことから作業の煩雑化が懸念されました。

Slack上でメンションを増やすだけならCSの負担が少なく、またエンジニアにとってもリアクションがしやすいため、今回のbotを作成しました

botの機能・できるようになったこと

  • Slack上で「@taskman @(groupmention) ***の調査をお願い」とつぶやくと、メッセージに含まれているGroupに関連したGitHubリポジトリのIssueに起票する
12
13
botフレームワーク なし
利用言語 JavaScript
他利用ツール Zapier

トイレ空き状況通知ボット(株式会社ディー・エヌ・エー)

botを導入したきっかけ、理由

トイレ混雑時にフロア間を移動、といった手間を軽減するため。トイレのドアの開閉状況をIoTで吸い上げ、Slackから簡易に確認できると考えました。

14
botフレームワーク なし
利用言語 JavaScript
他利用ツール なし

なぜこのフレームワークや言語を選んだのか?

デバイス管理にGCPのCloud IoTを使っており、Slackの応答をCloud Functionsで行いたかったため。

ebisu_meeting_room bot(1)(株式会社モンスター・ラボ)

botを導入したきっかけ、理由

会議室の空き状況と場所を調べるbotです。空き会議室を一室一室空き状況を検索して探すのは面倒だったからです。移転後間もないため新しいオフィスの会議室の場所が分からない、新入社員も場所が分からないという業務ストレスがありました。

botの機能・できるようになったこと

  • publicなチャンネルでの「meetingroom: help」入力で会議室の空き状況と場所を調べるbotのbot機能を表示。
  • 「meetingroom: now」入力で現在の会議室の空き状況を表示。
  • 「meetingroom: today」入力で今日の会議室の空き状況を表示。
  • 「meetingroom: yyyy/m/d」入力で指定した日付の会議室の空き状況を表示。
  • 「meetingroom: map」入力で会議室のマップ画像を表示。
15
16
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール Googleカレンダー、Firebase

なぜこのフレームワークや言語を選んだのか?

会議室予約にはGoogleカレンダーを使用しており、連携が容易にできるGoogle Apps Scriptを選択しました。

ebisu_meeting_room bot(2)(株式会社モンスター・ラボ)

botを導入したきっかけ、理由

こちらは会議室の予約重複を調べるbotです。会議室の予約が重複していて、実際の利用時間になってから慌てて別会議室の予約と準備をすることが多々ありました。会議室の予約時に、予約が重複していると通知するシステムがあれば、と考えました。

botの機能・できるようになったこと

  • 30分ごとに全会議室のカレンダーをチェックし通知。
  • チェック範囲は現時点から1週間後(24時間 * 7日 = 168時間後)。
  • 登録者が同一人物の場合は通知しない。
  • 一度通知したものについての繰り返し通知は行わない(Firebaseに情報を保存する)。
  • 保存した情報は保存してから9日経過すると削除される。
17
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール Googleカレンダー、Firebase

なぜこのフレームワークや言語を選んだのか?

「ebisu_meeting_room bot」同様です。

my_plan bot(株式会社モンスター・ラボ)

botを導入したきっかけ、理由

こちらは自分の予定を調べるbotです。Google Apps Scriptを使うとGoogleカレンダーには表示されていない「登録時間」の取得も簡単にできるので、予定が重複していた場合、先に登録された予定を優先するなどの判断材料にできないかと考えました。このbotによって自分の予定チェック、調整にかかる時間が減りました。また、予定の確認時にgoogleカレンダーを起動する手間が省けます。

botの機能・できるようになったこと

  • publicなチャンネルでの「plan: help」入力で自分の予定を調べるbotのbot機能を表示。
  • 「plan: today」今日の予定を表示。
  • 「plan: yyyy/m/d」指定された日付の予定を表示。
18
19
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール Googleカレンダー、Firebase

なぜこのフレームワークや言語を選んだのか?

「ebisu_meeting_room bot」同様です。

ryoma(株式会社Housmart)

botを導入したきっかけ、理由

ChatOpsを導入することで、デプロイ作業を容易にし、かつメンバー間でデプロイの状況を把握できるようにするため。また、時々話し相手が欲しくなるため。

botの機能・できるようになったこと

  • マージとデプロイ。
  • ユーザー行動ログの抽出。
  • 話し相手になってくれる。
20
21
botフレームワーク Lita
利用言語 Ruby
他利用ツール Slack、Bitbucket、AWS

なぜこのフレームワークや言語を選んだのか?

社内の主要言語がRubyなので。

speakerbot(株式会社JX通信社)

botを導入したきっかけ、理由

リリースなど社内で周知したい良いことがあったときに、声とSlackでみんなに伝える文化を作りたかった。

botの機能・できるようになったこと

  • メンションの内容を、社内のスピーカーで読み上げる。
  • News Digestの速報ニュースや重大ニュースを読み上げる。
22
botフレームワーク なし
利用言語 Python 3.6
他利用ツール Amazon Polly(音声読み上げエンジン)、Raspberry Pi(社内のスピーカーにつなぐためのもの)

なぜこのフレームワークや言語を選んだのか?

社内での利用率の高さからPythonを選定。このbotはシンプルな機能だけだったので、フレームワークは不使用。

moribot(株式会社ミクシィ)

botを導入したきっかけ、理由

ゲーム開発の現場で各種テストデータのインポートが日常的に発生していました。そこで、毎回エンジニアを経由せずともインポートが実行でき、かつ全員が行った操作を把握する機能をチャットボット形式で導入したのが発端です。

数年間開発を重ね、今やプロジェクト進行管理やサーバー操作、ネタの言葉遊びにいたるまで対応するプロジェクトのパートナーとなりました。

botの機能・できるようになったこと

  • 開発サーバーDBにゲームのマスターデータを流す機能をメインとして、多岐にわたる。
  • 仕事:コードデプロイ、日々のお知らせ、PR作る、KPI情報やサーバー状態表示、CIジョブ実行。
  • 日常:花粉飛散状況教えてくれる、投票進行してくれる。
  • じゃれあい:挨拶、言葉遊び、ちゃぶ台返しごっこ。などなど。
23
botフレームワーク Lita
利用言語 Ruby
他利用ツール Jenkins、GitHub API、Google Drive、PagerDuty

なぜこのフレームワークや言語を選んだのか?

日常業務でもRubyを使用し、なじみがあったからです。

oragon(株式会社ミクシィ XFLAGスタジオ)

botを導入したきっかけ、理由

日々の業務で定常的に生じる作業を効率化、あるいは自動化し、本当に取り組むべきタスクに集中するため。

botの機能・できるようになったこと

  • XFLAGスタジオ CREチームが利用しているSlack bot、oragonは、プロダクトのサーバログ調査におけるAWS Elastic MapReduce(EMR)の運用を支援しています。

  • CREチームではoragonを使ってメンバーのEMRクラスタ利用状況を管理しており、クラスタの使用可否を確認するコミュニケーションの負担を軽減します。

  • また、oragonには一定時間使われていないEMRクラスタを自動的に破棄する機能があります。これによって長時間のアイドリングや終業後のクラスタの落とし忘れによって無駄なコストが生じることを防止しています。

24
botフレームワーク slack-ruby-bot
利用言語 Ruby
他利用ツール Googleスプレッドシート

なぜこのフレームワークや言語を選んだのか?

CREチームではプロダクトの管理ツールやその他の社内システム開発にRubyを採用するケースが多く、メンバーも普段業務で扱っているのでRubyに慣れているため。

参考リンク

この機能について紹介記事を公開いたしましたので、ぜひご覧ください。

【CREウィーク木曜日】ChatOpsによる解析基盤の運用改善とAWSクロスアカウント環境におけるChatbotの実装例

運用チェック当番をお知らせする猫(Sansan株式会社)

botを導入したきっかけ、理由

日々、自社のサービスでエラーが出ているかの確認業務を毎日交代で行っています。以前は担当の順番が特に定まっていなかったり、定めても忘れたりしてしまっており、botに毎朝通知させることにしました。

botの機能・できるようになったこと

  • 週ごとに異なるローテションで運用チェック当番を通知する
25
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール Googleスプレッドシート

なぜこのフレームワークや言語を選んだのか?

当番表をスプレッドシートで用意し連携したかったため。

MigrationSQL Checker(Sansan株式会社)

botを導入したきっかけ、理由

本番環境のDBに変更を適用した際、各開発チームの開発環境用DBへも同様の変更を行う必要があります。botの導入以前では「開発環境用DBへも同様の変更が行われているだろう」とメンバー間で暗黙の了解がありましたが、うっかり忘れてアプリケーションエラーになることで気付いたりしていました。

botの機能・できるようになったこと

  • 適用漏れを防ぐための通知を行う。
  • botが本番環境を直接参照しているのではなく、適用したSQLを管理するテーブルと、SQLのファイル名を比較して適用済みかをチェックしている。
26
botフレームワーク なし
利用言語 C#
他利用ツール -

なぜこのフレームワークや言語を選んだのか?

開発環境用DBと接続するデータプロバイダが.NET用のものがよく知っていたから。

/aws-staging(Sansan株式会社)

botを導入したきっかけ、理由

ステージング環境のインスタンスの起動・停止・ステータスチェックをChatOpsで実現したかった。

botの機能・できるようになったこと

  • 特定ChannelにAWS CLIコマンドを打つことでステージング環境の一部操作が可能。
27
botフレームワーク なし
利用言語 Python
他利用ツール AWS SDK for Python

なぜこのフレームワークや言語を選んだのか?

Lambdaで動かせるため。

日の入りをお知らせする○○○○(Sansan株式会社)

botを導入したきっかけ、理由

日没時間を知ることで、無駄な残業しないようにする。

botの機能・できるようになったこと

  • 日没時刻の通知。現在の月齢の通知。
  • 日が沈んでいるかまだ沈んでいないかでメッセージがちょっと変わります。
28
botフレームワーク なし
利用言語 Google Apps Script
他利用ツール -

なぜこのフレームワークや言語を選んだのか?

サクッと作れるため。

PR Emergency(Sansan株式会社)

botを導入したきっかけ、理由

時間がなかったり、レビューしてもらえなかったりして、なかなか閉じられないGitHubのPull Requestがたまにありました。

botの機能・できるようになったこと

  • 開始から7日以上経過しているPull Requestのピックアップと通知。
  • チーム(ユーザグループ)をメンションすることで、チームとしてPull Requestを閉じるべく活動する。
29
botフレームワーク なし
利用言語 C#
他利用ツール -

なぜこのフレームワークや言語を選んだのか?

慣れていた言語だから。

リリース用bot(株式会社div)

botの機能・できるようになったこと

アプリのデプロイのためのbotです。

botフレームワーク Hubot
利用言語 Ruby
他利用ツール -

eclair(ウェルスナビ株式会社)

botを導入したきっかけ、理由

業務効率向上のため

botの機能・できるようになったこと

  • JIRAのメンションをSlackに通知

  • BitbucketのメンションをSlackに通知

  • テスト用APIのステータスをSlackに通知

botフレームワーク BotKit
利用言語 JavaScript
他利用ツール Google Spread Sheet

なぜこのフレームワークや言語を選んだのか?

社内にJavaScriptを書いたことのある人が多いためです。他の人でもメンテナンスできることを優先しました。

Botkitを選んだのはSlackのBotUserページにも記載があり、メンテナンスも継続して行われているためです。

おわりに

開発現場や組織のカルチャーに合わせて、さまざまな形で活用されているSlackbot。チームの業務改善やコミュニケーション促進のため、ぜひ参考にしてみてください。

取材・執筆:薄井千春(ZINE)

若手ハイキャリアのスカウト転職