
シェア:
Benjamin AronovはVonageの開発者支援者です。彼はRuby on Railsのバックグラウンドを持つ実績のあるコミュニティ・ビルダーです。Benjaminは故郷であるテルアビブのビーチを楽しんでいる。テルアビブを拠点に、世界最高のスタートアップの創設者たちと出会い、学ぶことができる。技術以外では、完璧なパン・オ・ショコラを求めて世界中を旅するのが好き。
VonageとZapierによるアウトバウンドコールのSMSフォローアップ
所要時間:1 分
SMS Follow Up Example以前の記事 「Googleシートから電話をかける"では、サーバーやスタンドアロンアプリケーションを必要とせずに、簡単に発信できることを紹介しました。必要なのは、連絡先のGoogle SheetとAI Studioエージェントだけでした。別の記事 「回復力のあるVoiceエージェントの構築:フェイルオーバーシステムガイド," アウトバウンドコールに応答しなかった場合、フォローアップSMSをトリガーする方法を紹介しました。
しかし、誰かが必ずしもそれらを組み合わせるとは思っていなかった!Vonage Community SlackのAliceのおかげで、私は間違っていたことが証明された。問題は、Resilient Voice Agentの記事がNodeサーバーに依存していることでした。しかし、もしあなたがAliceのような完全なノーコード/ローコード・ソリューションを構築したい場合はどうすればいいのでしょうか?この記事でそれを実現するので、あなたはラッキーです!
このチュートリアルでは、Zapierを使用して、コードなしで発信ボイスエージェントと発信SMSフォローアップエージェントを接続する方法を紹介します!
前提条件
Vonage API アカウント
2 Vonage バーチャルナンバー 1番号レンタル各バーチャルエージェント
Google シート アカウント: Googleに登録する
Zapierアカウント: Zapierにサインアップする
アウトバウンド・ボイスボットの作り方
エージェントを作成するには、以下の手順に従ってください。 AI Studio ドキュメント.選択すべき3つの重要なオプションがあります:
タイプテレフォニー
テンプレートゼロから始める
イベントアウトバウンド
あなたのエージェントの機能は非常にシンプルです。使用するのは スピークノードと 会話終了ノード.
AI Studio Bot Overview
AI Studioでカスタムパラメータを作成する方法
SpeakNodeの内部では、2つの パラメータが必要です。.そこで、左側のプロパティパネルを開き、パラメータを選択します。下の カスタムパラメータ で以下のエントリーを作成します。:
名前- @sys.any
メッセージ- シスアド
パラメータが保存されていることを確認し、スピーク・ノードを開きます。ノードの中に以下のメッセージを追加します。パラメータを使用するには、$の後にパラメータ名を入力します。例えば、name の値を使用するには、$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>を使用していることにお気づきだろう。 音声合成マークアップ言語 言語を使っていることに気づくでしょう。
保存して終了」をクリックします。
バーチャルエージェントをバーチャル番号に接続する方法
最後のステップは、エージェントをバーチャル番号に接続することです。このガイドでは エージェントを公開します。
Google Sheetsデータベースの作り方
Google Sheetsを開き、Blank Spreadsheetをクリックします。スプレッドシートに 誕生日メッセージ.また、シートに 誕生日.
シートには4つの列見出しがあります:
名称
電話番号
誕生日
メッセージ
少なくとも1人分のデータを追加するが、完全なロジックを見るには10人分を追加する。
Google Sheet Sample Data
電話番号 電話番号には、あなたの電話番号か、テスト用にSMSを受信できる別の電話番号を追加してください。電話番号は、+や00を含まない国際形式でなければなりません。例えば、アメリカの電話番号は次のようになります。 15552345678
あなたの 電話番号カラムが "Plain text "にフォーマットされていることを確認してください。
誕生日 誕生日が 日付型であることを確認する。例:2008年9月26日。
Select 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()セクションの下に貼り付けます。
このコードを動作させるには、4つの値を更新する必要がある:
スタジオURL
エンドポイントは、エージェントに選択した地域によって異なります:
EUエージェントの場合https://studio-api-eu.ai.vonage.com/telephony/make-call
米国代理店向け https://studio-api-us.ai.vonage.com/telephony/make-call
2.X-Vgai-Key
AI Studio API Keyを追加します。 キーは X-Vgai-KeyはAI Studioキャンバスの右上にあります。user "アイコンをクリックし、"Generate API Key "をクリックします。
3. agent_id
を追加します。 IDを追加します。これはエージェントの詳細の下にあります。
4.ステータス_url
を残します。 status_urlを空白にしておく。これはZapierからのURLで更新される。
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
"status_url": "", // Replace with webhook URL from Zapier
"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());
}これで、Runをクリックしてコードが動作することをテストできます。
テストのため、連絡先のうち少なくとも1つは、現在日が誕生日で、アクセス可能な電話番号(個人番号など)であることを確認してください。
自動アウトバウンドエージェントができました!次に、フォローアップSMSエージェントを作成する必要があります。
フォローアップSMSチャットボットの作り方
次に、2つ目のエージェントを作成する必要があります。この例では、SMSをフェイルオーバーとして使用します。,を使用しますが、WhatsAppやHTTPも同様に使用できます。エージェントには3つの重要なオプションがあります:
タイプSMS
テンプレートゼロから始める
イベントアウトバウンド
私たちのSMSエージェントは非常にシンプルです。2つのノードを追加する:
A SMSを送る誕生日おめでとう。素晴らしい一日をお過ごしください。
To "フィールドには$SENDER_PHONE_NUMBERシステム・パラメータを設定する必要があります。
From "フィールドは$AGENT_PHONE_NUMBERに置き換えてください。
(オプション メール送信ノードを使用し、個人的な電子メールに設定することができます。 a 件名とメッセージ
Simple SMS Agent in AI Studio
最後に、2つ目のVonage番号で前回と同じように2つ目のエージェントを公開する。
Zapierを使用して2つのアウトバウンドエージェントを接続する方法
Zapierを使用して、2つのエージェントを4つのステップで接続します:
AI Studioから生のWebhookをキャッチする
受信JSONデータのクリーンアップ
コールステータスが「応答済み」であるかどうかを確認する:
POSTリクエストを送信してSMSフォローアップをトリガーする
Zapierで生のWebhookをキャッチする方法
まず 新しい空白のZap.トリガーアプリとして ZapierによるWebhooks.トリガーイベントには、Catch Raw Hookを選択します。
Select Catch Raw Hook for your Zap Trigger
続行をクリックすると、WebhookがWebhook URLを作成します。このエンドポイントは、Apps Scriptsリクエストで空白にした "status_url "エンドポイントです。空の文字列をZapierのWebhook URLに置き換えることができます。
Zapier Webhook Endpoint used for status_url
Google Sheetsの更新スクリプトは次のようになります:
Updated Apps Scripts code to include Zapier Webhook URL
これでGoogle Sheetsで「実行」を押すことができる。しかし今回は、呼び出しを無視するか拒否する。これでAI StudioがZapier Webhookにリクエストを送信する。その後、Zapierに戻ってトリガーをテストすることができる。レコードが返されるはずだ。レコードを調べると、たくさんのデータが表示される。恐ろしく見えるかもしれないが、心配しないでほしい。
Test results for trigger test
ZapierでJSONペイロードをクリーンアップする方法
最後のステップでは、POSTリクエストからフォーマットされていないデータを返しました。を返しました。 生のボディ.
内部を見ると 生本体の内部を見ると ステータス.AI Studioのこの情報によって、呼び出しに応答したか応答しなかったかを知ることができます。これを取得するには Zapierによるコード アクションを追加します。
Add the Code by Zapier as the second step in your Zapアクション・イベント」で Javascriptを実行する。このコードブロックを使って、生データをクリーンアップし、使用可能なJSONに変換する。
入力データ(Input Data)には、「ペイロード(Payload)」という新しいキーを作成する。値として、+記号をクリックし、以下を選択する。 生本体.
次に、カスタム・コードに以下を追加する:
let Payload = JSON.parse(inputData.Payload.replace(/%g/,""));
output = [{Payload}];このコードでは、inputDataをクリーンアップし、JSONオブジェクトにパースする。こうすることで、次のステップでキーと値をロジックに使用できるようになります。
Transform the Raw Body into a Javascript Object called Payload
このブロックをテストすると、"Payload From"(あなたのVoice Agent番号)、"Payload To"(テストの電話番号)、そして最も重要な "Payload Status "というデータフィールドにアクセスできることがわかります。
Payload Statusの値にアクセスできるようになったので、条件を作成したい。
Zapier Filter Actionで条件を作成する方法
Zapに別のステップを追加して Zapierでフィルタするアクションを実行します。次の条件を作成します: ペイロードステータスに完全に一致しない場合のみ続行する。 回答済み
Create the condition to filter Payload Status
Zapは、Payload Statusが "answered "でない限り、すべてのケースで継続されます。これで、フォローアップSMSエージェントへの接続という最終アクションを追加することができます!
ZapierでPOSTリクエストを作成する方法
トリガーでは、AI StudioからのPOSTリクエストをリッスンするためにZapierを使用した。しかし、今度はZapierを使ってPOSTリクエスト リクエストを AI StudioにPOSTリクエストを送信し、SMSフォローアップをトリガーします。
もう一度 ZapierによるWebhooksを選択します。今回はActionイベントでPOSTを選択する。
Select POST webhook action
continueをクリックしてPOSTリクエストを設定する。ここでは6つのフィールドを設定する必要があります。URLとPayload Type、Dataセクションの3つのフィールド、そしてHeaderセクションの1つのフィールドです。
URL
URLについては、あなたのエージェントがUSベースかEUベースかを確認する必要があります。対応するURLを追加してください:
https://studio-api-eu.ai.vonage.com/messaging/conversationEU向け
https://studio-api-us.ai.vonage.com/messaging/conversation米国向け
ペイロード・タイプ
ペイロード・タイプをjsonに変更する。
データ
以下の3つのフィールドに対応する値を追加する:
キー へ
値: ペイロード先キー エージェントID
値: 送信SMSエージェントのID; 作成した2番目のエージェントキー チャンネル
値:SMS
ヘッダー
以下のフィールドと値を追加する:
キー X-Vgai-Key
値: AI Studio API キー
POST request properly formatted
このステップをテストして、あなたの携帯電話でSMSを受信することができます。すべてがうまくいったら、Zapを公開して完了です!
結論
これで、完全にノーコード/ローコードのアウトバウンド電話とSMSソリューションが完成しました!うまくできましたか?何か問題はありましたか?ZapierとGoogle Sheets以外に好みのローコードプラットフォームはありますか?ぜひお聞かせください!前にも言ったように、このチュートリアルのインスピレーションは、私たちのコミュニティの コミュニティ・スラック.AI-studio チャンネルに参加して、このチュートリアルをどのように見つけたか教えてください。また VonageDev on Xをフォローしてください。