2023年11月、副業ライターとして受けた案件で「週次レポートを毎週月曜9時までに提出」という条件があった。最初の3週間は手作業でこなしていたけど、日曜夜に2〜3時間かけてレポートを書く生活に限界を感じた。
「GASとChatGPT APIを組み合わせれば自動化できる」という情報を見つけて試したのが始まりだ。最初のスクリプトは動かず、APIキーを直書きしてしまって焦り、エラーログの読み方もわからなかった。
でも試行錯誤を重ねた結果、毎週10時間かかっていたルーティン作業を1時間以内に圧縮することに成功した。この記事では、その失敗込みの実体験をもとに、GAS×AI自動化の本質的なやり方を共有する。

Google Apps Script(GAS)は、Gmail・スプレッドシート・Googleドキュメントなどと連携して動くクラウドベースのプログラム環境だ。完全無料で、インストール不要、ブラウザだけで動く。
最初にPythonで自動化を試みたとき、環境構築だけで半日溶けた経験がある。GASならGoogleアカウントさえあれば今すぐ書ける。この「始めるまでのコスト」の差は想像以上に大きい。
GASの主な強みをまとめるとこうなる。
ここにOpenAI API(ChatGPT)を組み合わせると、単純なデータ処理だけでなく、文章の要約・生成・分類・翻訳まで自動化できる。GASは「橋渡し役」として完璧に機能する。
最初にやらかしたのが、OpenAI APIキーをスクリプトに直書きしてGitHubに上げてしまったことだ(すぐ削除したが冷や汗をかいた)。そのミスを踏まえて、安全な準備手順を共有する。
OpenAIの公式サイトでアカウントを作成し、管理画面の「API Keys」からキーを発行する。新規登録時は$5分の無料クレジットが付与される。1回の処理あたり約0.002円〜なので、テスト段階ではほぼ無料で動かせる。
Googleスプレッドシートを開き、上部メニューの「拡張機能」→「Apps Script」をクリック。これだけでエディタが起動する。初回は空白のスクリプトファイルが表示される。
エディタ左側の歯車アイコン「プロジェクトの設定」→「スクリプトプロパティ」を開く。キー名に OPENAI_API_KEY、値に取得したAPIキーを入力して保存。コード内では PropertiesService.getScriptProperties().getProperty(‘OPENAI_API_KEY’) で呼び出す。これでコードを共有してもキーが漏れない。
副業でECサイトの運営代行をしていたとき、1日20件前後の問い合わせ対応に毎日90分を費やしていた。「在庫はありますか?」「送料はいくらですか?」という同じ質問が繰り返されるのに、毎回手で返信するのは完全に時間の無駄だと感じていた。
GAS×ChatGPT APIで自動返信を組んだ結果、2週間後には対応時間が1日10分以下になった。仕組みはシンプルだ。
プロンプトはこの形式が安定して機能した。
「あなたは〇〇ショップのサポート担当者です。以下の問い合わせに対して、丁寧かつ簡潔に日本語で返信してください。返信文のみを出力し、件名や署名は含めないでください。」
プロンプトの質が返信の質を直接決める。最初の1週間は返信文の精度を見ながらプロンプトを毎日微調整した。この手間を惜しむと、的外れな自動返信が飛んでいくので注意。
スクリプト完成後、GASのトリガー設定で「時間主導型・1時間ごと」に設定する。これで1時間に1回、自動でメールチェックと返信が走る。営業時間内だけに絞りたい場合は「午前9時〜午後6時」の時間帯指定も可能だ。
冒頭で話した「日曜夜に2〜3時間かけてレポートを書く地獄」を終わらせたのがこの仕組みだ。毎週金曜17時に自動でレポートが生成されて関係者に送信される。今は日曜夜にレポートのことを考えることすら、ない。
Googleスプレッドシートに蓄積された売上データや作業ログを、GASで該当週分だけ自動集計する。その数値をChatGPT APIに渡して「自然な日本語のレポート文章」に変換させる流れだ。
たとえばこんなデータをAPIに渡す。
「先週の売上合計:45万円、前週比:+12%、主要商品:Aシリーズ、クレーム件数:2件」
プロンプトに「このデータをもとに経営者向けの週次レポートを300字で作成してください」と指示するだけで、読みやすいレポートが自動生成される。最初に試したとき、自分が書くより読みやすい文章が出てきて正直驚いた。
生成されたレポートは DocumentApp でGoogleドキュメントに自動保存し、GmailApp で関係者にPDF添付で自動送信できる。毎週金曜17時に実行するトリガーを設定すれば、レポート作成という作業が完全に消える。
GASでは =AI_SUMMARY(A1) のような独自関数を定義できる。A1セルの文章を入れるだけでAIが要約してくれる仕組みだ。商品説明文の一括生成やデータ整理に使うと、作業時間が劇的に変わる。
実際に複数のAPIを試した結果、用途によって使い分けが有効だとわかった。以下の比較表を参考にしてほしい。
| API / ツール | 得意な用途 | 料金目安 | GAS連携のしやすさ | 日本語精度 |
|---|---|---|---|---|
| OpenAI API (GPT-4o) | 文章生成・要約・返信 | 約$0.005/1K tokens | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| OpenAI API (GPT-3.5-turbo) | 大量処理・コスト重視 | 約$0.0005/1K tokens | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Gemini API (Google) | Googleサービスとの統合 | 無料枠あり | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Claude API (Anthropic) | 長文処理・安全性重視 | 約$0.003/1K tokens | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
初めて試すならOpenAI API(GPT-4o)一択。日本語精度・情報量・GASとの相性、すべてのバランスが最もよい。コストを抑えたい大量処理にはGPT-3.5-turboを使い分けるのがおすすめだ。
最初の2週間で計7回はスクリプトが止まった。同じ失敗を繰り返さないために、よくあるエラーと解決策をまとめておく。
原因はほぼ100%、APIキーの設定ミスだ。スクリプトプロパティに保存したキーを取得する際の記述 PropertiesService.getScriptProperties().getProperty(‘OPENAI_API_KEY’) にスペルミスがないか確認する。
実際に自分がやらかしたのは ‘OPENAI_API_KEY’ を ‘OPENAI_APIKEY’ と書いてしまっていたケース。30分気づかなかった。
ツール選びから案件獲得、収益安定化まで。
実際に稼いだ手順をステップバイステップで解説しています。