この記事は GMOインターネットグループ Advent Calendar 2025 19日目の記事です。
こんにちは!GMOペパボの事業開発部 即レスAIチームでディレクターをやっている中村侑聖と申します。
普段は、GMO即レスAIで扱っているAIツールの設計・納品までを主に担当している私ですが、今回は「DifyとGASを使って、システム開発を行う」という、いつもとは違う挑戦をしました。
目次
1. はじめに
みなさん、AIを使ってなにか開発をしたことはありますか?
実は、Dify(オープンソースのLLMアプリ開発プラットフォーム)とGoogle Apps Script(GAS)を組み合わせることで、エンジニアでなくても実用的なAIシステムを構築できます。
本記事では、DifyとGoogle Apps Script(GAS)を組み合わせ、AIコーディングアシスタントを活用しながら非エンジニアでも実用的なAIシステムを構築できることを、実際に構築したGmail自動返信システムの事例を通じてご紹介します。
2. なぜDify × GASなのか?
そもそもDify(ディフィー)とは何か?
Dify(ディフィー)は、生成AIアプリケーションを作成・運用するためのオープンソース・プラットフォームです。
高度なプログラミング知識がなくても、ブロックを組み合わせるような感覚で、自社専用のAIワークフローを構築可能です。

参照:https://docs.dify.ai/ja/use-dify/getting-started/introduction
DifyとGASを組み合わせるメリット
「高度なAI」を「いつものGoogleツール」に、面倒な環境構築なしで直結できる点が最大のメリットです。
GmailやスプレッドシートとDifyを連携させることで、社内データを参照したAIアシスタントを業務フローへ組み込むことが可能になっています。
<Difyの魅力>
- 完全ノーコード/ローコード : エンジニアでなくともGUI上で複雑なワークフローが組める。
- モデルの自由度 : OpenAIやAnthropicなど、最新のLLMを柔軟に切り替えられる
- RAG対応 : 独自データ(マニュアル等)を参照させて独自の回答を生成できる。
- API連携:作成したワークフローをAPIを使って外部から呼び出す事が可能。
<GAS (Google Apps Script)の魅力>
- 環境構築不要:Google Workspaceを使っていれば、追加コストゼロですぐに動かせる。
- 連携力: Gmailやカレンダーとの連携がスムーズで、業務フローに溶け込ませやすい。
- トリガー機能: 時間ベースやイベントベースの自動実行が簡単に設定できる。
3. 事例紹介:Gmail自動返信システム
想定される利用シーン
多くの企業で、お問い合わせメールへの対応に工数がかかっています。特に以下のような課題を抱えているケースが多いです。
課題1:メールの種類判定と条件分岐
Gmail自動返信システムを構築する際、単純に受信したメールすべてに返信するのではなく、メールの種類や状態を適切に判定する必要があります。
例えば、以下のような判定が必要になります。
1. 転送メールの検出
転送メールには、転送元のメール内容も含まれているため、AIで解析しようとすると二重で返信してしまう可能性があります。そのため、メールヘッダー(ReferencesやIn-Reply-To)を解析することで判定を行いました。
2.新規メールの判定
ユーザーから来たメールが「新規のお問い合わせメール」かどうかを分析し、適切な処理フローに振り分けます。お問い合わせ以外のメールも受信するため、それぞれのメールに相応しい処理を施すためにGASもしくはAIで仕分ける必要があります。
このような判定ロジックを実装することで、AIが不適切なタイミングで返信することを防ぎ、システムの堅牢性を確保できると考えています。
課題2:営業時間の判定と保留機能
AIなら「24時間即レス」することも可能ですが、実際の業務では「深夜や休日の自動返信は避けたい」というケースも少なくありません。 そのため、GAS側で日時を判定し、「営業時間内のみDifyを動かす」といった柔軟な制御を組み込んでおくと、より実務に即した安全な運用が可能になります。
システムに組み込むために以下のような実装を考えました。
営業時間内の判定:GASのDateオブジェクトを使って、現在時刻が営業時間内かどうかを判定。
営業時間内なら⇨即座にDify APIを呼び出して返信文を生成・送信。
営業時間外なら⇨Gmailのラベル機能を使って「保留」ステータスにし、翌営業日の開始時刻にトリガーを発火させて一括処理。
4. システム構成と設計のポイント
この課題に対し、以下のようなロジックをGASとDifyで組み上げました。
システム構成図(概念)

この流れをGASで制御し、AI生成部分をDifyに任せることで、シンプルかつ拡張性の高いシステムを構築しました。
こだわった3つの処理フロー
システムを以下の3つの処理に分解して実装しました。
- 転送メール処理 :メールヘッダー(References)を解析し、転送メールであればAI対応させず、人間に通知するための「有人対応ラベル」を付与して終了。誤爆を防ぎます。
- 新規メール処理:真正面から来た新規のお問い合わせかどうかを検証。「今、営業時間内か?」を判定し、OKならDify APIを叩いて返信文を生成・送信します。
- 遅延・保留メール処理:営業時間外に来たメールはいったんラベル機能を使って「保留」ステータスにします。営業開始時間(トリガー発火)になったら、保留分をまとめて処理・送信します。
5. 実装のポイント
Dify APIとの連携
GASからDify APIを呼び出す際は、以下のようなポイントがあります。
- APIキーの管理 : PropertiesServiceを使って安全に管理
- エラーハンドリング : タイムアウトやAPI制限を考慮した実装
- レスポンスの処理 : JSON形式のレスポンスを適切にパース
GASでのメール処理
Gmail APIを使ったメール処理では、以下の点に注意が必要です。
- メール取得 : ラベルや検索条件を活用して効率的に取得
- メール送信 : 適切な送信者情報と返信先の設定
- ラベル管理 : 処理済みメールの管理と追跡
6. 開発プロセス
ディレクターである私は、こうしたシステムを構築するにあたり、AIコーディングアシスタントを「優秀なペアプログラミングの相手」として活用しました。おかげで、要件定義と処理フローの構築を検討しながら、それをコードに落とし込む作業は、AIツールと対話しながら、効率的に会話を進めることができました。
実際の開発は、要件定義のスキルと、AIツールの実装力を組み合わせ、以下のようなステップで進めていきました。

STEP 1:要件定義と設計
まずは「何を解決したいか」「どんな条件分岐が必要か」を明確に言語化します。この段階では、「Difyでできること」「GASでやるべきこと」の切り分けを意識して要件を固めます。
今回はDifyはAIワークフローの構築に特化しているため、メール内容の解析や返信文の生成はDifyに任せ、メールの取得・送信・ラベル管理などのGmail操作はGASで実装する、といった役割分担を明確にしました。
STEP 2:AIコーディングアシスタントとのペアプログラミングで実装
要件をもとに、AIコーディングアシスタント(Cursor)を使って機能を一つずつ実装していきます。いきなり全体を作ろうとせず、「まずはメールを取得する部分だけ」「次はDifyに投げる部分だけ」とパーツごとに作成し、段階的に進めていきました。
STEP 3:AIによるセルフコードレビュー
書いたコードが正しいかどうか、非エンジニアの方には判断が難しい場面があります。そこで、AIコーディングアシスタントに対して「このコードでバグが起きそうな箇所はある?」「もっと効率的な書き方はある?」と問いかけ、コードレビュー自体もAIを活用しながら品質の向上に注力しました。
STEP 4:フィードバックループによる改善
プロトタイプができた段階で実際に動作を確認し、フィードバックをもとに改善を繰り返します。「このパターンの転送メールが漏れている」などの細かな挙動の修正も、AIコーディングアシスタントがあれば即座にコードへ反映できるため、アジャイルに近いスピード感で改善を繰り返すことができます。
7. 開発後の学び
AIをパートナーにコードを書き進める中で、自分自身が「どんなシステムを構築したいのか」を強く意識することの大切さに気づかされました。
もちろん、生成されたコードの品質や整合性を自分だけで判断するのは難しいため、そこはプロのエンジニアにレビューを依頼し、二人三脚で進行しました。 このプロセスを経て、コードを書く他に、ビジネス要件をシステムに落とし込む「設計力」や「全体構想力」も、開発に求められるスキルも重要だと実感しました。
そのため、今回の開発で得た経験を活かし、これからも「誰かのために役立つ」価値あるシステム開発に挑戦し続けていきたいと思います。
8. おわりに
今回紹介したGmail自動返信システムは、DifyとGASの組み合わせで実現できる事例の一つです。この組み合わせを使えば、他にも以下のようなシステムを構築できると考えています。
- カレンダー予約の自動返信
- スプレッドシートのデータ分析とレポート生成
AIツールの進化により、非エンジニアでも実用的なシステムを構築できる時代になりました。DifyとGASの組み合わせは、その一つの選択肢として、ぜひ検討してみてください。
この記事が、同じようにAI活用や業務効率化に挑戦しようとしている方の参考になれば幸いです。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(540)
-
イベント(198)
-
カルチャー(54)
-
デザイン(52)
TAG
- "eVTOL"
- "Japan Drone"
- "ロボティクス"
- "空飛ぶクルマ"
- 5G
- Adam byGMO
- AdventCalender
- AGI
- AI
- AIエージェント
- AI人財
- APT攻撃
- AWX
- BIT VALLEY
- Blade
- blockchain
- Canva
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEBLUE
- CODEGYM Academy
- ConoHa
- ConoHa、Dify
- CS
- CSS
- CTF
- DC
- design
- Designship
- Desiner
- DeveloperExper
- DeveloperExpert
- DevRel
- DevSecOpsThon
- DiceCTF
- Dify
- DNS
- Docker
- DTF
- Excel
- Expert
- Experts
- Felo
- GitLab
- GMO AIR
- GMO AIロボティクス大会議&表彰式
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Developers ブログ
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOインターネット
- GMOインターネットグループ
- GMOクラウド]
- GMOグローバルサイン
- GMOサイバーセキュリティbyイエラエ
- GMOサイバーセキュリティ大会議
- GMOサイバーセキュリティ大会議&表彰式
- GMOソリューションパートナー
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメディア
- GMOリサーチ
- GMO大会議
- Go
- GPU
- GPUクラウド
- GTB
- Hardning
- Harvester
- HCI
- INCYBER Forum
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- KidsVALLEY
- Linux
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- NVIDIA
- NW構成図
- NW設定
- Ollama
- OpenStack
- Perl
- perplexity
- PHP
- PHPcon
- PHPerKaigi
- PHPカンファレンス
- Python
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- Slack
- Slack活用
- Spectrum Tokyo Meetup
- splunk
- SRE
- sshd
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- vibe
- VLAN
- VS Code
- Webアプリケーション
- WEBディレクター
- XSS
- アドベントカレンダー
- イベントレポート
- インターンシップ
- インハウス
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- クリエイター
- クリエイティブ
- コーディング
- コンテナ
- サイバーセキュリティ
- システム研修
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアテスト
- チームビルディング
- デザイン
- テスト
- ドローン
- ネットのセキュリティもGMO
- ネットワーク
- ビジネス職
- ヒューマノイド
- ヒューマノイドロボット
- フィジカルAI
- プログラミング教育
- ブロックチェーン
- ベイズ統計学
- マイクロサービス
- マルチプレイ
- ミドルウェア
- モバイル
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- 京大ミートアップ
- 人材派遣
- 出展レポート
- 動画
- 協賛レポート
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 展示会
- 広告
- 強化学習
- 形
- 応用
- 情報伝達
- 技育プロジェクト
- 技術広報
- 技術書典
- 採用
- 採用サイトリニューアル
- 採用活動
- 新卒
- 新卒研修
- 日本科学未来館
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 業務時間削減
- 機械学習
- 決済
- 物理暗号
- 生成AI
- 色
- 視覚暗号
- 開発生産性
- 開発生産性向上
- 階層ベイズ
- 高機能暗号
PICKUP
-
【登壇レポート】INCYBER Forum Japan|AIとサイバーセキュリティの融合で築く、安心・安全な未来社会
技術情報
-
Dify × GASで実現する実用的なAIシステム – Gmail自動返信の事例 –
技術情報
-
生成AIに関するブログを今年12件書いた話
技術情報
-
コーディングAIエージェントの定量評価ってどうするの?
技術情報
-
Mac Studio M3 Ultra(96GBメモリ)でローカルLLMを動かす
技術情報
-
フィジカルAIを実践!ヒューマノイドロボットG1がBling-Bang-Bang-Bornを踊った ー2025国際ロボット展(iREX2025)のダンスの裏話ー
技術情報