活用ブログ
お役立ち資料

ログイン不要! LINE WORKSからURLパラメーター付きでフォームを呼び出す方法

ログイン不要! LINE WORKSからURLパラメーター付きでフォームを呼び出す方法

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側にユーザーが存在しない場合は自動的にユーザーが作成されます。

kintoneにフォームの情報を送信する

最後に、Runbookから送信したフォームの内容をkintoneに登録するための設定を行います。設定方法はこちらを参考にしてください。

できました!

ちゃんとログインなしでRunbookの非公開フォームが表示されました! LINE WORKSからURLで渡したルックアップのIDや、ユーザーのログイン名もちゃんと登録されていますね! これでkintoneとLINE WORKSを使った安否確認ができるようになりました。

RunbookとLINE WORKSをシングルサインオンで組み合わせれば、これまで難しかったLINE WORKSからのフォーム入力が実現できます。ぜひお試しください!