Zenn
😺

プログラミングど素人がAIに聞きながら、2週間でGASで顧客管理システムを作った話

2025/03/02に公開
2

はじめに

AIがヤバい、という話です。
(素人からしたら)

僕は最近まで、プログラミングのプの字も知らないド素人でした。

初心者向けの解説本を読んでも
「そもそも「変数」ってなんぞや。もっと一般人向けの用語でイチから解説せーや!」
ってテンパるレベル。

ところが、ClaudeProとGeminiの課金版を駆使することで

実働2週間もかからずに

仕事で管理しているお客さんに対して

スプレッドシート(以下スプシ)上の情報を読み取って

・自動で請求書をLINEとメールで送ったり

・任意で好きな内容を複数人に送ったり

・客がLINE公式アカウントに送ってきた内容に対して、設定した分数だけ遅延させてから自動応答するような、特殊自動応答botを作ったり

簡単な顧客リレーションシップなら問題ないレベルまで作り込めたので
その過程を共有します。

要するに、AIやべー。

やりたいことを分解して、AIに「これこれこういうことしたい」って順序立てて問い合わせさえできれば

誰でも駆け出しプログラマーくらいになれる時代が来たのかな。
地殻変動起きてるな、っていう話です。

もちろん
AIも万能じゃないから、なんでその指示をそう解釈すんねんアホか、みたいな場面は結構あるから
初心者は多少は悪戦苦闘しますね。

でも、作っていくうちに「プログラミングのお作法」が、自然と少しは身につくので
「ああ、この関数の内容だけ教示データにしたから、AIは前の関数から渡される引数の内容を無視してコード書いちゃったんだな」
とか
AIを上手く調教するコツとかも分かってきたりします。

以下、作ったもの(ポートフォリオ?)

プログラマーの諸先輩方から見たら
たぶん、鼻で笑われるレベルの簡単なものです苦笑

ただ、初心者がAIに聞きながら作り、それによって仕事が自動化されて余暇を捻出できた
ということの意義は大きいと思うので
恥ずかしさもありますが
堂々と載せていきます。

ベースとなる、コンテナバインドのスプシのイメージ

スクリーンショット_2025-02-25_16_32_21.png

1行毎に、各顧客に関する情報が全網羅された、管理シートみたいなものは以前から作っていた。

ここに顧客属性や、顧客の行動によるフラグを立て、次回請求日などを手動で入れて
毎回スプシで手動フィルタリングして
「この人には次このアクションをしないと」みたいなことを、全部人力でやっていたので
一部自動化したらラクだろうな、と、ずっと思っていた。

この↑「管理シート」の情報をベースとして、各GAS機能を動かすための補助シートを、同じスプシID内に作成していった

スクリーンショット 2025-02-25 17.22.10.png

細かい機能は後述しますが
送信内容とか、「いつ送るか」とかを設定する、補助シートの一例

作ったもの

メール関連

・請求日の自動リマインドbot(メールバージョン)

https://zenn.dev/sh102/articles/3e401a2f8ed26f

・複数人に同じ内容を同時送信したい時に、BCC使わずにToで送れるやつ

即時送信、予約送信、両方対応

記事執筆中

LINE関連

・請求日の自動リマインドbot(LINEバージョン)

記事執筆中

・複数人に同じ内容を同時送信するやつ

記事執筆中

本来これは、LINE公式アカウントのコンソール上で、チャットタグでオーディエンスを作ればいいだけの話でした。

ところが
2025年3月以降、無料プランだと、1人につき1つのタグしかつけられないように仕様が変わるので
●月に購入した人、商品Aを買った人、みたいに別軸で顧客属性を分けた一斉送信が不可能になります。

そこで急遽
スプシの管理シートで、各顧客に対して、いろんな切り口でチャットタグ代わりのフラグを立てて
それに該当した顧客に、柔軟に一斉送信する機能を作る必要が出てきました。
(というか、このLINE社の仕様変更告知に触発されて、GAS作らなアカン、とケツに火がついた)

やり取りするお客さんが毎回数百人とかいれば、チャットProオプション加入一択でしょうけど
自分みたいに、時期によっては10人くらいしか相手しない、みたいな場合は、毎月3,000円はもったいないので……。

・doPost関連

:::note info
記事執筆中
:::
顧客からフォローされた、何かしらのメッセージを受け取った、というイベント発生時に
・自動でユーザーIDを「管理シート」に記入したり
・自動応答(遅延応答もできる)させたり
といった機能を作成しました。

今後作りたいもの

簡易的なステップLINE機能

LINE公式のステップ機能はあまりに貧弱
LSTEPは高額すぎる
エルメ、UTAGEは微妙にカユイところに手が届かない
という状況下で

自分が思う「使いやすいステップ送信システム」を
作っていきたいと思っています。

ステップの予約送信とか、1分ごとにトリガー発火させると、何かしらのペナルティをGoogleから食らいそうなので
スプシの「設定シート」上に書いた送信時刻を読み取って、対応したトリガーを作る方向性かな……🤔

2

Discussion

ログインするとコメントできます