今回はクラウドベースの自動化サービスであるPower Automateを使用して、kintoneのレコードが追加された際に、そのフィールド内容をChatGPT APIで要約して、別フィールド更新する方法を紹介します。
必要なもの
環境
- kintone
- ChatGPT APIキー
- Power Automate(クラウドフロー)
Kintoneの設定
最初にkintoneの設定をしていきます。
今回は別記事で作成した日報アプリを使います。

作成するアプリの項目は以下のようになります。
カテゴリー | フィールド名 | フィールドコード名 | 備考 |
---|---|---|---|
日付 | 日付 | Daily | |
ユーザー選択 | 作業者名 | User | |
ドロップダウン | 部署名 | Department | ドロップダウン項目 ・部署1 ・部署2 ・部署3 |
文字列(複数行) | 作業内容/日報 | WorkContent | |
文字列(複数行) | 要約 | summary | 追加 |
文字列(複数行) | 上長コメント | Comment |
次にPowerAutomateの設定をしていきます。
PowerAutomateの設定
事前にOpenAIのAPIキーを取得してください。

APIキーを取得したらPowerAutomateの設定をしていきます。
PowerAutomateにアクセスして「作成」をクリックして下さい。

「自動化したクラウドフロー」を選択してください。

フロー名を設定して下さい。
分かりやすい名前なら何でもよいですが、今回は「kintonegpt」と入力しました。

検索欄に「kintone」と入力して「レコードがアプリに追加されたとき」を選択してください。

初期状態では「接続が無効です。~」と表示されます。

kintoneの接続方法は下記の記事の「PowerAutomateの設定」を参考にしてください。

kintoneとの接続が完了したらActionの対象となるアプリのIDを入力します。

アプリIDはKintoneで対象のアプリにアクセスしているURL:https://[your-domain-name].kintone.com/k/「アプリID」の最後の数字になります。
(例:https://[your-domain-name].kintone.com/k/5)

ここまででkintoneの接続処理とレコード追加時の処理は完了です。
次にChatGPT APIの設定と処理を実装します。
「+」ボタンを押してActionを追加して下さい。
OpenAIで検索して「OpenAI GPT(Independent Publisher)」の「さらに表示」を選択して下さい。

「Get chat completions」を選択してください。

APIキーの設定が必要なので、接続名とAPI Keyを設定して下さい。
接続名は分かりやすい名前であれば、何でも良いですが今回は「ChatGPTAPI」にしました。
API Keyは以下のように入力してください。
“Bearer 半角スペース あなたのAPIキー”で入力して下さい。
具体的には「Bearer sk-xxxxxxxxxxxxx」になります。

各種パラメーターは次の画像のように設定しました。
Modelを「GPT-4」に変更し、プロンプトに「以下の内容を要約して下さい」とkintoneのフィールド「作業内容/日報」を設定しました。

これでChatGPT APIの設定は完了です。
最後にkintoneの要約した情報をレコードに追加して更新します。
「+」ボタンを押してActionを追加して下さい。
kintoneで検索して「OpenAI GPT(Independent Publisher)」の「さらに表示」を選択して下さい。

次のように要約した内容をkintoneのフィールドに設定していきます。


全体のフローは次のようになります。

実行結果
では実際に実行してみます。
「日報アプリ」に作業内容/日報を入力します。
今回は次のような内容を入力しました。
日付: 2024年2月21日
氏名: 山田太郎
部署: 車両組立ライン
勤務時間: 08:00 - 16:30
作業内容
08:00 - 10:00:
シフト開始。安全点検と機械のウォームアップを実施。
組立ラインの前半部分での作業を開始。特にフロントエンドの組立に注力。
10:15 - 12:30:
ショートミーティングで品質問題のレビュー。前日の不具合に関するフィードバックを共有。
組立ラインでの作業再開。サスペンションとステアリングシステムの取り付け。
12:30 - 13:00:
昼休憩。
13:00 - 15:00:
内装パーツの組立。ダッシュボード、シート、カーペットの取り付け。
定期的な品質チェックと調整。
15:15 - 16:30:
ラインの最終チェックと後処理。
シフト終了に向けてのクリーンアップと機器のメンテナンス。
特記事項
午前中、組立ラインの一部で小さな遅延が発生。原因は部品供給の遅れ。迅速な対応で影響を最小限に抑えた。
新しい安全プロトコルを実施。作業効率には影響なし。
明日の予定
同じラインでの作業を継続。
午後に新しい設備の導入に関するトレーニングセッションが予定されている。

「保存」すると、フローが実行され次のように作業内容/日報の内容が要約され「要約」フィールドに追加されます。
※やや時間が掛かる場合があります。

あとがき
今回はChatGPT APIとkintoneを連携させてみました。
PowerAutomateを使えばkintoneでも簡単に生成AIを利用することができます。
この連携によって分類や要約、文書生成などkintone上のさまざまなデータ処理の自動化が実現できます。