「毎朝同じメールチェックと転記作業をしている」「スプレッドシートの集計が属人化している」——Google Workspaceを使う職場の定番の悩みです。こうした繰り返し作業は、GAS(Google Apps Script)とAIエージェントの組み合わせで「自動で回る仕組み」に変えられます。
この記事では、GASとは何かという基本から、AIエージェントにGAS開発を任せる方法、そのまま業務に使える自動化の実践例(ニュース配信・請求書整理・朝のルーティン・Slack通知・スライド自動生成)までを解説します。内容は、当スクールが法人研修・オンラインコースで実際に使っている教材(Module 10)をベースにしています。
この記事でわかること
- GAS(Google Apps Script)とは何か
- なぜ「GAS×AIエージェント」なのか
- claspとは — ローカル開発とAIの相性
- 実践例1: ニュース自動取得&メールダイジェスト配信
- 実践例2: 請求書メールの検出→PDF整理→転送下書き
- 実践例3: 朝のルーティン自動化とSlack通知
- 応用: GASでGoogleスライドを自動生成(JSON駆動方式)
- GASの制約と運用の注意点
GAS(Google Apps Script)とは
GAS(Google Apps Script)とは、Googleのサービス(スプレッドシート・Gmail・カレンダーなど)を自動操作できるプログラミング環境です。Google Workspaceユーザーなら誰でも無料で使えます。
GASでできることの代表例:
- メールの自動送信・自動仕分け
- スプレッドシートの定期集計
- カレンダー予定の自動登録
- フォーム回答の自動処理
- 時間ベースのトリガーによる定期実行
GASの最大の特長は「トリガー」です。「毎朝7時に実行」のようなスケジュールを設定できるため、人がPCの前にいなくても処理が動きます。AIエージェント(チャットで指示して動く)との違いと使い分けは、まさにここにあります。対話的な作業はエージェント、無人の定期実行はGAS——この2つを組み合わせるのが本記事のテーマです。
なぜ「GAS×AIエージェント」なのか
従来、GASの壁は「コードを書ける人がいない」ことでした。AIエージェント(Claude Code・Cursorなど)の登場でこの壁がなくなります。
- コードはAIが書く — 「請求書メールを検出して台帳に記録するGASを作って」と日本語で依頼すれば、エージェントがスクリプトを生成します
- デプロイもAIが実行 — 後述のclaspというCLIを使い、コードの反映(push)やデプロイまでエージェントが実行します
- 人間は要件と確認を担当 — 何を自動化したいかを言葉にし、動作結果を確認するのが人間の役割です

繰り返し業務の自動化は、時間の節約だけでなく品質と再現性にも効きます。手作業の定型業務をGAS+AIで自動化すると、ムラのない運用と新しい付加価値づくりの余力が生まれます。
claspとは — ローカル開発とAIの相性
clasp(クラスプ)とは、Googleが提供するGAS用のコマンドラインツールです。.gs などのソースコードをローカルで編集し、clasp push でクラウド上のApps Scriptプロジェクトへ反映、clasp pull で取り込みます(双方向同期)。
なぜブラウザのエディタではなくローカル開発なのか。理由は4つあります。
- Git管理ができ、変更履歴とレビューが残る
- エディタの補完やチームでのレビューがしやすい
- AIエージェントによる一括編集ができる(ここが最重要)
- push / deploy / run をコマンドで自動化できる
基本の流れは「clasp login で認証 → clasp create でプロジェクト作成 → clasp push で反映 → clasp deploy」です。なお、スクリプトが初めてGmailやスプレッドシートにアクセスする際は、Googleの権限確認(許諾)画面が表示されます。これはスキップできない仕組みで、内容を確認して承認することで処理が進みます。

ひとつ重要な注意があります。clasp login の過程で表示される認可コードは秘密情報に近いものです。チャットに貼らず、表示された手順どおり端末でのみ入力してください。
実践例1: ニュース自動取得&メールダイジェスト配信
最初の実践例は「毎朝、ニュースダイジェストが自分に届く」自動化です。構成要素は3つだけです。
- UrlFetchApp でニュースRSSから最新記事を取得する
- タイトル・リンク・概要をHTMLメールテンプレートで整形する
- ScriptApp.newTrigger で毎朝8時に自動実行するトリガーを設定する
エージェントへの依頼文に「RSSから最新5件を取得し、HTMLテーブルで整形して、GmailApp.sendEmailで自分宛に送信。毎朝8時のトリガーも設定」と要件を書けば、スクリプト作成からデプロイまで一気に進みます。
実践例2: 請求書メールの検出→PDF整理→転送下書き
経理まわりで効果が大きいのが、請求書メールの自動整理です。
- GmailApp.search で「件名に請求書・invoiceを含む直近30日のメール」を検索する
- 各メールの添付PDFを取得し、送信元・件名・日付・ファイル名を一覧化する
- SpreadsheetApp で管理台帳に記録する
- GmailApp.createDraft で経理担当への転送下書き(添付PDF付き)を作成する
ポイントは、最後を「自動送信」ではなく**「下書き作成」で止めている**ことです。送信の最終判断を人間に残すことで、誤送信のリスクを抑えながら作業時間だけを削減できます。
実践例3: 朝のルーティン自動化とSlack通知
複数のGoogleサービスを横断する総合例が「朝のルーティン自動化」です。1つの関数に次をまとめ、毎朝7時のトリガーで実行します。
- CalendarApp で今日の予定一覧を取得
- GmailApp で未読メールを取得し、件名から優先度を判定
- SpreadsheetApp で日付・予定数・未読数・要対応件数をシートに追記
- 結果をHTMLにまとめ、GmailApp.sendEmail で自分にサマリー送信
さらに、結果をメールではなくSlackチャンネルに通知することもできます。SlackのIncoming Webhookを設定し、GASの UrlFetchApp.fetch でJSONペイロードをPOSTする構成です。ここで重要な運用ルールがひとつあります。
Webhook URLは秘密情報です。コードにハードコードせず、GASのスクリプトプロパティ(PropertiesService)で管理してください。
対話型のAI秘書(エージェントで都度実行する形)と組み合わせた全体像は AI秘書: Gmail・カレンダー・Drive自動化ガイド で解説しています。
応用: GASでGoogleスライドを自動生成(JSON駆動方式)
GAS自動化の応用として人気が高いのが、Googleスライドの自動生成です。「まじん式」とも呼ばれる2段階のJSON駆動方式を使います。
- Step 1 — slideData JSONの生成: LLM(Gemini / Claude)に、プレゼン構成(タイトル・本文・レイアウト指定)をJSON形式で出力させる
- Step 2 — GASでSlidesに反映: GASスクリプトがJSONを読み取り、SlidesApp APIでスライド作成・ページ追加・テキスト配置を機械的に実行する
- Step 3 — デプロイ&確認: clasp pushでデプロイし、Google Drive上の完成版を確認する
slideDataは配列形式で、各要素が1スライドに対応します。type フィールド(title / section / content / process / closing など)でレイアウトを選ぶ構造です。
直接「スライドを作って」と頼むのではなく、構造化データ(JSON)を挟むことで再現性が高くなり、テンプレートの使い回しが容易になる——これがJSON駆動方式の本質です。資料の中身となるデータ分析を自動化したい場合は AIデータ分析入門 とつなげると効果的です。
GASの制約と運用の注意点
教材で押さえている制約・注意点をまとめます。
| 項目 | 内容 |
|---|---|
| 実行時間制限 | 1回の実行は6分まで(無料アカウント) |
| トリガー制限 | トリガーの実行回数には日次制限がある |
| 外部アクセス | 外部サービスへのアクセスはUrlFetchAppを使用 |
| 実行環境 | claspの最新版はNode.js 22以上が必要 |
| API有効化 | Google Cloud ConsoleでApps Script APIの有効化が必要 |
運用のヒントも3つ紹介します。
- デバッグには Logger.log() と実行ログを活用する
clasp pushの前にclasp statusでファイル差分を確認する- トリガー設定は手動よりも ScriptApp.newTrigger() でコード管理するほうが効率的
また、組織(Google Workspace)アカウントでは、管理者のセキュリティ設定や未検証アプリの制限でログインがブロックされる場合があります。社内のITポリシーを事前に確認してください。チーム導入をまとめて進めたい場合は 法人向けAIエージェント研修 もご活用ください。
よくある質問
Q. GASは無料で使えますか? A. Googleアカウントがあれば無料で使えます。ただし無料アカウントでは1回の実行が6分までという制限があり、トリガーの実行回数にも日次制限があります。日常業務の定型処理であれば、この制限内で十分実用になります。
Q. プログラミング未経験でもGAS自動化はできますか? A. AIエージェントと組み合わせれば可能です。スクリプトの作成・修正・デプロイはエージェントが実行するため、人間の仕事は「何を自動化したいか」を具体的な要件として伝えることと、動作結果の確認です。要件の伝え方はプロンプト設計の基本型がそのまま使えます。
Q. GASとAIエージェントはどう使い分けますか? A. 「無人で定期実行したい処理」はGASのトリガー、「対話しながら進めたい作業」はAIエージェントが向いています。実務では、エージェントと対話しながら自動化の内容を固め、安定した処理をGASのトリガーに載せて無人化する、という流れが定石です。
Q. メールの自動送信は危なくないですか? A. リスクに応じて「自動化の止め方」を設計します。たとえば請求書整理の例では、転送メールを自動送信せず「下書き作成」で止めて、送信判断を人間に残しています。自分宛のサマリー送信のような低リスクの処理だけを完全自動にするのが安全です。
Q. Webhook URLやAPIキーはどう管理すればよいですか? A. コードにハードコードせず、GASのスクリプトプロパティ(PropertiesService.getScriptProperties())で管理します。また、clasp login時の認可コードも秘密情報に近いものなので、チャットに貼らず端末でのみ入力してください。
関連記事
- AI秘書とは?Gmail・カレンダー・Drive自動化の実践ガイド
- AIデータ分析入門 — EDA・ダッシュボード自動化ガイド
- Notion×AI自動化 — データベース操作とページ生成ガイド
- プロンプトエンジニアリングとは?AIエージェント時代の実践入門
- Claude Code セットアップ完全ガイド
- 法人向けAIエージェント研修(ハンズオン)
最終確認日: 2026-06-10