[GWSStudio100本ノック] マーケティングメールのドラフトを自動レビューし基準達成まで回すエージェントを作成してみた

 2025.12.17 Yudai Imai

はじめに

本記事は、Google Workspace Studio(旧Flows)の実践ノウハウを100本紹介する連載「Google Workspace Studio活用方法100本ノック」の一つとなります。  

今回は、マーケティングメールのドラフトを自動レビューし、定めたチェック基準を満たすまでブラッシュアップを繰り返すエージェントを構築します。Geminiに校正・トーンチェック・CTA確認などを任せ、指摘事項をフィードバックしながら完成度の高いメール原稿を仕上げる仕組みを作っていきましょう。Google Driveのファイルを削除する処理はGoogle Apps Script(GAS)で実装し、Workspace Studioから呼び出す構成とします。GASの具体的な作り方は別の番外編記事で詳しく解説しますので、併せてご参照ください。

GASの作り方はこちらのリンクから確認してください。今回のブログを実現するにはこのGASの作成とWorkspace Studioへのインストールを先んじて実施しておく必要があるため、番外編のブログを先に実施しておいてください。

難易度 上級者向け
実現すること マーケティングメールのドラフトを自動レビューし、基準を達成するまでレビューをし続けるエージェントを構築することで、高品質なマーケティングメールの内容を作成することができます
想定する対象者 マーケティング/広報チームでメール配信の品質管理を効率化したい人
利用サービス Google Docs,Google Sheets, Google Chat, Google Apps Script

ユースケース

今回作成するエージェントの代表的なユースケースとしては以下のようなことが考えられると思います。

  • キャンペーンメールの品質チェック
    • ドラフトがDriveにアップされたら自動レビューを走らせ、件名・本文・CTAが基準に満たない場合に指摘を集めてさらに質の高い内容に自動でブラッシュアップします。
  • ブランドトーンの統一
    • シリーズメールの口調や表現がブランドガイドラインに合っているかをGeminiで確認し、ズレがあれば修正ポイントを提示します。
  • 法務・コンプライアンス観点の一次レビュー
    • 禁止表現や必要な免責文言が入っているかをチェックし、必要があれば法務レビュー前にマーケチーム内で修正を完了させることができます。

前提条件

今回のエージェントを作成するための前提条件は以下となります。Google Workspace Studioは2025年12月時点ではそれまではFlowsという名前で提供されていたサービスからリネームされたサービスかつまだ提供されて間もないため、このブログの内容が最新ではなくなる可能性があることをご了承ください。
  • 利用環境:Google Workspace Studioにアクセスできるユーザーであること。
  • 利用アプリ:通知先のGoogle Chatスペース(またはDM)が事前に用意されていること。Google Apps Scriptが作成できる環境が存在しており、番外編のGASの構築とWorkspace Studioへのインストールが完了していること。
  • 社内ルール:メール内容をAIに渡す際の社内ポリシーや情報管理ルールを確認済みであること。

エージェントの全体図

今回作成したエージェントは上級者向けで18ステップとなっていてとても複雑な構成となっています。

スターターとして「When an item is added to a folder」を設定し、特定のフォルダにファイルが作成されたタイミングでエージェントが起動します。

続くアクションでは、まず「Get sheet contents」ステップでマーケティングメールのスタイルガイドが記録されているスプレッドシートの情報を取得し、後続に続く2つの「Ask Gemini」ステップでレビューや採点を実施します。そして、2回続く「Decide」ステップで手前のステップの中で実施したマーケティングメールの採点とレビューが何回行われたのかの判定を実施します。

まだまだ続きます。1回目の「Check if」ステップでは一定の採点基準を超えていたらレビュー完了のファイルを特定のフォルダに作成し「Notify me in Chat」ステップでレビュー結果を連携します。2回目の「Check if」ステップでは採点基準未満かつレビューが10回以下の場合は、「Ask Gemini」ステップでスタイルガイドの再構成を実施し、「Extract」ステップで修正されたスタイルガイドの情報を取得して、「Update rows」にてスプレッドシートのスタイルガイドを上書きした後に、もう一度レビューのサイクルに回すためのファイル作成を実施します。

そして最後の「Check if」ステップとなります。このステップでは、このレビューサイクルが10回続いても終わらなかった場合の防波堤となっています。レビューが10回連続失敗した場合は、「Create a doc」ステップで最後のレビュー結果をファイルに残してから、「Notify me in Chat」ステップで自分自身に連絡するようにしています。そして、最終ステップである「Trash File by URL」ステップではフォルダーをクリーンにするためにレビュー元のファイルをゴミ箱に移動しています。

構築手順

今回作成したエージェントの構築手順は以下のようになっています。

Google Driveのフォルダとスタイルガイド用のスプレッドシートの準備

今回のエージェントを実現するためにGoogle Driveのフォルダを2つ用意します。今回は「メルマガレビュー用」と「メルマガ完成品」というフォルダを作成しました。そして、「スタイルガイドシート」という名前のスプレッドシートを作成して、画像のような形式で準備します。

Starter

Starterで「When an item is added to a folder」を選択します。そして、Folderには作成した「メルマガレビュー用」を選択します。Allow this agent to start when other agents add Gmail attachments to Driveのチェック項目は今回は不要のためチェックはしないようにします。

Actions

最初のActionsでは「Get sheet contents」を選択します。Spreadsheetの欄には用意した「スタイルガイドシート」を選択し、Sheetには「シート1」を選択してください。そして、Find rows to get values fromでは、Columnには「スタイルガイド」、Valueには「Any」を入れてください。

次のアクションでは「Ask Gemini」を選択します。Enter a promptの欄には以下のプロンプトを入力してください。[]で囲まれている内容はVariablesから設定するようにしてください。Sources Gemini can useはデフォルトの「Web, Workspace, and connected apps」のままとします。

あなたはダイレクトレスポンス・マーケティングの熟練コピーライターです。
ユーザーの要望に基づき、コンバージョン(CV)を最大化する原稿を作成してください。

## 入力データ
- **トピック:**​ [Step1: Link to the file]
- **スタイルガイド(絶対法典):**
[Step2: Matching values"スタイルガイド"]

## タスク:回数管理と執筆
1. **回数の更新:**
   - 「前回のドラフト」の冒頭を確認し、「X回目のレビュー結果です」という記載を探してください。
   - 数値が見つかった場合、それに **1を足して** 出力してください(例: 「4回目」なら「5回目」とする)。
   - 数値が見つからない、または前回のドラフトが空の場合は、「**1回目のレビュー結果です**」としてください。

2. **執筆:**
   - 入力された「スタイルガイド」のルールを一字一句守ること。ガイドで「禁止」されている表現は絶対に使わないこと。
   - 読者の感情を動かす「フック(件名・冒頭)」を作成する。
   - PAS(Problem-Agitation-Solution)フレームワークを用い、論理的に構成する。
   - 明確かつ単一のCTA(行動喚起)で締めくくる。

## 出力形式
必ず以下のフォーマットのみを出力してください。冒頭の回数表示は必須です。

---
[Review: X回目のレビュー結果です。この項目はレビューの対象外としてください。]
---

【件名】
(ここに件名を書く)

【本文】
(ここに本文を書く)

続くアクションではもう一度「Ask Gemini」を選択します。Enter a promptの欄には以下のプロンプトを入力してください。[]で囲まれている内容はVariablesから設定するようにしてください。Sources Gemini can useはデフォルトの「Web, Workspace, and connected apps」のままとします。

あなたは「コンバージョン率の鬼」と呼ばれる冷徹な監査人です。
提出された原稿を、同時に入力される「スタイルガイド」と照らし合わせ、減点方式で厳格に採点してください。

## 入力データ
- **原稿:**
[Step3: Content created by Gemini]​

- **スタイルガイド(絶対基準):**
[Step2: Matching values"スタイルガイド"]

## ⚠️ 採点アルゴリズム(動的評価)
**持ち点は「10.0点」です。**
入力された「スタイルガイド」内のルールに対する違反を検出し、その**重要度(Severity)**に応じて減点してください。
※静的な違反リストは持ちません。全てガイド内の文言強度(「禁止」vs「推奨」など)から判断すること。

| 重要度判定 | キーワード例 | 減点幅 |
| :--- | :--- | :--- |
| **Critical** | 「禁止」「厳禁」「絶対」「NG」「しないこと」 | **-1.0pt** |
| **Major** | 「すべき」「原則」「であること」 | **-0.5pt** |
| **Minor** | 「推奨」「好ましい」「避ける」 | **-0.1pt** |

**計算ルール:**
- 減点合計が持ち点を超えた場合、スコアは0点とする。
- 重複する違反は1回としてカウントする。

## 出力フォーマット(JSONのみ)
次工程の分岐処理のため、以下のJSONを一言一句変えずに出力すること。

{
"score": <数値 (例: 6.5)>,
  "feedback_summary": "減点理由の要約(例: ・【Critical】禁止用語の使用により-2.0点...)",
  "critical_flaw": "最も減点幅が大きかった違反項目に関する、スタイルガイドへの改善提案や強化すべきポイント(Optimizerへの入力となる)"
}

Step5とStep6では、ここまでのGeminiが生成した内容をもとに判定を実施します。Step5では、Enter a promptに「scoreが9以上なら true, それ以外は false」と入力した後に、Step4の生成内容を追加して採点内容を取得し判定します。Step6では、Enter a promptに「レビューの回数が10回以下ならtrue、超えていればfalseを返してください。」と入力した後に、Step3の生成内容を追加してレビュー回数を取得し判定します。

Step7では「Check if」ステップでレビューが完了していることを判定します。Step5の採点基準を超えているかの判定がtrueの場合の設定を実施します。

そして、レビュー結果のファイルを作成するため、「Create a doc」のステップを設定します。New doc nameの欄には「Step1:Name of added file or folder」をVariablesから追加した後に「_レビュー完了」と入力して他のファイルと見分けがつくようにしておきます。Content to addの欄には「Step3:Content created by Gemini」をVariablesから追加し、Location for new docには「メルマガ完成品」のフォルダを設定します。

そして、「Notify me in Chat」ステップでは、レビューが完了したことを返すようにします。Messageには「レビューが完了しました。。最終のレビュー結果:」と入力した後にVariablesから「Step8:Link to doc」を設定します。

Step7では「Check if」ステップでレビューが完了していないこととレビュー回数が10回以下かを判定します。Step5の採点基準を超えているかの判定がfalseかつStep6のレビュー回数の基準がtrueの場合の設定を実施します。

そして、ステップ10の「Ask Gemini」のアクションを作成します。Enter a promptの欄には以下のプロンプトを入力してください。[]で囲まれている内容はVariablesから設定するようにしてください。Sources Gemini can useはデフォルトの「Web, Workspace, and connected apps」のままとします

あなたは、情報の無駄を削ぎ落とす「ドキュメント・オプティマイザー」です。
既存のガイドと、監査プロセスから得られた「最大の欠点(critical_flaw)」を統合し、スプレッドシート格納用に最適化された**最新版スタイルガイド**を出力してください。

## 入力情報
- **現在のガイド:**
[Step2: Matching values"スタイルガイド"]​

- **今回の教訓(Critical Flaw / Feedback):**
[Step4: Content created by Gemini]​

## 統合・出力ルール(絶対厳守)
1. **優先順位:** 「今回の教訓」を最優先事項として扱う。既存ルールと矛盾する場合は、教訓の内容で上書きすること。
   - ルールが守られていなかった場合、その表現を「推奨」から「禁止(Critical扱い)」へ格上げするなど、語気を強める修正を行うこと。
2. **情報の圧縮:** - 冗長な表現(「〜心がける」)は削除し、命令形(「〜せよ」「〜禁止」)で統一して文字数を削減すること。
   - 挨拶、背景説明は全削除。
3. **フォーマット制約:**
   - Markdown形式。深いインデントや複雑な表組みは避ける。
   - **文字数上限: 45,000文字**(超過しそうな場合は具体例を削除して調整)。

## 出力結果
(生成されたスタイルガイド本文のみを出力してください。「更新しました」等の会話文は禁止)

次のステップでは、Geminiが生成した内容をの内容をそのままスプレッドシートに書き込むことができないため、「Extract」ステップで抽出を行います。Contentの欄には「Step11:Content created by Gemini」をVariablesから追加します。そして、Custom content nameの項目に「Style」、Description for Geminiの項目には「メール原稿のスタイルガイド(ルールブック)」と入力します。

そして、抽出した内容をスプレッドシートに反映させるステップとして、「Update rows」のステップを作成します。Spreadsheetの欄には用意した「スタイルガイドシート」を選択し、Sheetには「シート1」を選択してください。そして、Find rows to updateでは、Columnには「スタイルガイド」、Valueには[Step2: Matching values"スタイルガイド"]​をVariablesから追加してください。そして、下にスクロールすると出てくるSet new values by columnのColumnには「スタイルガイド」、Valueには[Step12: Style]をVariablesから追加してください。


そして、もう一度レビューサイクルを回すためのファイルを作成するため、「Create a doc」のステップを設定します。New doc nameの欄には「Step1:Name of added file or folder」をVariablesから追加します。Content to addの欄には「Step3:Content created by Gemini」をVariablesから追加し、Location for new docには「メルマガレビュー用」のフォルダを設定します。

Step15では「Check if」ステップでレビューが完了していないこととレビュー回数が10回を超えているかを判定します。Step5の採点基準を超えているかの判定がfalseかつStep6のレビュー回数の基準がfalseの場合の設定を実施します。

そして、失敗したレビュー結果のファイルを作成するため、「Create a doc」のステップを設定します。New doc nameの欄には「Step1:Name of added file or folder」をVariablesから追加した後に「_レビュー失敗」と入力して他のファイルと見分けがつくようにしておきます。Content to addの欄には「Step3:Content created by Gemini」をVariablesから追加し、Location for new docには「メルマガ完成品」のフォルダを設定します。

そして「Notify me in Chat」ステップでは、レビューが完了しなかったことを返すようにします。Messageには「レビューは完了しませんでした。最終のレビュー結果:」と入力した後にVariablesから「Step1:Link to the file」を設定します。

最後に、「Trash File by URL」ステップというレビュー用のフォルダーをクリーンに保つためのファイル削除(ゴミ箱への移動)GASからインストールした独自のステップを実行する必要があります。ステップの中からDrive File Managerの欄にあるTrash File by URLを選択してください。そして、Google Drive File URLの欄にVariablesから「Step1: Link to the file」を設定してください。

実行テスト

作成したエージェントを有効化します。エージェントの下部に存在している「Turn on」のボタンを押してエージェントを有効化します。

そして、スタイルガイドには以下の項目をA2セルに書き込んでおきます。

最適化スタイルガイド

1. トーン・ボイス(姿勢)
- 読者主語の徹底(You-Statement): 読者(You)を主役とし、「プロフェッショナルだが人間味のある」トーンを徹底せよ。
- 企業主語の禁止: 企業主語(We: 私たちは)を避け、読者主語(You: あなたの悩み・成功)で語れ。
- 共感・応援表現の禁止: 企業主語による共感・応援表現(「私たちは理解しています」等)は自分語りであり、即時禁止。
- 口調の統一: 命令形(「〜すべき」「〜必須」)は禁止。「〜だと効果的」「おすすめ」で共感的に提案せよ。
- 共感表現: 「私も共感します」といった自分語りは禁止。読者の状況を代弁し共感を示せ。

2. 構成・書式(スキャナブル化)
- 基本: 「文字の壁」を避け、流し読み可能な構成にせよ。
- 件名 (Subject): 疑問形で終わらせるな。「ベネフィット」か「驚き」で止めよ。

導入 (Lead)
- 前置き禁止: 挨拶・前置きは一切禁止。
- 冒頭1行: ターゲットの「Pain Point」または「Benefit」を提示せよ。
- 課題提起の制限: 課題提起は最大2段落までに限定。速やかに解決策へ移行せよ。

本文 (Body)
- 3行ルール: 1段落は最大3行。超過時は改行または箇条書きを使用せよ。
- 疑問文の全面禁止(重大欠陥): 見出し・本文ともに問いかけ形式の疑問文は絶対禁止。メリット提示または断定型で表現せよ。
- 冗長表現の廃止: 形式名詞「こと」を使った冗長表現(「参加することで」等)は禁止。「〜を使えば」「〜すると」等に短縮せよ。

3. CTA戦略(アクション誘導)
- 目的: 読者の迷いを消し、CVRを最大化せよ。
- 配置と頻度: リンクはメール内に最低2回設置せよ(ベネフィット提示直後、結び)。
- シングルパス・オファーの統一: 提示するオファー(飛び先)は1種類に統一せよ。資料DLと問い合わせの混在は禁止。
- CTA文言の完全統一(絶対厳守): 設置された**全てのCTAリンクの文言(マイクロコピー)は、完全に一致させよ。**文言の差異による選択肢の迷いを生じさせるな。
- マイクロコピー: 緊急性・限定性(「今だけ」「〇名限定」)またはベネフィット再強調(「無料で」「5分で完了」)をリンク直前に必ず配置し、心理的ハードルを下げよ。

4. NGリスト(絶対禁止)
- NGワード:
- 「画期的 (Revolutionary)」
- 「解き放つ (Unlock/Unleash)」
- 「いかがでしたでしょうか」
- NG表現:
- 問いかけ形式の疑問文(例:「〜悩んでいませんか?」)
- 企業主語による応援・共感の表明
- 上から目線の表現(「〜すべき」「〜必須」)
- 形式名詞「こと」の多用

そして、今回は以下のメルマガのサンプルを作成して対象のフォルダーに投入しました。

そうするとしばらく待っているとGoogle Chatにレビューの結果が連携されてきました。レビューされた結果を見ると7回レビューをしており、メルマガの内容が完成していました。このレビューの結果がいいのかわるいのかはスタイルガイドの内容にもよってきますが、元の文章より冗長性などがそぎ落とされて読みやすくなったように思います。

更新されたスタイルガイドの中身も見てみます。以下の内容に更新されていました。Geminiが生成した内容のため人が読みやすくはなっていませんが、適宜必要な条件が追加されていることが分かります。

最新版スタイルガイド

1\. トーン・ボイス (姿勢)
\- 読者主語の徹底: 読者主語(You-Statement)を徹底せよ。
\- トーン: プロフェッショナルかつ人間味のあるトーンを維持せよ。
\- 企業主語の禁止: 企業主語(We)の使用を禁止せよ。読者の悩みや成功を主語として表現せよ。
\- 応援・共感の禁止 (CRITICAL): 企業主語による共感・応援表現はCRITICAL禁止せよ。
\- 高圧的表現の禁止: 上から目線の命令形(「〜すべき」「〜必須」)は禁止せよ。提案形式で表現せよ。
\- 自分語りの禁止: 自分語り(「私も共感します」)を禁止せよ。読者の状況を代弁し共感を示せ。

2\. 構成・書式 (スキャナブル化)

2\.1 件名 (Subject)
\- 断定形の必須: 疑問形で終了を禁止せよ。ベネフィットまたは驚きで断定せよ。

2\.2 導入 (Lead)
\- 前置きの禁止: 挨拶・前置きを一切禁止せよ。
\- 冒頭の完結: 冒頭の1行目でターゲットのPain PointまたはBenefitの提示を完結せよ。
\- 課題提起の段落数制限 (CRITICAL): 課題提起は最大2段落に限定せよ。3段落以上はCRITICAL禁止とする。
\- 解決要素の混入禁止 (CRITICAL): 課題提起段落への解決策につながるポジティブな要素の混入をCRITICAL絶対禁止とする。特に、問題を終結させる、解決を断定する表現(例:「〜今日で終わらせます」「〜を実現します」)を厳禁とする。課題提起後は速やかに解決策へ移行せよ。

2\.3 本文 (Body)
\- 文字の壁の禁止 (CRITICAL): 「文字の壁」をCRITICAL禁止せよ。流し読み可能な構成にせよ。
\- 段落行数制限: 1段落は最大3行に限定せよ。超過時は改行または箇条書きを使用せよ。
\- 問いかけの禁止: 疑問文・問いかけ形式を全面禁止せよ。メリット提示または断定型で表現せよ。
\- 冗長表現の禁止 (CRITICAL): 形式名詞「こと」を含む冗長表現をCRITICAL絶対禁止せよ。「〜を使えば」「〜すると」等に短縮せよ。

3\. CTA戦略 (アクション誘導)

3\.1 CTA配置・オファー
\- リンクの最低設置数: リンクはメール内に最低2回設置せよ(ベネフィット提示直後、結び)。
\- オファーの統一: 提示オファーは1種類に統一せよ。資料DLと問い合わせの混在を禁止せよ。
\- 文言の完全一致 (CRITICAL): 全てのCTAリンク文言は完全一致をCRITICAL厳守せよ。

3\.2 CTAマイクロコピー (CRITICAL必須)
\- 命令形の禁止 (CRITICAL): CTAリンク文言への命令形表現(「今すぐ入手」等)の使用をCRITICAL禁止せよ。
\- 限定性・緊急性の禁止 (CRITICAL): CTAリンク文言への限定性・緊急性の要素の埋め込みをCRITICAL禁止せよ。普遍的な断定型アクション文言に統一せよ(例:「全手順の詳細を見る」)。
\- マイクロコピー配置 (CRITICAL): 限定性または緊急性を訴求するマイクロコピーは、本文の他の文章と結合することをCRITICAL絶対禁止とする。
\- 形式の厳守 (CRITICAL): 限定性・緊急性を訴求するマイクロコピーは、\*\*【装飾を施した最大10文字の簡潔な単独行】\*\*として、CTAリンクの直前の行にCRITICAL必須で配置せよ。(例:【本日限定】)

4\. CRITICAL禁止事項 (NGリスト)
\- NGワードの禁止:
 \- 「画期的 (Revolutionary)」を禁止せよ。
 \- 「解き放つ (Unlock/Unleash)」を禁止せよ。
 \- 「いかがでしたでしょうか」を禁止せよ。
\- CRITICAL禁止表現の包括:
 \- 問いかけ形式または疑問文の使用を禁止せよ。
 \- 企業主語による応援や共感の表明を禁止せよ。
 \- 上から目線の表現(「〜すべき」「〜必須」)を禁止せよ。
 \- 形式名詞「こと」を含む冗長表現を禁止せよ。
 \- 課題提起段落への解決策につながるポジティブな要素の混入を禁止せよ。特に、問題を終結させる、解決を断定する表現(例:「〜今日で終わらせます」「〜を実現します」)を厳禁とする。
 \- CTAリンク文言への限定性・緊急性の要素の埋め込みを禁止せよ。
 \- CTAリンク文言における命令形表現の使用を禁止せよ。
\- 限定訴求マイクロコピーを、本文中の他の文章と結合することを禁止せよ。

まとめ

マーケティングメールの品質管理を手作業で行うと、レビューの抜け漏れや表現のばらつきが発生しがちです。Workspace StudioとGeminiを組み合わせれば、ドラフト提出→自動レビュー→指摘フィードバック→再レビューというサイクルを自動化し、基準達成まで繰り返すことができます。

これにより、配信前に一定水準の品質を担保しながら、マーケティングチームの負荷を軽減できます。まずはチェック項目を明文化し、今回のエージェントに落とし込むところから始めましょう。


BACK TO LIST

   

Recent post最新記事

Contentsコンテンツ