LINE WORKSでチャットボットを作成しているとき、チャットじゃなくてフォームで入力できたらなと思うことってありますね。入力項目が多い場合などは、チャットでひとつずつ入力するのがわずわらしく感じられることがあります。今回は、LINE WORKSのSAML機能を使って、Runbookにシングルサインオンしてフォームを登録する方法について説明したいと思います。
LINE WORKSとkintoneとを連携して、安否確認を行いたいユースケースを考えます。kintoneのレコード登録イベントをWebhookでLINE WORKSに通知しています。この仕組みはJobocoを使うと簡単に実現できます。
安否確認連絡アプリに登録すると、LINE WORKSの全体連絡に通知される。
そこからさらにJobocoを使ってLINE WORKSから安否確認アプリに登録してもよいのですが、元のアプリとの紐づけや安否確認情報の登録をチャットで行う必要があり、入力に時間がかかってしまいます。そこで、Runbookのフォームを利用してみることにします。
Runbookで安否確認アプリに登録するためのフォームを作成します。このフォームには、元の安否確認連絡アプリとひもづけるためのIDを登録する必要があるのですが、このフォーム項目はひとまず読み取り専用で作成しておきます。
ではこの項目にはどうやって値を入力するのでしょうか。それはURLのパラメーターで設定します。
JobocoではLINE WORKSに送る通知の文面を自由にカスタマイズできるので、RunbookへのURLに安否確認連絡アプリのレコード番号をURLパラメーターとして渡すように設定しておきました。
Jobocoの通知メッセージ設定画面
URLを開くと、ちゃんと値がセットされていますね!
ここまでで、LINE WORKSのリンクからRunbookのフォームにパラメーターを渡すことができるようになりました。外部公開のフォームであればこれで問題ないのですが、ログインユーザーの氏名やメールアドレスなども送信したいことってありますよね。スマートフォンのLINE WORKSアプリを使用している場合、このままだと、アプリ内のブラウザでRunbookのログイン画面が表示されることになります。いちいちログインするのは手間なので、LINE WORKSにログインしていたら、自動的にRunbookにもログインできるしくみを作ります。
LINE WORKSのDeveloper Consoleで、「SSO」>「WORKS as IdP」を開きます。
RunbookとのSAML連携に必要な情報を入力して保存します。入力内容は、Runbookのヘルプを参考にしてください。
保存したら、使用状態を「有効」にします。Runbookの「契約情報/セキュリティ」メニューから「シングルサインオン」を開き、Runbookのヘルプに従って設定します。設定する値は、LINE WORKSの設定画面の右上にある「LINE WORKS Identity Provider情報」ボタンをクリックすると表示されます。
| LINE WORKS Identity Provider情報 | Runbookの設定 |
|---|---|
|
SSO URL |
ログインURL |
|
Response Issuer |
エンティティID |
| Certificate | 署名用証明書 |
「ユーザーを自動作成する」にチェックを入れると、LINE WORKSからのシングルサインオン時に、Runbook側にユーザーが存在しない場合は自動的にユーザーが作成されます。
最後に、Runbookから送信したフォームの内容をkintoneに登録するための設定を行います。設定方法はこちらを参考にしてください。
ちゃんとログインなしでRunbookの非公開フォームが表示されました! LINE WORKSからURLで渡したルックアップのIDや、ユーザーのログイン名もちゃんと登録されていますね! これでkintoneとLINE WORKSを使った安否確認ができるようになりました。
RunbookとLINE WORKSをシングルサインオンで組み合わせれば、これまで難しかったLINE WORKSからのフォーム入力が実現できます。ぜひお試しください!