表を渡したはずが、行と列の対応が消えていた — Docs の構造を保ったまま Gemini に渡す抽出層
Apps Script の getBody().getText() は Docs の表を段落の並びに潰します。42行×5列の運用台帳での取り違え実測と、要素ツリーを歩いて構造を残す抽出層の実装、その受け入れテストまでを記録しました。
夜間バッチの完了を待つポーリングを畳む — Apps Script の doPost を Gemini の合図受けにする設計
Gemini の Batch や長時間オペレーションの完了を Apps Script の時間主導トリガーで5分おきに問い合わせると、UrlFetch の呼び出しと待ち時間が静かに積み上がります。Webhook を doPost で受け、合図として扱ってから権威確認と冪等適用に落とす設計を組み立てます。
Apps Script の Gemini 自動化が月末に必ず止まる — UrlFetch 日次上限を溶かさない予算ガバナー設計
Apps Script から Gemini を呼ぶ自動化は、6分上限やトリガー本数とは別に UrlFetch の日次呼び出し上限で静かに止まります。件数が増えた日だけ落ちる問題を、日次予算ガバナーとバックログ繰り越しで捌き切る設計と動くコードにまとめます。
複数のトリガーが同時に書き込むと Gemini の結果が静かに消える — Apps Script の Properties 競合を畳む保管設計
Apps Script で Gemini の結果を複数のトリガーから保管すると、read-modify-write の競合と PropertiesService の容量制限で書き込みが静かに失われます。LockService と耐久シンク、冪等キーで取りこぼさない保管層を設計します。
Apps Script × Gemini 自動化の権限を最小に保つ — 明示スコープ設計とスコープ肥大の検知
Apps Script で Gemini 自動化を組むと OAuth スコープが静かに肥大します。appsscript.json に明示スコープを宣言し、肥大を CI で検知し、再同意の事故を避ける設計をまとめました。
Apps Script から Gemini API を呼ぶと長い生成で止まる原因と対処 — UrlFetchApp タイムアウトと 6 分実行上限の壁
Apps Script から Gemini API を呼んだときに UrlFetchApp のタイムアウトと 6 分の実行上限のどちらで止まっているかを見分け、分割実行・チェックポイント・トリガー再開で乗り切る実用パターンをまとめます。
Google Workspace × Gemini API 業務自動化の運用ノート — Apps Script 実装パターン12選と本番設計
Gemini API と Google Apps Script で Gmail・Docs・Sheets・Calendar を横断する業務自動化を組む実装パターン12選。4サイト運用とアプリ問い合わせ対応で踏んだ落とし穴を、429の握りつぶし・JSONフェンス・6分制限・モデル振り分けの実測付きで整理しました。