【AppSheet】条件分岐とプロンプトで「謝罪メール」を自動生成する【AI task学習ガイド②】

GoogleAppsScript

こんにちは!「クロウル」を運営している、藤井貴司です。

前回の記事では、ユーザーが入力したフィードバックの内容をAIが読み取り、自動的に「クレーム」や「感謝」などに分類する仕組みを作りました。

今回はその続きのステップ2で、AI活用の醍醐味である「生成(Generate)」に挑戦します。

ただ生成するだけでなく、「もし『クレーム』だったら、自動で『謝罪メールの文案』を作る」という実務で即戦力となる自動化フローを構築していきましょう。

この設定を行うことで、クレーム対応の初動スピードを上げることができます。

今回のゴールは、ステップ1で作成した「フィードバックアプリ」に以下の動きを追加します。

  1. AIがカテゴリを「クレーム」と判断した場合のみ、処理を実行(IF文)。
  2. AIがその内容に対する「謝罪メールの文案」を自動で執筆し、アプリに保存する。

これにより、担当者はAIが書いた下書きを確認・修正するだけで、迅速に返信ができるようになります。

では、早速作っていきましょう!

0.ゴールイメージ

作る前にゴールを確認しましょう。

カテゴリがクレーム以外の場合、謝罪文面が作成されません。

1.作業を始める前に:アプリをコピーしよう

今回はステップ1で作ったアプリの構造(列の追加など)を変更します。

「せっかく作ったステップ1のアプリはそのまま残しておきたい」
「失敗した時に備えてバックアップを取りたい」
という方は、まずはアプリを複製してから作業を始めましょう。

  1. 画面右上のAppSheetロゴ(紙飛行機のアイコン)をクリックして、アプリ一覧画面(MyApps)を開きます。
  2. ステップ1で作った「フィードバック」アプリを探し、右端の「⋮」(三点リーダー)をクリックします。
  3. 表示されたメニューから「Copy」をクリックします。
  4. 設定画面が表示されるので、以下の設定をします。
    • App name:フィードバック_Step2など
    • Make a copy of the data for the new app:必ず「ON」にしてください。
      ※これがONになっていないと、新しいアプリが「ステップ1と同じスプレッドシート」を編集してしまい、元データが書き換わってしまいます。
  5. 「Copy app」をクリックします。

コピーが完了すると自動的に新しいアプリのエディタ画面が開きます。

この新しいアプリを使って、ステップ2を進めていきましょう。

2.準備:保存用の場所を作る

まずは、AIが生成した文章を保存しておくための列を用意します。

Googleスプレッドシートの編集

アプリのデータソースである「フィードバック」シートを開いてください。
※僕の環境では、「マイドライブ → appsheet → data → フィードバック_Step2-511800189の中にコピーされていました。

カテゴリの隣(E1セル)に「謝罪文案」と追加します。

AppSheetで再読み込み

AppSheetのエディタに戻り、データ構造を更新します。

  1. 左側メニューの【Data】→【フィードバック】テーブルを開きます。
  2. 画面上部の【Regenerate schema】をクリックします。
  3. 確認画面で【Regenerate】をクリックします。

これで、AppSheetのフィードバックテーブルに謝罪文案という列が追加されました。

Type(型)をLongTextにして、Saveをクリックしてください。

3.Automation:条件分岐(IF)を追加する

すべての投稿に対して謝罪文を作る必要はありません。

そこで、「もしクレームだったら」という条件分岐(if文)を追加します。

  1. 左メニューの【Automation】を開き、前回作成した「フィードバック分類ボット」をクリックします。
  2. 真ん中のフロー図で、「AIカテゴリ分類」タスクの下(ENDとの間)にある【+ Add a step】をクリックします。
  3. Step name:カテゴリがクレームの場合」とし、【Create a new step】をクリックします。
  4. 【Run a task】をクリックし、【Branch on condition】に変更します。

これで、フロー図に「if文」を追加することができました。

条件の設定

「=」のあたりをクリックし、【Expression Assistant】を開き、以下の式を入力します。

[カテゴリ]="クレーム"

これで、ステップ1で作った分類結果で「カテゴリがクレーム」だったときだけ、「Yes」の分岐に進むようになります。

4.Task:生成AIタスクの設定

いよいよAIに文章を書かせる設定です。

作成した「If」ブロックの中の「Yesのルート」にタスクを作ります。

  1. フロー図の「Yes」の下にある「+」をクリックします。
  2. Step name:AI謝罪文案生成と入力し、「Create a new step」をクリックします。
  3. 右側の設定パネル(Settings)で「AI task」を選択します。
    • AI task:Summarizeを選択します。
    • Input columns:謝罪文案以外(IDなど)にします。
    • Output:「Save to table」を選択し、謝罪文案を選択します。
    • Input columns:内容を選択します。

Input columnsに目的の列が表示されない場合

【Input columns】の選択肢に目的の列名が出てこない場合、【Output】の設定を確認してください。
AppSheetの仕様上、【Output】(書き込み先)に設定されている列は、【Input】(読み込み元)で選べないようになっています。
そのため、先に【Output】を正しい列に設定すれば、【Input】に目的の列を設定できるようになります。

5.プロンプト:AIへの指示出し

最後に、AIにどのような文章を書いてほしいか指示(プロンプト)を出します。

設定パネル(Settings)の【Additional instructions】欄を使用します。

今回は入力された内容(【内容】列)と指示文を結合する以下の式をコピー&ペーストしてください。

"以下のクレーム内容に基づき、お客様への丁寧な謝罪と状況確認のための返信メール文案を作成してください。文案のみを出力し、件名や署名は不要です。\n\nお客様の入力内容:\n" & [内容]

このように、固定の指示文と列のデータ&【内容】を組み合わせることで、投稿ごとの異なる内容に対して的確な謝罪文を作らせることができます。

6.動作確認

設定、お疲れ様でした!

右上のSaveボタンで保存しましょう。

実際に動くかテストしてみます。

  1. プレビュー画面のフォームから、わざとクレームっぽい内容を送ってみます。
    • 例:「昨日届いた商品が壊れていた!最悪だ!!」
  2. Saveし、同期が完了するのを待ちます。
    (AIが分類→生成、と2回動くのでステップ1より少し時間がかかります。
  3. 「フィードバック」シートを確認します。
    • カテゴリが「クレーム」になっていること。
    • 謝罪文案に「この度は、お受け取りになった商品が破損していたとのこと、誠に申し訳ございません…」といった文章が自動で入力されていれば成功です。
  4. 追加テスト
    • 「いつもありがとう」のような感謝の言葉も送ってみてください。
      カテゴリは「感謝」になりますが、if文の設定のおかげで謝罪文案は「空欄」のままになるはずです。

まとめ

今回は、AppSheetのAI機能を使い、「条件に応じて文章を自動生成する」仕組みを作りました。

  • 【Branch on condition】で「必要な時だけ」AIを動かす。
  • 【Summarize】タスクとプロンプトを組み合わせて、自由な文章作成を行う。

この2つをマスターすれば、「日報の要約」「翻訳」「推奨アクションの提案」など、様々な業務アプリに応用できます。