Open13

MakeとGPT(GoogleForm)外部からの問い合わせに合わせてスプシからメール文章作成

りゆりゆ

Googleフォームに届いた外部からの問い合わせ内容を解析して、メールの文章作成をする

  • 使用ツール:make、GPT、Googleフォーム、Googleスプレッドシート、メール
  • 利用シーン:「特定のイベントの詳細が知りたい」という問い合わせが来た場合。
    Googleスプレッドシートにイベント情報を登録しておき、詳細を自動生成してメールの文章作成をする
    →どういう事業をやっている会社なのかをイメージして具体化まで共有してやることが良いよ!
    福井県に関するセミナーイベントを開催しているという事業での会社にしよう。

Perplextyで聞いてみた。

Googleフォームに届いた外部からの問い合わせ内容を解析して、メールの文章作成をする仕組みをノーコードツールMakeで作りたい。

福井で毎日セミナーイベントが開催されているという事業での会社で、「特定のイベントの詳細が知りたい」という問い合わせが来た場合。
事前にイベント情報を入れておいたGoogleスプレッドシートにから詳細を抽出して、自動生成してお問い合わせしてきた人へのメールの文章作成をしたい。

トリガーになるのは、GoogleフォームとリンクしたGoogleスプレットシート。
自動化フロー設定ではスプレッドシートから始める。

りゆりゆ

Googleフォームの設定

(マイクロソフトフォームでもできるよ)

  • Google Formで新規作成する「空白のフォーム」

  • 質問を入れていく

    • セミナー名:短文解答
    • お問い合わせ内容:長文
    • 設定タブからメールアドレスを収集する欄を回答者からの入力にする

設定するとこのような画面になる

  • 回答タブからスプレッドシートにリンクを選択する

  • 新しいスプレッドシートを作成を選択し作成をクリックする

-GoogleFormと連携したGoogleスプレッドシートが作成される
題名をFormと一緒で「セミナー詳細問い合わせ」にしておく

Googleフォームに何か問いかけてみよう

- フォームの右上の公開を押します。

セミナー詳細情報のスプレッドシートを作成する

  • 新しいスプレッドシートを作成する
    空白のスプレッドシートから新規作成する

    セミナー詳細情報と名前を設定する

A:セミナー名
B:開催日時
C:場所
D:内容
E:準備物
で1行目を埋めた。

詳細も一応入れてみた。

  • 受講生には自分のスプレッドシートにコピーしてもらう
    りゆスプシhttps://docs.google.com/spreadsheets/d/1PZCsVDSAxkLLNGmPMSMLscO5ImcxSDUDtAtDAtFNlzo/edit?gid=0#gid=0
りゆりゆ

Makeでシナリオ作成していこう

  • +Create a new scenarioをクリックし新規作成して行きます。

  • sheetsと検索しGoogle Sheetsのモジュールを選びます。

  • Watch New Rowsを選びます。

  • Connection のAddを開きGoogleアカウントとの連携をします。

  • 連携ができたことを確認してから、SpreadSheet IDの中からClick here to choose fileを選びます。

  • トリガーとなるセミナー詳細問い合わせのスプレッドシートを選びます。

  • Sheet NameはGoogleスプレッドシート内の特定のシート(タブ)の名前を選択します。

  • Search Methodはスプレッドシートを検索する方法。

Table contains headers: スプレッドシートの最初の行がヘッダー(列名)かどうかを指定してます。
この場合列がすでにできているのでOK

  • この場合シートの名前を入れます。シートの下に書いてある「フォームの回答1」

  • Saveを押して閉じます。

  • Choose where to startという設定が開かれました。
    ここでは初回におすすめなスプレッドシート内のすべての行を対象するべくAllを選びます。
    Saveを押します。

セミナー情報のスプレッドシートモジュールを追加

  • Add another moduleを押し、新しいGoogle Sheetsモジュールを追加します。

  • 今回はSearch Rowsを選びます。

  • Spreadsheet IDで「セミナー詳細情報」のスプレッドシートを選びます。

  • Sheet Nameはシート名。「シート1」で

  • Filterのところで以下のように設定します。
    a. 左側のドロップダウンメニューから「セミナー名」列を選択します。
    b. 中央のドロップダウンメニューで「Equal to」を選択します。

  • Save`を押して閉じます。

りゆりゆ

OpenAIモジュールを追加

  • Add another module をクリックしてつぎにOpenAiモジュールを追加します。

  • OpenAIモジュールを選びます。

  • Creatte a Completion を選択します。

  • ConnectionのAddを開きます。

  • APIキーを入力します。(コンテンツ1と一緒でOK)

  • Saveを押して閉じます。

  • ModelはGPT4o-miniを選択します。

  • Messageを設定して行きます。
    Message1 RoleはDeveloper/systemを選び、Text Contentはプロンプトを入力します。

あなたは福井県でセミナーイベントを開催する会社の顧客対応AIです。以下の指示に従って返信メールを作成してください:

1. 提供されたセミナー情報(セミナー名、開催日時、場所、内容、準備物)を使用して、丁寧で親しみやすい口調で返信を作成してください。

2. 福井の地域性を考慮し、セミナーの魅力や参加メリットを具体的に説明してください。

3. セミナーの詳細情報を明確に伝えつつ、関連する追加情報も提供してください。

4. 必要に応じて、関連するイベントや福井の地域情報も簡潔に言及してください。

5. メールの最後に、問い合わせへの感謝と参加への期待を示してください。

6. 返信は300〜400文字程度に収めてください。

セミナー情報:
セミナー名:{A列の値}
開催日時:{B列の値}
場所:{C列の値}
内容:{D列の値}
準備物:{E列の値}

これらの情報を使用して、セミナーの詳細を問い合わせた方への適切な返信メールを作成してください。

を貼ると下記の画面のようになります。

  • 次にAdd MessageでMessage2を設定します。
  • Roleは、Userを選択し、Text Contentは下記のように入れてみます。
セミナー名:{{1.A}}
開催日時:{{1.B}}
場所:{{1.C}}
内容:{{1.D}}
準備物:{{1.E}}

問い合わせ内容:{{2.問い合わせ内容}}
  • Saveを押します。
りゆりゆ

## Text Parserモジュールを追加|

この工程では文章を考えてもらうだけになる。
外部に発信するものなので、送信はせず文章作成のみ。
なのでEmailモジュールは使わない。

- Add another moduleをクリックしする

- Textと検索し、Text Parserモジュールを追加する。

- Replaceを選びます。

- Patternにメールアドレスの抽出をしたいので下記のように入れます。
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}

- TextにOpenAIの出力結果であるResultを入れます。

- Saveします。

りゆりゆ

## Emailモジュールで文章作成のみを行い、実際に送信しないことは可能らしい
- Emailモジュールを追加し、Send an Emailを選びます。

- ConnectionのAddを開き、Googleアカウントと連携します。

^Client IDとClient Secretを入れておいてから認証する。
Google Cloud Form https://console.cloud.google.com/ にアクセスしてAPiサービスから取得
- それぞれ入力して行きます。
To: テスト用のメールアドレスを入力します(例:自分のメールアドレス)

Subject: 適切な件名を入力します(最初のトリガーとなるスプレッドシートのセミナー名)
Content: OpenAIモジュールの出力結果をマッピングします

りゆりゆ

New

  • 新規作成する

Googleフォームモジュールを追加

「Watch Responses」アクションを選択し、対象のフォームを指定します。

Googleフォームは自分で作った方がいい
回答があった時にわからないから自分でつくるように
Googleフォーム↓
https://docs.google.com/forms/d/e/1FAIpQLSfsn1oP1-KwySi92nIFl_2xFb188fF5eVSIlq5SG0TLsoX_pA/viewform?usp=dialog

  • Googleと検索し、Google Formsのモジュールを追加する

  • Watch Responses を選択します。

  • ConnectionのAddを開いて、Googleアカウントと連携します。

  • Form IDの右側のSearchをクリックし、Googleフォームのキーワードを入れて探してみます。

するとIDが入りました。

  • Saveを押して閉じます。

Google Sheetsモジュール(セミナー情報取得用)を追加

  • Add another moduleでGoogle Sheetsモジュールを選びます。

  • Search Rowsを選びます。

  • ConnectionでAddを開き、Googleアカウントと連携します。

  • Spreadsheet IDで事前に登録しているスプレッドシートを選択します。

  • Filterは下記のように設定します。

  • Saveします。

OpenAIモジュールを追加

  • ConnectionでAddを開いて、API keyを入れてSaveします。

  • ModelをGPT4o-miniで選びます。

  • Messageを設定して行きます。
    Message1 RoleはDeveloper/systemを選び、Text Contentはプロンプトを入力します。

あなたは福井県でセミナーイベントを開催する会社の顧客対応AIです。以下の指示に従って返信メールを作成してください:

1. 提供されたセミナー情報(セミナー名、開催日時、場所、内容、準備物)を使用して、丁寧で親しみやすい口調で返信を作成してください。

2. 福井の地域性を考慮し、セミナーの魅力や参加メリットを具体的に説明してください。

3. セミナーの詳細情報を明確に伝えつつ、関連する追加情報も提供してください。

4. 必要に応じて、関連するイベントや福井の地域情報も簡潔に言及してください。

5. メールの最後に、問い合わせへの感謝と参加への期待を示してください。

6. 返信は300〜400文字程度に収めてください。

セミナー情報:
セミナー名:{A列の値}
開催日時:{B列の値}
場所:{C列の値}
内容:{D列の値}
準備物:{E列の値}

これらの情報を使用して、セミナーの詳細を問い合わせた方への適切な返信メールを作成してください。

を貼ると下記の画面のようになります。

  • 次にAdd MessageでMessage2を設定します。
  • Roleは、Userを選択し、Text Contentは下記のように入れてみます。
セミナー名:{{セミナー名}}
問い合わせ内容:{{お問い合わせ内容`}}

  • Saveを押します。
りゆりゆ

Google Sheetsモジュール(結果保存用)を追加

  • Add another module でGoogle Sheetsで 「Add a Row」を選びます。

  • Googleスプレッドシート作成(事前にやっておく)(コピーして使ってね)
    https://docs.google.com/spreadsheets/d/1p0FYoQL12hOPNRy71Th3eSIP91m-QYnU8-V0r3fwFoA/edit?gid=0#gid=0

    OpenAIで作成した文章がB列のところに入って行きます。

  • ConnectionのところでGoogleアカウント連携する これ毎回必要なのかな?調べる

  • Spread sheetIDを選択し、Sheet Nameも選びます。

  • Valuesのところに設定します。

  • Saveを押します。

OpenAIの出力結果(生成された返信文章)を新しい行に追加するよう設定します。

りゆりゆ
  • Run onceしてフォームを送信します。

  • Makeで Run Onceを押すと、、、

  • スプレッドシートにメールアドレスと解析して生成した文章が反映されました!

    できたーーーーー!!!!!

りゆりゆ

事前にイベント情報など入れておいてプロンプトそれぞれの業務に活かせるといいな。

りゆりゆ

情報が載ってない場合のチャレンジ問題
プロンプトを変えて文章の最初に【確認必須】と問い合わせ内容を記載する。

あなたは福井県でセミナーイベントを開催する会社の顧客対応AIです。以下の指示に従って返信メールを作成してください:

1. 提供されたセミナー情報(セミナー名、開催日時、場所、内容、準備物)を使用して、丁寧で親しみやすい口調で返信を作成してください。

2. 福井の地域性を考慮し、セミナーの魅力や参加メリットを具体的に説明してください。

3. セミナーの詳細情報を明確に伝えつつ、関連する追加情報も提供してください。

4. 問い合わせ内容で情報がない場合には、文章冒頭に【確認必須】と{{1.answers.`17e5e6b1`.textAnswers.answers[].value}}を箇条書きにまとめて記載してください。ください。

5. メールの最後に、問い合わせへの感謝と参加への期待を示してください。

6. 返信は300〜400文字程度に収めてください。

セミナー情報:
セミナー名:{{3.`0`}}
開催日時:{{3.`1`}}
場所:{{3.`2`}}
内容:{{3.`3`}}
準備物:{{3.`4`}}

これらの情報を使用して、セミナーの詳細を問い合わせた方への適切な返信メールを作成してください。

こうなった。できた!

りゆりゆ

挙動の確認

  • 毎回告知を入れたりとか!
りゆりゆ

MicroSoft Formsでもやってみる

MicroSoft Forms:https://forms.office.com/

ログインしてみた

ここでフォームを作っていくっぽい

名前:「セミナー詳細お問い合わせ」で設定した。
最初に解答方式を選択するらしい

  • 「テキスト」を選んで、質問に「セミナー名」と入れます。
    必須ボタンにチェックを入れます。

  • 新しい質問の追加をして、「テキスト」を選びます。
    質問に「お問い合わせ内容」と入れ、長い回答にチェックを入れます。

  • メールアドレスについて
    無料版Formsでは、回答者のメールアドレスを取得することができません。
    質問にてメールアドレスを入力して貰うようにする。

なので「テキスト」を選んで、質問に「メールアドレス」と入れます。

  • 回答を収集をクリックします。

  • リンクをコピーを押してコピーする

  • 実際に回答できるようになりました。

Makeに入れてみよう

  • どうやらMicroSoft Formモジュールはなさそう
    Microsoft Power Automateモジュールを使う

  • Power Automateにアクセスします。
    https://make.powerautomate.com/ にログインしてPower Automateを選択します。

  • 新しいフローの作成:
    左側のメニューから「+作成」をクリックします。

  • 「自動化したクラウドフロー」を選択します。

  • トリガーの設定
    「新しい応答が送信されたとき」というFormsのトリガーを検索して選択します。
    「作成」をクリックします。

  • サインイン求められた

    なぜかサインインできなかったけど。サインイン済みになっているので強行突破する

  • 使用するフォームを選択します。
    フォーム応答の取得
    「+新しいステップ」をクリックし、「応答の詳細を取得する」アクションを追加します。

  • SharePointリストへのデータ追加
    再度「+新しいステップ」をクリックし、「SharePoint」の「項目の作成」アクションを選択します。

全然サインインできず・・・・

※できなかった・・・
サイトのURLとリスト名を指定します。
フォームの各質問項目をSharePointリストの対応する列にマッピングします。
フローの保存と有効化:
画面右上の「保存」ボタンをクリックします。
フローを有効化するには「オン」に切り替えます。
テストと確認:
実際にFormsに回答を送信し、SharePointリストに正しくデータが追加されるか確認します。
この設定により、Formsに新しい回答が送信されるたびに、自動的にその内容がSharePointリストに追加されます。必要に応じて、Teams通知やメール送信などの追加アクションを組み込むこともできます。