https://a.storyblok.com/f/270183/1368x665/bdce6f5ea5/phone-calls_google-sheets.png

Googleシートから電話をかける

最終更新日 August 8, 2024

所要時間:1 分

最近、友達の誕生日に電話するのを忘れてしまう。わざとじゃないんだ。ただ、地球の裏側に住んでいるから、難しいんだ。でもね、僕は通信APIの会社で働いているんだ!

案の定、完璧な解決策を思いついた!Google Sheetsのスプレッドシートに、私の大切な連絡先と誕生日、そして心のこもったメッセージを書き込んだのだ。そして今、私の友人たちは愚かなロボットの誕生日電話を受けるようになった。GoogleのApps ScriptsとVonageのAI Studioを組み合わせて、Google Sheetsからロボットによる誕生日メッセージを自動送信。しかも、すべてローコード、ドラッグ&ドロップのインターフェイスで!

この統合は、スプレッドシートから電話をかけたり、CSVから電話をかけたりしたいが、フルコードのソリューションを構築したくない人に最適です。

このチュートリアルでは、Googleシートから電話をかける方法を学び、もう誕生日を見逃さないようにしましょう!

前提条件

アウトバウンド・ボイス・チャットボットの作り方

エージェントを作成するには、以下の手順に従ってください。 AI Studio ドキュメント.エージェントには3つの重要なオプションがあります:

  • タイプ テレフォニー

  • テンプレート ゼロから始める

  • イベント アウトバウンド

エージェントの機能は非常にシンプルで、あなたの誕生日を祝うSMSを1通送るだけです。単一の メッセージ送信ノード会話終了ノード.

Overview of Bot ArchitectureOverview of Bot Architecture

AI Studioでカスタムパラメータを作成する方法

メッセージ送信ノードの内部では、以下の2つのパラメータが必要です。 パラメータ.そこで、左側のプロパティパネルを開き、パラメータを選択します。下の カスタムパラメータ で以下のエントリーを作成します。:

  • 名前- @sys.any

  • メッセージ- シスアド

パラメータを保存し、Speak Nodeを開きます。ノードの中に以下のメッセージを追加します。パラメータを使用するには、$の後にパラメータ名を入力します。例えば、名前の値を使用するには、$name と入力します。

<speak><break time='1s' /> <p> Dear $name</p> <p>Your loving friend YOUR_NAME has the following birthday message for you: $message </p> <p>Have a wondeful birthday!</p></speak>

を使用していることにお気づきだろう。 音声合成マークアップ言語 言語を使っていることにお気づきでしょう。1秒間のポーズを追加したり、エージェントがより自然に話すために異なる段落を作成したりできるようにするためです。

保存して終了」をクリックします。

バーチャルエージェントをバーチャル番号に接続する方法

最後のステップは、エージェントをバーチャル番号に接続することです。このガイドでは エージェントを公開します。

Google Sheetsデータベースの作り方

Google Sheetsを開き、Blank Spreadsheetをクリックします。スプレッドシートに 誕生日メッセージ.また、シートに 誕生日.

Simple Birthday Database in Google SheetsSimple Birthday Database in Google Sheets

シートには4つの列見出しがあります:

  1. 名称

  2. 電話番号

  3. 誕生日

  4. メッセージ

友達10人分のデータを追加する。

  • 電話番号 電話番号には、あなたの電話番号か、テスト用にSMSを受信できる別の電話番号を追加してください。電話番号は、+や00を含まない国際形式でなければなりません。例えば、アメリカの電話番号は次のようになります。 15552345678

    • あなたの 電話番号カラムが "Plain text "にフォーマットされていることを確認してください。

  • 誕生日 誕生日日付型であることを確認してください。例:2008年9月26日。

Select Plain TextSelect Plain Text

GoogleシートをJSONに変換する方法

これでGoogleスプレッドシートがプログラム可能なアプリに変わります!拡張機能タブを開き、Apps Scriptsを選択します。Applications Scriptsでは、Google SheetsやGoogle DocsのようなGoogle Workspaceアプリケーションの上にコードを書いて、その機能を自動化したり拡張したりすることができます。

まず、新しいプロジェクトに次のような素敵なタイトルを付けます。 誕生日メッセージ API.code.gsのコードを消去して、以下のように置き換える:

function sendBirthdayCall() {
 // Open the spreadsheet by name
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("birthdays");
  // Get today's date
 var today = new Date();
 var todayDay = today.getDate();
 var todayMonth = today.getMonth() + 1;
  // Get all the data from the sheet
 var data = sheet.getDataRange().getValues();
  // Iterate through each row to check for birthdays
 for (var i = 1; i < data.length; i++) {
   var name = data[i][0];
   var phoneNumber = data[i][1];
   var birthday = new Date(data[i][2]);
   var birthdayDay = birthday.getDate();
   var birthdayMonth = birthday.getMonth() + 1;
   var message = data[i][3];
  
   // Check if today is the person's birthday
   if (birthdayDay === todayDay && birthdayMonth === todayMonth) {
     // Prepare the JSON payload
     var payload = {
       "name": name,
       "phone_number": phoneNumber,
       "birthday": birthday.toISOString(),
       "message": message
     };
     const payload_string = JSON.stringify(payload)
 
     // Send POST request to AI Studio
     sendRequest(payload);
   }
 }
}

このコードは sendBirthdayCall関数を作成します。 誕生日シートを検索します。そして、各行を繰り返し、day と month の値を比較して、今日がその人の誕生日かどうかをチェックします。誕生日であれば、誕生日の人の情報を含むペイロードオブジェクトを作成します。そして、この情報を sendRequest関数に渡し、誕生日情報を AI Studio に送信します。

Apps スクリプトの POST リクエストの送信方法

これで を作成します。関数を作成します。 関数を作成します。以下のコードを sendBirthdayCall()セクションの下に貼り付けます。

このコードを機能させるには、3つの値を更新する必要がある:

  1. スタジオURL

  • エンドポイントは、エージェントに選択した地域によって異なります:

EUエージェントの場合 https://studio-api-eu.ai.vonage.com/telephony/make-call

米国代理店向け https://studio-api-us.ai.vonage.com/telephony/make-call

  1. X-Vgai-Key

  • AI Studio API Keyを追加します。 キーは X-Vgai-KeyはAI Studioキャンバスの右上にあります。user "アイコンをクリックし、"Generate API Key "をクリックします。

  1. エージェントID

  • を追加します。 IDを追加します。これはエージェントの詳細の下にあります。

function sendRequest(payload) {
// Replace with either the US or EU URL
 var url = '';


  // Define headers for the POST request
 var headers = {
   'Content-Type': 'application/json',
   'X-Vgai-Key': '' // Replace with your key
 };
  // Define the body for the POST request
 var body = {
   "to": payload.phone_number,
   "agent_id": "", // Replace with your agent ID
   "session_parameters": [
     {
       "name": "name",
       "value": payload.name
     },
     {
       "name": "message",
       "value": payload.message
     }
   ]
 };
  // Make sure to set proper options for your API request (e.g., headers, authentication)
 var options = {
   'method': 'post',
   'headers': headers,
   'payload': JSON.stringify(body)
 };


  // Send the POST request
 var response = UrlFetchApp.fetch(url, options);


 // Add a two-second delay before sending the next request
 Utilities.sleep(2000);
  // Log the response (you can do more error handling here)
 Logger.log(response.getContentText());
}

では、このコードは何をするのか?URL、ヘッダ、ボディを準備してPOSTリクエストを作成します。ヘッダでは、X-Vgai-Keyがこのエージェントがあなたのものであることを保証します。ボディでは、どのエージェントをトリガーし、誰にメッセージを送信するかを AI Studio に伝えます。そして 名前メッセージの値を渡します。これらはすべてオプションにまとめられ UrlFetchAppを使ってリクエストする。

最近、AI Studioは リクエストにレート制限が追加されました。これに対応するため、リクエストの間に2秒の遅延が追加されます。 Utilities.sleep(2000)を使用します;

これで終わりです!これで、Runをクリックしてコードが動くかテストできます。

テストでは、連絡先のうち少なくとも3人が誕生日が当日で、アクセス可能な電話番号を持っていることを確認してください。

なんてクールなんだろう!

Apps ScriptでCron Jobを作成する方法

このアプリケーションは、誰かが誕生日であるかどうかをチェックするために毎日実行する必要があります。これはApps Scriptで簡単にできる:

  1. 左側のパネルで、"Triggers "を選択する。

  2. トリガーを追加」をクリックします。

  3. 以下の設定を選択してください:

    1. 実行する関数を選択する: sendBirthdayCall

    2. どのデプロイメントを実行するかを選択します: HEAD

    3. イベントソースを選択 時間駆動

    4. 時間ベースのトリガーのタイプを選択します: デイタイマー

    5. 時間帯を選択します:メッセージを送信する時間帯を選択します。

  4. 保存」をクリックする

結論

Google Sheetsから電話番号を呼び出す方法を学んだところで、次は何をしましょうか?

AI Studioの メールノード.もしかしたら、あなたの友達は「電話恐怖症」かもしれません。 SMSエージェントのフェイルオーバー.あるいは ジェネレーティブAIの統合を使って、友達に楽しい誕生日の写真を送ることもできます。

あなたが何をするにしても、私たちはそれを聞きたいと思っています! 私たちの 開発者コミュニティSlackまたは X(旧Twitter.

その他のリソース

シェア:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin Aronovデベロッパー・アドボケイト

Benjamin AronovはVonageの開発者支援者です。彼はRuby on Railsのバックグラウンドを持つ実績のあるコミュニティ・ビルダーです。Benjaminは故郷であるテルアビブのビーチを楽しんでいる。テルアビブを拠点に、世界最高のスタートアップの創設者たちと出会い、学ぶことができる。技術以外では、完璧なパン・オ・ショコラを求めて世界中を旅するのが好き。