見出し画像

GASとAIで業務を自動化する5日間講座

Day5: 外部サービスと連携する(LINEと連携してみよう)

この講座の最終日では、Googleサービスだけでなく、外部のサービスであるLINEと連携させてみましょう。
LINEと連携させて、より高度な自動化ツール「LINEアラート通知ツール」の開発に挑戦します。
せっかくなので、在庫管理もできるようにしましょう。

1.LINEアラート通知ツールの概要

このツールは、Googleスプレッドシートで管理している商品の在庫数を自動でチェックし、設定した数量を下回った場合にLINEへ自動でアラート通知を送信するものです。
商品管理システム、在庫管理システム、仕入れ管理システムがひつようとなりますが、規模の小さいチーム内での在庫管理なら、これで十分かもしれません。
ここでは商品の在庫管理をチェックしますが、期限が近づいたときのアラームをLINEで通知したり応用が利くので、LINEとの連携を考えている場合は参考になりますよ。

1.LINEアラート通知ツールの概要

このツールは、Googleスプレッドシートで管理している商品の在庫数を自動でチェックし、設定した数量を下回った場合にLINEへ自動でアラート通知を送信するものです。

例えば、商品の在庫が少なくなった際に、メンバーにLINEで「商品の在庫が残りわずかです。確認(発注)してください」といったメッセージを自動で送ることができます。

2.LINE Messaging APIの利用準備

LINEと連携するためには、LINE Messaging APIという「異なるサービス同士が情報を受け渡すための接続口」を利用します。

参考)API
アプリ同士が連絡をとるための電話番号のようなものです。
LINEに接続するためにLINEのAPIを知っておく必要があります。

LINEビジネスIDの登録、LINE公式アカウントの作成、そしてGASからLINEにメッセージを送るために必要な「LINEユーザーID」と「チャネルアクセストークン」という機密情報を取得し、安全な場所に保管します。
これらの情報はパスワードと同じくらい重要なため、厳重に管理する必要があります。
※ 絶対に外部漏らさないように!!!
万が一漏れた場合は、変更してください。

3.AI (Gemini) との商品管理のスプレッドシート作成

3.1 Geminiにスプレッドシートの設計を依頼する

商品在庫管理シナリオに基づいて、Geminiにスプレッドシートの設計を相談します。
「商品マスタシート」と「在庫マスタシート」の2シート構成でスプレッドシートを作成します。
商品マスタシート:商品名、商品番号、現在庫数、適性在庫数などを記載
在庫マスタシート:商品の日付毎の入庫数、出庫数などを記載

Geminiに依頼して、在庫マスタから現在の商品の在庫数を自動計算する関数や、商品番号から商品名などを自動入力する関数をスプレッドシートに設定します。

※ ここでは小規模のシステムを想定しています。
規模が大きくなると、棚卸し、保管場所、仕入れ先、仕入れ時間(リードタイム)のようなものが必要になるかと思いますが、ここで、単純に、商品の入庫数、出庫数、在庫数を簡単に管理して、入庫が必要なタイミングでLINE通知する小規模の在庫管理システムを想定しています。

  a)商品の出庫
     在庫マスタシートから当該商品の出庫数を記載
     商品マスタシートの在庫数が減少(自動)
     在庫数が適性在庫数を下回った場合は、LINEに通知(自動)
  b)商品の入庫
     在庫マスタシートから当該商品の入庫数を記載
     商品マスタシートの在庫数が増大(自動)
注)在庫マスタシート、商品マスタシートは、在庫管理システムスプレッドシートの中のシートとなります。

4.GASコーディングとスクリプトプロパティ

在庫マスタシートの編集時に、GASが自動で動くように、複雑な要件をGeminiに伝え、在庫チェックとLINE通知のGASコードを生成します。

LINEのユーザーIDやチャネルアクセストークンといった機密情報は、GASの「スクリプトプロパティ」という専用の領域に安全に保管し、コード内には直接記述しません。
これにより、機密情報を保護しながらGASから利用することが可能になります。
※ 機密情報は、コードに直接記載しないようにします。

5.最終動作確認

在庫マスタシートにデータ(例:商品の出庫数)を入力して在庫数を変更し、設定した発注点を下回った際に、LINEにアラート通知が届くかを実際に確認します。

業務での活用例:

  • 在庫状況をリアルタイムで把握し、在庫切れや過剰在庫のリスクを削減することができます。

  • 店舗にいなくても発注が必要なタイミングをLINEで自動通知されるため、在庫確認や発注作業の手間が大幅に軽減されます。

6.留意事項と注意事項

AIとGASを活用した業務効率化は非常に強力ですが、以下の点に留意し、慎重に進めることが重要です。

6.1 AI生成コードの確認と検証

AIが作成したコードは100%完全である保証はありません
実際の業務でGASを適用する際は、必ずご自身でコードの内容をよく確認し、十分なテストを行ってください。
※ ここまで見て下さっている方は、分かると思いますが、Geminiが作成したGASのコードも動作させてから、何回か手直しをしていますね。

コードに致命的な不具合がある場合、意図しないデータの書き換え、削除、誤った情報送信など、取り返しのつかない問題が発生する可能性もゼロではありません。その場合の責任はAIではなく、製作者にあります。
※ 必ずテストしたから、公開(デプロイ)を徹底しましょう。

コードの中身をできる限り把握し理解するため、「GASコード解析ツール」のようなAIを活用してコード解説を依頼することも有効でしたね。
また、AIに「このコードにセキュリティ上の問題はありませんか?」といった質問を投げかけることも実施してみてください。

6.2 機密情報・個人情報の取り扱い

無料版のAIサービスに個人情報や機密情報を入力しないようにしてください。入力したデータがAIの学習データとして取り込まれる可能性があります。
※ 絶対に個人情報は入力しないこと!!!!!!!

LINEユーザーIDやチャネルアクセストークンなど、機密性の高い情報は、GASの「スクリプトプロパティ」などの安全な領域に保管し、コードに直接記述しないようにしましょう。

6.3 GASの割り当てと制限

Google Apps Scriptには、1日の実行回数や一部の機能に割り当て(上限)と制限があります。これらの上限を超えると、GASが正常に動作しなくなる場合があります。
※ ビジネスで使う時は、できるだけ有料版にしましょう。

6.4 専門家への相談

重要度の高いシステムを構築する場合や、複雑な問題に直面して解決が難しい場合は、専門家によるコードレビューを受けるか、開発を依頼することも有効な手段です。

でも、今回のような簡易なものは、GASで十分ですね。
本格的にバイブコーディングしたい場合は、私のnoteにある「Bolt.new 100本ノック」なども参考にして下さい。

この5日間の記事を通じて、皆さんがGASとAIの力を実感し、自分自身で業務を効率化できる可能性を感じていただけたら幸いです。
ご意見など聞かせて頂けると嬉しいです。
また、良かったら、LINE登録をお願いします。

LINEでは質問、要望、面談なども受け付けています。
LINE:https://lin.ee/li9KWyr


<実際の操作手順>

LINE登録して、「GAS-Day5」と入力してくださった方には、私が実施した内容を記載してPDFのURLを連絡しています。

1.AI(Gemini)に設計内容について相談する

1.1 設計内容の相談

Geminiに以下のようなことを具体的に記載して相談します。
下記の例は簡潔に記載していますが、できるだけ詳しく記載します。

①あなた(Gemini)の役割
例)あなたは経験豊富なシステムエンジニアです
②ゴール
例)課題に対する最善の解決策を私に提示する
③出力内容
例)初心者や中高生にも分かるように丁寧に説明する、また、経験豊富なシステムエンジニアとして、私の要望を上手に質問しながら聞き出していく
※一回で要望が伝えらえない場合があるので、何回かヒアリングしてもらうようにするために依頼しています。
④コンテキスト
・現状
例)現在どのような業務手順で実施しているかを伝える
・課題、困っていること
例)どんな課題を抱えているかを伝える
・希望すること
例)どのような状態にしたいか(こういう状態になったらLINEに自動的に通知したい、など)を伝える

Geminiからの回答が返ってきます。

スクロールダウンしていくと、Geminiが追加質問がないか尋ねている。

必要であれば、Geminiからの質問に対して回答します。
このQ&Aを複数回続けることができます。
Geminiとヒアリングを続けることで、より明確なシステム要件を作ってくれます。


2.事前準備

Geminiからの指示があれば、それに従って対応していきます。

2.1 Googleスプレッドシートの作成

どのようなスプレッドシートにしたら良いかをGeminiに相談し、その結果をもとにして作成します。

2.2 GASコードの作成

GASコードの作成を依頼します。

2.3 LINE Messaging APIと連携して通知方法を確認

GASからLINEにメッセージを送るための設定と連携についてGeminiに相談します。

2.4 LINE Messaging APIを使うための準備

(1)Messaging APIの登録
Messaging API のページから、Messaging APIの登録を確認します。

Messaging API のページ
Messaging APIを始めよう

(2)公式LINEアカウントの作成
①ビジネスIDに登録

ビジネスIDに登録

②アカウントの作成
 必須項目を入力します。

アカウントの作成

③登録の完了確認
 登録が正常に完了すると、自分のLINEにメッセージが飛んできます。

(3)Messaging APIの設定

Messaging API画面

「設定」を押下します。

(4)Messaging APIを利用する
 同意します。

Messaging APIを利用する

(5)プロバイダー画面
 同意します。

(6)プライバシーポリシーと利用規約
 何も入力せずに「OK」押下します。

(7)利用確認
 ステータスが「利用中」ならOKです。

2.5 LINE Developersコンソール

Messaging APIの画面下に
「その他の設定はLINE Developersコンソールから行えます。」の行があります。
この緑文字の「LINE Developersコンソール」を押下します。
プロバイダー画面 → 作成したプロバイダーの権限の行を押下して、
チャネル表示設定画面が表示されます。

基本設定を入力します。

2.6 チャネル基本設定

チャネル基本設定画面が表示されるので、画面下の「あなたのユーザーID」を記録しておく。GASで使用します。
  ※ この情報は他人に知られないようにしてください!!!

2.7 Messaging API設定

画面の上まで戻って、「Messaging API設定」を押下。

画面したの「チャネルアクセストークン(長期)」下の「発行」ボタンを押下します。
チャネルアクセストークン(長期)を記録しておきます。
   ※ この情報も他人に知られないようにしてください!!!

チャネルアクセストークン(長期)

3.作成を実施確認

準備ができたら、Geminiからの指示に従って以下を実施していきます。

3.1 Googleスプレッドシートで在庫台帳を作る

どのようなスプレッドシートにすべきかをGeminiに相談します。
その結果を基にスプレッドシートを作成します。

3.2 スプレッドシート内の関数の設定

スプレッドシートの関数で「現在庫数」を自動計算しておきたい場合は、その関数をGeminiに相談します。
提示された関数をスプレッドシートの該当項目に貼り付けます。

Geminiからの指示があれば、スプレッドシートの項目位置も変更します。

また、見やすいようにスプレッドシートを整形します。

3.3 GASコードの作成

(1)Geminiに依頼
この辺りは、2日目から4日目も参考にしてください。
Googleスプレッドシートに書き込むときに、書き込みを即座に反映するため、SpreadsheetApp.flush()メソッドを使用するように依頼しておきます。

(2)スクリプトプロパティの設定
LINE_CHANNEL_ACCESS_TOKEN、LINE_USER_IDを設定します。
心配しなくてもGeminiが設定する項目、設定方法を教えてくれます。

(3)GASコードのコピー
Geminiが生成したGASコードをコピーします。
また、コード上でダミー設定している箇所があり、正しい値に変更する指示があれば、その指示に従います。

3.4 GASコードの確認

スプレッドシートにデータを更新して、正しく動作するかを確認します。
エラーがあれば、Geminiに問い合わせます。
今回実施したときは、コードにはエラーがありませんでしたが、環境設定に問題があって、始めは動作しない箇所もありました。
Geminiに相談して解決しました。
この辺りは、PDFに記載しているので、参考にしたいかたは、LINE登録してキーワードとして「GAS-Days5」といれてください。


具体的な手順を確認したい場合は、以下をお願いします。
面談や資料の質問がある方も、LINEで受付中です。

※LINEの登録とキーワード入力※
LINE登録後、キーワード「GAS-Days5」を入力してください。
応答にPDFをダウンロードできるURLを記載しています。
LINEでは質問、要望、面談なども受け付けています。
LINE:https://lin.ee/li9KWyr

最後に

AIについての以下のような悩みのある方は、個別相談を用意していますので、LINE登録して、個別相談を希望の旨を伝えて頂けると対応させて頂きます。
(個人)
・これからAIをどう学んでいけば良いか分からない
・AIを身につけて、快適な会社生活が過ごしたい
・AIが使えないというレッテルから解放されたい
・同僚から一歩抜きんでた仕事ができる人になりたい
・組織から認められて彼女、彼氏からも注目されるビジネスマンになりたい

(組織)
・AIをどのように使っていけばよいのか。
・こんなことをAIを使うことでコスト削減できないか。
・今まで外注や内作していたことを、AIを活用できないか。

LINE:https://lin.ee/li9KWyr

また、宜しければ、以下の登録をお願いします。
Instagram:https://www.instagram.com/ai_kagakuri

補足

私が今回実施したことを資料にしています。
目次は、以下の通りです。
全体で、68ページになりました。
是非、Instagaram のフォロー、LINE登録をお願いします。
LINE登録後、キーワード「GAS-Days5」を入力してください。
応答にPDFをダウンロードできるURLを記載しています。

1.今回作成するLINEアラート通知ツールの概要
2.設計をGeminiに相談する
3.LINE Messaging APIを使うために
4.スプレッドシートの作成
5.GASを生成しよう
6.GASコードの設定
7.GASの使い方と動作確認方法
8.不具合の修正

AIに職を奪われる前にAIを活用できる人材になろう!


いいなと思ったら応援しよう!