フォームで問い合わせる
トップ
事例紹介
Make×Chat GPTで実現!LINE WORKSトークから休暇申請!
2023/6/14生成AI

Make×Chat GPTで実現!LINE WORKSトークから休暇申請!

今回は最近話題のChat GPTを活用して、申請業務を劇的に改善できる例をご紹介します!
IT人材がいない中小企業だからこそ、ノーコードを活用してDXを進めたり、働きやすい職場づくりを後押しできる内容になっていますので、ぜひ、最新技術を活用して業務改善のヒントを見つけてください!

いまだに進まない申請業務のデジタル化

申請業務には、休暇申請、利用申請、勤怠申請、物品借用申請など・・・業界や業種に問わず幅広く存在しています。

それぞれ異なるフォーマットがあり、毎回紙の申告書に手書きで記入し、上司や責任者の承認を待つ、というワークフローを続けている企業も多く、なかなかデジタル化は進みません。

アナログな申請業務により、転記の手間や書類の不備や漏れなどの確認作業に時間もかかってしまいます。

結果的に無駄な労働時間を費やすことに繋がるので、企業としては申請業務をなんとか効率よくしたいものです。

kintoneで申告業務が快適に

kintoneを使えば、バラバラに存在する申請手段をkintoneに集約させることができ、申請者はスマホからすぐに申請業務を行えます。

また、申請されたタイミングで承認者には通知が届き、「承認」や「差し戻し」などのステータスの変更が素早く行えます。

kintone公式ページでも事例が紹介されていますので、詳しくは以下のリンクからご確認ください!
ワークフロー(申請業務)にキントーン

さて、kintoneのユーザーライセンスを全社員に付与しているのであれば、kintoneを利用した承認ワークフローにより、申請手続きが簡単かつスマートに完了できますが、中小企業の中には、全従業員に対してkintoneのライセンスを用意することができないケースもあります。

実際、kintoneを特定の部門だけが利用していて、コミュニケーションツールとしては、個人用アカウントのLINEや無料のLINE WORKSなどを使用していたりします。

今回はそんな企業でも様々なサービスを組み合わせることにより、休暇申請業務が簡単にできる例をご紹介したいと思います。

どうやってLINE WORKSから休暇申請を行う?

では、どのようにしてLINE WORKSから休暇申請を行うのか説明して行きます。

一連の連携で使用したサービスは下記の4つです。
・kintone
・LINE WORKS
・Make
・OpenAI

kintoneでレコードが作成された時にLINE WORKSへ通知する方法については、以下の記事でご紹介しています!

kintone×LINE WORKSで漏れなく通知!〜事故記録編〜

今回の例でポイントになってくるのが、どうやってLINE WORKSのトーク内容から、誰が、いつ、何を申請したかを区別させるかでした。

LINE WORKSが提供するWOFF(WEBアプリプラットフォーム)と駆使して入力項目を表示させるという方法もありますが、ノーコードでは実装できなさそうです。

かといって、トークの本文をそのままkintoneの文字列(複数行)に格納しても、集計や分析できず、実用的とはいえません・・・。

つまり、トークの本文を"分解"して、格納させる必要があるんです!

今回はその"分解"の役割をOpenAI社が開発したGPTモデルの一つであるChatGPTにしてもらうようにしました!

イメージはこんな感じです。

イメージ図.1

LINE WORKSから申請業務が円滑にできるようになれば、さらにLINE WORKSの活用の幅が増えるでしょう!

では、一つずつ設定していきます。

設定手順

kintoneのアプリを用意する

まずは、kintone側で以下のアプリを準備しましょう。

・社員アプリ(社員情報を登録するアプリ)
・休暇申請アプリ(休暇申請するアプリ)

社員アプリを既に使っていれば、そちらを使用していただいた結構です。

また、kintoneのアプリストアでも休暇申請パックでも「社員名簿アプリ」と「休暇申請アプリ」がセットで用意されていますので、そちらを使ってもOKです。

いずれにせよ、LINE WORKS User IDを格納できるフィールドを用意しておきましょう。

社員アプリ.1

次は、休暇申請アプリで申請に必要な項目を用意します。

休暇種別や勤怠を選択するドロップダウンは自社の合わせたものを用意してください。

本ブログでは、サンプルアプリの休暇申請パックを参考にしています。

休暇申請アプリ.1

また、今回はLINE WORKSからのみ休暇申請を受け付ける運用をイメージしていますので、ルックアップフィールドはLINE WORKS User IDを指定し、「ほかのフィールドをコピー」で社員アプリの"氏名"を参照しているため、休暇申請アプリでは社員名の入力ができません。

kintoneでも入力したい場合はプラグインで解決できますので、ご安心を。

MakeでWebhookモジュールを用意する

kintone側でアプリを用意できたら、Make側でモジュールを準備します。

Make(旧integromat)は、サービス同士を繋げることができる自動化ツールであり、ノーコードでシステム連携が実現できます。

複数のサービスとも連携できるので、業務効率を一気に上げられますので、おすすめです!

本ブログでは、登録方法については解説していませんが、解説記事が多数存在しているので、是非参考にしてみてください。

では、Makeのシナリオ一覧画面の[+ Create a new scenario]から新しくシナリオを組み立てていきます。

[+]からモジュールを検索して、"Webhook"を探しましょう。"Webhook"モジュールが選択できたら、[Custom webhook]をクリックします。

Make.1

次は[Add]をクリックして、Webhook nameを決めます。

今回は分かりやすいように"休暇申請くん"と名付けました。

[Save]をクリックすると、Webhook URLが表示されます。

Make.2

Webhook URLをこの後に必要になりますので、コピーしておきましょう。

Make.3

この状態で、LINE WORKS Developer ConsoleでアプリとBotを用意します。

LINE WORKS Developer ConsoleでアプリとBotを用意する

今度はLINE WORKS Developer Consoleを開いて、アプリとBotを用意します。

LINE WORKS Developer Consoleは以下URLからアクセスできます。
https://developers.worksmobile.com/jp/

Console画面の左側のメニューバーから[API]を選択し、アプリを新規追加していきます。

LINE WORKS Developer Console.1

アプリ名は分かりやすい名前をつけてください。

Redirect URLは、 https://www.integromat.com/oauth/cb/oauth2 と入力します。

OAuth Scopesは、"bot"と"user.read"を選択するようにしましょう。
※本ブログでは、user.readは無しでもOKです。

Client IDとClient Secretもこの後でMake側で必要になります。

アプリが作成できたら、次はBotを作成します。

今度はConsole画面の左側のメニューバーから[Bot]を選択し、[登録]をクリックし、Bot情報を登録していきましょう。

Bot名は先ほどMake側のWebhook nameで名付けた”休暇申請くん”にします。

"休暇申請くん"がMakeを動かすのか!と理解しやすいようにしています。

「説明」には、Botの説明を入力することができるのですが、ここに「休暇申請は以下のように記入してください。
休暇種別の選択肢は・・・」と休暇申請に関するメモを登録しておくのも良いアイデアですが、今回は簡易的に進めます。

次は、Callback URLを入力します。
Callback URLは、Make.3の画像で表示されているURLを貼り付けます。

LINE WORKS Developer Console.2

送信可能なメッセージタイプの「テキスト」にチェック、トークルームに複数人招待できるようにもしておきましょう。

最後に、主担当のユーザーを選択して[保存]をクリックします。

LINE WORKS Developer Console.3

次は LINE WORKS AdminでBotを公開する作業を行います。

LINE WORKS AdminでBotを公開する

LINE WORKSの管理者のみ使用できる管理者画面を開きます。

管理者権限があれば、LINE WORKSの画面右上のアイコンをクリックすると、[管理者画面]と表示されますので、そちらをクリックします。

LINE WORKS Adminのメニューバーから[サービス]→[Bot]→[Bot追加]と選択していきましょう。

LINE WORKS Admin.1

"休暇申請くん"が表示されていることが確認できたら、選択して、[Bot追加]します。

[前にもどる]またはもう一度メニューバーの[Bot]をクリックすると、追加されたBotが表示されます。

追加されたBotをクリックし、公開設定を"ON"にして保存しましょう。

LINE WORKS Admin.2

すると、LINE WORKSでサービス通知botから通知が届きます。

LINE WORKS.1

[Botを利用]をクリックして、"休暇申請くん"が追加されたらOKです!

次に、Make側のWebhookの設定を完了させます。

Make.3の画像の状態で、先ほどの休暇申請くんbotに適当なテキストを送信します。

すると、「Successfuly determined」と表示が切り替わりました!
これで、Webhookの設定は完了です。

Make.4

では、LINE WORKSの情報が取得できるか確認してみましょう。

Make側で左下の[Run once]をクリックします。

すると、クルクルとWebhookモジュールが待機状態になります。

Make.5

この状態で、LINE WORKSの休暇申請くんでメッセージを送信してみます。

すると、モジュールの右上に①と表示されました。

補足になりますが、Makeではこの数字(オペレーションと呼んでいる)を計算して料金プランを選びます。
(無料プランでも月1000オペレーションも使えます)

Make.6

数字をクリックすると、Webhookモジュールで取得したLINE WORKSの情報が取得できました。

contentの中のtextに先ほどLINE WORKSで送信したメッセージが表示されていればOKです。

また、sourceからuserIdも取得できるので、こちらをコピーして、kintoneの社員アプリのLINE WORKS User IDフィールドに登録しておきましょう。
(その他、氏名やメールアドレスなども登録しておきましょう!)

Make.7

MakeでOpenAIモジュールを用意する

ここからはWebhookで取得できた情報をAIで"分解"してもらう作業に入ります。

イメージ図.1

先ほどのWebhookモジュールの端にカーソルを合わせて、[Add another module]をクリックします。

検索欄に"open ai"と入力し、OpenAI「Create a Completion」モジュールを選択します。

Connectionの[Add] をクリックして、Connection name、API Key、Organization IDを入力していきます。

Connection name:(自由に分かりやすい名前を決めてください)

API Key:(ピンクのURLのリンク先で取得できます)

Organization ID:(ピンクのURLのリンク先で取得できます)

入力が完了したら、[Save]を押しましょう。

Make.8

Connectionの設定ができたら、ここからChat GPTに指示するプロンプトを作成していきます。

本ブログ用に設定しているため、回答の精度が保証できるものではないことにご注意ください!

実際に入力してながら最適なプロンプトを見つけていきましょう!

それでは、Select Method、Model、Messagesを入力していきます。

Select Method:Create a Chat Completion

Model:GPT-3.5-turbo

Messages(item1)Role:System

Messages(item1)Message Content:(以下の文章)

あなたは、休暇申請業務のスペシャリストです。
次のチャットで、休暇申請の情報が記されたの#テキストデータを渡すので、情報を分解して、#フォーマットに従って出力して下さい。出力はJSON形式のみで、それ以外の説明は一切表示させないでください。

#変数
*{line_works_id}
*{leave_date}
*{leave_type}
*{attendance}
*{attendance_get_count}
*{memo}

#テキストデータを変数に代入してください
*{{Webhookモジュールのsource.userIdを指定}} =>{line_works_id}
*休暇取得日(休みたい日, YYYY-MM-DDの形式に変換してください) =>{leave_date}
*休暇の種類[有給休暇、夏季休暇、リフレッシュ休暇、育児休暇、忌引休暇、遅刻/早退] =>{leave_type}
*勤怠[終日休、午前休、午後休、遅刻、早退] =>{attendance}
*理由(補足情報) =>{memo} *休暇取得日数(数値のみ代入してください) =>{attendance_get_count}

#フォーマット(下記の変数に値を代入し、JSONで出力して下さい。

{
"line_works_id" : "{line_works_id}",
"leave_date" : "{leave_date}",
"leave_type" : "{leave_type}",
"attendance" : "{attendance}",
"attendance_get_count" : "{attendance_get_count}",
"memo" : "{memo}"
}

Make.9

続いて、[Add item]をクリックして、Item2の入力します。

Messages(item2)Role:User

Messages(item2)Message Content:(以下の文章)

以下が休暇申請情報です。
{Webhookモジュールのcontent:textを指定}

Make.10

これで、LINE WORKSのチャット内容を、それぞれの変数に格納し、JSON形式で書かれたフォーマット(文字列)のみを出力させられればOKです。

MakeでJSONモジュールを用意する

次は、OpenAIモジュールからJSON形式で文字列が出力されることを期待し、出力された結果をkintoneに取り込めるように解析します。

OpenAIモジュールの端にカーソルを合わせて、[Add another module]をクリック。

検索欄に"json"と入力し、JSON「Parse JSON」モジュールを選択します。

JSON stringには、OpenAIモジュールから取得できるMessageのContentを選択し、[OK]をクリックします。

これで、kintoneに取り込みやすい形式にすることができます!

Make.11

期待通りになるか検証してみましょう!

フロッピーのアイコンでひとまず[Save anyway]してから、[Run once]をクリックします。

先ほどと同様にWebhookモジュールが待機状態になったことを確認して、LINE WORKSの休暇申請くんbotで、以下のようなメッセージを送ります。

"2023年6月13日に有給休暇をいただきます。日帰りで福岡の祖母に会いにいきます。終日休みで有給取得日数は1でお願いします。"

Make.12

Makeのシナリオが実行されました。

JSONモジュールの右上のオペレーション数①をクリックして、結果を見てみます。

INPUTでは、期待通りのJSON形式の文字列のみが出力されて出力されていますね!

さらにOUTPUTでも、それぞれの項目がkintoneに取り込みやすい形に格納されています!

Make.13

あとはkintoneの休暇申請アプリに取り込む設定をしていきましょう。

Makeでkintoneモジュールを用意する

JSONモジュールの端にカーソルを合わせて、[Add another module]をクリック。

検索欄に"kintone"と入力し、Kintone「Create a Record」モジュールを選択します。

kintoneのロゴが海外版仕様になっていますが、問題ないです。

Connectionで[Add]をクリックします。

以下を参考に入力していきます。

Connection type:Kintone

Connection name:(自由に分かりやすい名前を決めてください)

Sub Domain:(kintoneのサブドメインの部分のみ入力)

Username:(kintoneのユーザー名。「作成者」として登録されます。)

Password:(kintoneのパスワード)

Domain Name:cybozu.com

入力できたら[Save]をクリックしましょう。

Connectionの認証が完了するとApp ID(アプリ)が選択できますので、休暇申請アプリを選択してください。

あとは、JSONモジュールから取得できる情報をマッピングしていくだけです。

Make.14

最後に[OK]をクリックして、フロッピーアイコンから保存しておきましょう。

これで完了です!お疲れ様でした!

もう一度、[Run once]で待機状態にして、LINE WORKSからメッセージを送ってみましょう!

・・・どうやら、エラーの表示がでました。

Make.15

エラーの原因を見ると、

"「コピー元のフィールド」に指定したフィールドの設定で「値の重複を禁止する」を選択しておく必要があります。"

と表示されています。

Make.16

これは、kintoneの休暇申請アプリでルックアップフィールドとして指定した、社員アプリのLINE WORKS User IDフィールドが「値の重複を禁止する」ようにチェックしていなかったことが原因です。

社員アプリ.2

「値の重複を禁止する」にチェック入れて、[保存]してアプリを更新しましょう。

そしてもう一回、[Run once]で待機状態にして、LINE WORKSからメッセージを送ってみます!

今度は見事に取り込み成功です!
大変お疲れ様でした!

休暇申請アプリ.2

試行錯誤しながら、現場も事務所も業務改善!

かなりボリュームのある内容でしたが、いかがでしたでしょうか?

実際に運用していくには、エラー時の対応や精度をあげていく必要がありますが、
Chat GPTを活用することで、これまでハードルが高かった課題の解決が期待できます。

今回の内容は簡易的な例になりますので、試行錯誤しながら是非自社にあった業務改善の形を見つけてください!

フルバックでは、お客様の業務に寄り添ってkintoneアプリを作成しながら、社内にIT人材を育てるサービスを提供しています。
まずは、お気軽にご相談ください!

事例一覧へ戻る

CONTACT

「こんなこと聞いてもいいのかな?」なんて心配は無用。
お役に立ちたい気持ちでいっぱいです。

フォームで問い合わせる
お問い合わせ個人情報保護方針