3月12日、東京は飯田橋で開催された daab Developers Summit 2018 で登壇させて頂きました。
スマホ向けのビジネスチャットサービスである direct の開発者向けイベントです。direct の開発元 LisB さんが daab 発表3周年を記念して主催されました。
daab とは direct agent assist bot の略で direct というビジネスチャットをプラットフォームとした、チャットボットを提供する為の仕組みのようなものです。slack 向けボットでも使われる Hubot がベースになってます。
弊社とdirect
directを提供されてるLisBさんと弊社との関係は実は結構長く、それこそdirectがローンチする前からのお付き合いです。社長の横井さんとのご縁がきっかけで、そこからはや10年近く…になるでしょうか。
directがまだクローズド版だった時に使わせて貰いました。ビジネスチャットという着眼点は素晴らしいなぁと LisB さんを羨ましく思ったものです。
当時、弊社のファイル共有サービスSYNCNELが思うように拡販できてなかった時期だからかも知れませんが(笑)、自社ビジネスを持つ会社あるあるの隣の芝は青い心境で、スマホ向けビジネスチャットの国内黎明期を羨ましく見てました。これは絶対盛り上がるでしょと。
その後、前述の daab を2014年末に発表されます。チャットツールをサードベンダーがボットを作って拡張できるというんです。LINEの BOT API の発表が2016年4月ですから、如何に早いかが分かりますね。
リリース前に構想をお聞きして、軌道に乗り始めていた自社のSYNCNELと連携させようという流れで、daab の開発パートナーにならせて貰いました。SYNCNELのロゴも載せて貰ってましたかね。
1年半後の2016年2月、弊社はSYNCNELを富士ソフトさんに事業譲渡しますが、その橋渡しをして下さったのが LisB さんです。何がどう繋がるか分かりませんよねホント。
そんなご縁で今もお付き合いさせて頂いてるという訳です。弊社は今 direct の一販売代理店とならせて貰い、導入支援/運用支援もしています。
一個人として、国内スマホ向けビジネスチャットの歴史を身近に見てきましたけど、間違いなく direct はその先駆けで(当時chatworkはスマホ最適ではなかった)、今でこそ流行りのビジネスチャットボットのコンセプトを最初に打ち出したのもまた direct なんですよね。
だから応援の意味もあってお付き合いを続けさせて貰ってます。プロダクトとしても良くできてますし。(どこ目線だw)
ビジネスチャットの役割
僕は、情報セキュリティレベルが低い国内事情も、生産性が低いと言われて久しい日本企業の実態も、諸悪の根源は「メール」であると考えてます。
メールを廃止すれば、いわゆる働き方改革(?)をやらなくても生産性は劇的に上がりますし、国内セキュリティインシデントも半分以上は無くせるし、際限なく掛かるように思える情報セキュリティ費用も極小化できると思ってます。
実際、directを始めとするビジネスチャットツールは、社内コミュニケーションとしてのメールを激減させました。人と人との会話はメールよりよほど効率的ですし、スパム誤判定による喪失や大量のメールに埋もれる事もありません。
社内コミュニケーションに使うメールと対比すれば、ビジネスチャットにはメリットしかないのです。
でも、社内のメールを無くすという観点で唯一 direct に欠けていると思っていたのが、社内を飛び交う通知メールをどうにかする手段でした。システムからのアラート、定期的な営業レポート、グループウェアからの通知、IoT機器からのお知らせ…。これらを、簡単に、あらゆるシステムから、あらゆる言語から direct に通知として容易に流せたら良いのにと。
でも、ボットサーバを立てるアーキテクチャではこれが面倒なんですよね。
LINE WORKS も同じです。ボットは作れますが、特定のチャットルームに通知を送るだけの為に別サーバを立てて環境を作る必要があります(Serverlessという手段もありますが、別に用意しないといけないという意味では一緒)。
この点、REST API を備えて手軽に通知を放り込める slack や chatwork のほうが優位です。
例えば、以下に示すのは chatwork に通知を送る GAS のコード。Google SpreadSheet の編集時にB1セルの値を通知するってなことが、
CHATWORK_WEBHOOK_API_TOKEN = '1234567890abcdef1234567890abcdef'; CHATWORK_WEBHOOK_API_ENTRY = 'https://api.chatwork.com/v2/rooms/12345/messages'; var options = { 'method' : 'post', 'headers' : { 'X-ChatWorkToken' : CHATWORK_WEBHOOK_API_TOKEN, }, 'payload' : 'body=' + SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet").getRange("B1").getValue() }; UrlFetchApp.fetch(CHATWORK_WEBHOOK_API_ENTRY, options);
とたった数行で書けます。これを書くのに5分もかかりません。普段使ってて慣れてますから。サーバも特別な環境も不要です。
slackならもう少し簡単ですね。
SLACK_WEBHOOK_API_ENTRY = 'https://hooks.slack.com/services/T00000000/B99999999/123456788912345678901234'; var options = { 'method' : 'post', 'payload' : 'payload={"username":"webhook","text": "' + SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet").getRange("B1").getValue() + '"}' }; UrlFetchApp.fetch(SLACK_WEBHOOK_API_ENTRY, options);
って書くことができます。このシンプルさは通知用の REST API (webhook) があらかじめ用意されているからです。
シンプルさとセキュリティは相反するのでバランスが重要ですが、シンプルに提供できるならビジネスチャットツールで社内通知を根絶できます。実際、弊社は通知系を基本 slack に集約していて、社内でのメールも、社内システムからのメールも一切ありません。
そこで、今回冒頭で言及した daab を使って、direct への通知を REST API (webhook) として実現するようなボットを作ってデモしました。
やっぱ応援しているプロダクトが他の競合プロダクトに負けてるかもって思う事があると悔しいじゃないですか。で、実際に動くものを作って見せれるというのは開発者・開発会社の良いところなので作ってみた次第です。中のエンジニアの方にも面白がって貰えたようで良かったなと。
directが標準で REST API を搭載するまで、今回作ったボットを使って社内で運用、また espar など静的化製品での活用を考えてます。
以上、イベント参加報告でした。他の登壇者の方も、AIやIoTやEDIやRPAなど、ボットを使って色んなことができるってことを紹介されていて、聴講者としても面白く且つ勉強になるイベントでした。
先日の MobileAct といい開発者向けイベントに登壇することが増えてます(増やしてます)。これからも機会あればアウトプットしていきたいと思います。