LINE WORKSのBotはどうやって開発するのか?
具体的なトークBotを例に、具体的なBot開発について説明したのがワークスモバイルジャパン Solution and Sales Engineer 東本岩雄氏だ。
トークBotとは、対話形式で特定のタスクを実行できる自動化されたプログラムを指す。ユーザーが普段のトークの延長で問いかけると、トークBotがデータベースを検索し、回答を戻してくれる。利用環境や端末に左右されないので最低限の開発コストでシステムをモバイル対応でき、ユーザーも自然言語で問いかけられるので、細かい入力ルールを覚える必要がない。「仕事の行動パターンを変えずに新しいITサービスを使える」(東本氏)。
LINE WORKSとしては、Botを介することで、さまざまな業務アプリとチャットを連携させ、すべてのビジネスマンのフロントエンドアプリにしたいという。業務処理の進捗を通知してくれるサービスデスクや出退勤などを簡単に登録できる勤怠管理Bot、社内での手続きを確認できる会社生活マニュアルなどが具体的な利用イメージだという。
LINE WORKSではメンバーとBot間でメッセージがやりとりできるWeb API(Bot Framework API)を提供している。一方、Botサービスの提供者はメッセージの送受信とメッセージの作成・応答を行なうアプリケーションが必要になる。ただ、通知のみを行うトークBotであれば受信サーバーの設定は不要だという。また、すべての通信は事業者が発行した証明書をベースにしたHTTPSが必須になる。
東本氏はトークから「おはようと話しかけるだけで打刻が完了する勤怠管理システムの「KING OF TIME」との連携デモを披露し、旅費精算システムと連携している企業もあるという。
開発者権限を付与されたユーザーはLINE WORKS Developersに登録すると、コンソールにアクセスできる。コンソールではAPIの利用に必要な設定やAPI IDの発行や管理、シングルサインオンやSAMLの設定、そしてトークBotの作成や管理が行なえる。Botを登録したら、あとはAPIを実行可能。リクエストのURLを送信すると、処理結果が戻される。実際にPOSTMANでトークBotのAPIを実行させる設定とデモを披露した。Developers SiteにはマニュアルやBotのサンプルが掲出されているので、開発者も手軽に試せるという。
PowerAutomateを使えばGUIからBotのフローを設計できる
とはいえ、APIを直接扱うのはそれなりに敷居も高いし、言語やサーバーの知識も必要になる。これに対して、最近注目を集めているのが、複数のクラウドサービスを統合できるiPaaS(Integration Platform as a Service)だ。
iPaaSはマルチクラウドで展開されており、コネクターが用意されているため、サービスのつなぎこみのための開発は不要。GUIのツールで容易にシステムを連携させることが可能だ。また、クラウドサービスとして提供されているので、イチからBot用のサーバーを立てなくてもよい。
代表的なサービスとしてはIFTTTやZapierなどがあるが、最近注目なのがかつてMicrosoft Flowと呼ばれていた「Microsoft PowerAutomate」になる。PowerAutomateも特定の条件をトリガーにして、処理を行なうフローをGUI設計できる。これを使えば、トークの発言に応じて、出社や休憩、退社などの時間をExcelに登録したり、お弁当の注文をとりまとめてFAXするといったBotが容易に実現できるという。
東本氏はPowerAutomateを使って、Trelloのタスクが完了したら、LINE WORKSで特定のユーザーに通知するというBotのデモを披露した。Bot開発というと敷居が高いイメージがあるが、iPaaSをうまく活用することで、コードの書けない現場のユーザーでもチャレンジできそうだ。