Outbound Voice Call × MoEngage
この統合により、電話通信や会話型 AI のインフラストラクチャを構築することなく、プッシュ、SMS、メール、WhatsApp に加えて、会話型音声をエンゲージメントチャネルとして追加できます。 この統合により、次のことが可能になります。- キャンペーンイベントが発生した瞬間に、アウトバウンドの AI 音声通話をトリガーします。
- 会話を開始する言語を選択し、顧客の応答に応じてエージェントが通話中に言語を切り替えられるようにします。
- MoEngage のパーソナライゼーション属性を使用して、キャンペーンで設定したコンテキスト(顧客名、カートの金額、注文 ID、支払額、割引コード、またはエージェントに必要なその他のフィールド)を各通話とともに渡します。
- Initial Bot Message を使用して、エージェントの最初の一言をユーザーごとにパーソナライズします。
- クローズドループのジャーニーオーケストレーションのために、各通話の結果を、通話時間や会話中に取得したデータとともに Webhook で受信します。
ユースケース
Sarvam と MoEngage を統合すると、次のユースケースに対応できます。- カート放棄のフォローアップ: カートの内容と金額に言及し、商品に関する質問に答え、割引コードを適用して、買い物客の購入完了を支援する通話をトリガーします。
- EMI と支払いのリマインダー: EMI の支払期日前や支払い失敗後に通話をトリガーし、顧客に支払額を知らせて支払い完了まで案内します。
- 更新とリテンション: サブスクリプションや保険契約の更新前に通話をトリガーし、顧客に特典をリマインドして、必要に応じてリテンション特典を提示します。
- 配達確認と注文の問題解決: 配達時間帯の確認、遅延の通知、注文に関する問題の対話的な解決を行う通話をトリガーします。
- ウィンバックのアウトリーチ: 離脱した顧客に対し、希望する言語でパーソナライズされたオファーを伝える会話型の通話をトリガーします。
前提条件
統合を設定するには、次のものを用意してください。
- Sarvam アカウント: 有効な Sarvam の組織とワークスペース。Organization ID と Workspace ID を控えておいてください。
- API キー: Sarvam ダッシュボードで生成したワークスペースの API キー。MoEngage からのリクエストの認証に使用されます。
- 公開済みの音声エージェント: ユースケースに合わせて Sarvam プラットフォーム上で構築・公開したエージェント。その App ID、App Version、およびエージェントが想定するエージェント変数の一覧(例:
customer_nameやcart_value)が必要です。 - 電話通信の接続: Sarvam ワークスペースで設定された電話通信プロバイダーの接続と、規制に準拠したアウトバウンド発信者番号。Connection ID と Agent Phone Number を控えておいてください。
- MoEngage 内のユーザーの電話番号: E.164 形式(例:
+919876543210)の携帯電話番号を保持するユーザー属性。
ステップ 1: Sarvam ワークスペースと音声エージェントを設定する
MoEngage でアプリを接続する前に、Sarvam ダッシュボードで次の手順を実行します。-
認証情報を生成する: Sarvam ワークスペースの設定で、Organization ID と Workspace ID を控え、API キーを生成します。これら 3 つの値は、MoEngage がトリガーするすべての通話の認証に使用されます。

-
電話通信を設定する: Sarvam のオンボーディングで、電話通信プロバイダーを接続し、顧客に表示されるアウトバウンド発信者番号を登録します。これにより、次のステップで使用する Connection ID と Agent Phone Number が生成されます。

-
エージェントを構築して公開する: 会話設計、サポートする言語、反論への対応などを含め、ユースケースに合わせた音声エージェントを作成します。会話のパーソナライズに使用するエージェント変数(例:
customer_name、cart_value、discount_code、preferred_language)を定義します。公開すると App ID と App Version が生成されます。
各値の確認場所
MoEngage の接続フォームで求められるすべての値は、Sarvam ダッシュボードで確認できます。次の表は、各値の取得場所を示しています。
ステップ 2: MoEngage でアプリを接続する
App Marketplace で Sarvam を接続するには、次の手順を実行します。- MoEngage UI の左側のナビゲーションメニューで、App Marketplace をクリックします。
- App Marketplace ページで Sarvam を検索します。
- Sarvam タイルをクリックします。
- Sarvam ページで Integrate タブをクリックします。
- + Add integration をクリックします。
-
Connection details で、次の詳細を入力します。フォームでは、これらのフィールドが Authentication と Agent & Connection Configuration にグループ化されています。
-
Test をクリックして接続を検証します。

- 接続の詳細への変更が反映されるまでに最大 15 分かかります。
- 接続は 1 つのエージェント(App ID)と 1 つの発信者番号に紐づけられます。別のエージェント(たとえば、カート回復エージェントとは別の EMI リマインダーエージェント)でキャンペーンを実行するには、そのエージェントの詳細を使用して追加の接続を作成してください。
ステップ 3: キャンペーンを設定する
Sarvam のアウトバウンド音声通話キャンペーンを作成するには、次の手順を実行します。- MoEngage UI の左側のナビゲーションメニューで Engage をクリックし、次に Campaigns をクリックします。
- All campaigns ページで + Create campaign をクリックします。
- Create campaign ダイアログボックスの Connected Apps で Sarvam をクリックし、最も適した配信タイプをクリックします。
-
ステップ 1(Target users)で、オーディエンスを選択し、トリガーイベントを定義します(例: 30 分の遅延を設定した
cart_abandoned、有効な携帯電話番号を持つユーザーに限定)。 - ステップ 2(Content)で、コネクター(Make Outbound Call)と作成した接続を選択します。
-
Content で、次のフィールドを設定します。

- ステップ 3(Schedule and Goals)で、エンゲージメントポリシーに従って、DND 時間や頻度上限などの配信制御を設定します。
- キャンペーンを公開します。
公開済みエージェントが想定するすべてのエージェント変数をマッピングしてください。マッピングされていない変数は、エージェントのデフォルト値にフォールバックします。空の値は空白のコンテキストとしてエージェントに渡されるため、
@ で入力した属性名が、値が入力されたユーザー属性またはイベント属性に解決されることを確認してください。ステップ 4: テストと検証
統合が想定どおりに動作することを確認するには、次の手順を実行します。- Sarvam アプリの Integrate タブで、作成した接続の Test をクリックします。テストが成功すると、API Key、Organization ID、Workspace ID が Sarvam ワークスペースに正しく解決されることが確認できます。
-
キャンペーンの Content ステップの Test Campaign セクションで、Email ID などの識別子タイプを選択し、自分が管理する携帯電話番号を持つテストユーザーの識別子を入力して、Test をクリックします。

-
リクエストが
attempt_idとともに HTTP 200 を返すことを確認します。これは、MoEngage のリクエストが受け付けられ、電話が発信されていることを意味します。 - 電話に出て、会話を確認します。エージェントは、設定した Initial Language で、パーソナライズされた Initial Bot Message から会話を開始し、名前、カートの金額、割引コードなどのマッピングされたエージェント変数に言及します。
- 通話終了後、設定した Callback URL に結果が配信されたことを確認します。
- 結果がカスタムイベントとして MoEngage に書き戻される場合は、そのイベントがテストユーザーのアクティビティタイムラインに表示され、ジャーニーの条件やコンバージョンゴールで使用できることを確認します。
connected、no_answer、busy、failed)、通話時間、会話中に取得された final_agent_variables、トランスクリプトと録音を取得するための interaction_id、および設定した Callback Details が含まれます。Callback Details はそのまま返されるため、結果を MoEngage のユーザーと関連付けることができます。結果を voice_call_outcome などのカスタムイベントとして書き戻すには、Track Event API を使用します。
通話結果とジャーニーオーケストレーション
完了した各通話では、通話がつながったかどうか、通話時間、失敗した理由、エージェントが取得したデータを示す結果が生成されます。これらの結果をイベントとして MoEngage に取り込むと、それに基づいてジャーニーを分岐させることができます。たとえば、通話がつながり購入意欲が高い場合は割引 SMS を抑制し、通話に応答がなかった場合は WhatsApp にフォールバックできます。 各リクエストでは発信が 1 回だけ試行されるため、再試行は MoEngage でオーケストレーションします。結果イベントに基づいて分岐する Flow を構築します。voice_call_outcome の status が no_answer または busy の場合は、一定時間待機してから再度通話アクションをトリガーします。試行回数を制限するには、頻度上限またはフローの終了条件を使用します。
リファレンス: Sarvam が送信する結果 Webhook
通話完了後、Sarvam はキャンペーンで設定された Callback URL に POST を 1 回送信します。正式なスキーマについては、Sarvam API リファレンスの Webhook Payload ページを参照してください。 この結果の配信先は次から選択できます。- MoEngage へ: MoEngage で結果を受信するには、MoEngage サポートに連絡して、Connected Sources を利用した専用エンドポイントを取得してください。そのエンドポイントをキャンペーンの Callback URL として入力します。
- 独自のエンドポイントへ: 自社のシステムで結果を処理するには、HTTPS エンドポイントをキャンペーンの Callback URL として入力します。
Outcome Webhook Payload
status は connected、no_answer、busy、failed のいずれかです。duration フィールドの単位は秒で、通話がつながらなかった場合、duration、interaction_id、final_agent_variables、interaction_transcript は null になります。
結果を MoEngage のイベントにマッピングする際には、次のフィールドが特に重要です。
Webhook のペイロードにはイベントのタイムスタンプが含まれません。結果を MoEngage の Data API に転送する際は、取り込み時に ISO 8601 形式で
current_time を付与してください。トラブルシューティング
次の表は、よくある問題とその解決方法を示しています。よくある質問
1 つの MoEngage ワークスペースで複数の Sarvam エージェントを使用できますか?
1 つの MoEngage ワークスペースで複数の Sarvam エージェントを使用できますか?
はい。各接続は 1 つのエージェントと 1 つの発信者番号に紐づけられるため、エージェントごとに 1 つの接続(例: Sarvam Cart Recovery と Sarvam EMI Reminder)を作成し、各キャンペーンの作成時に適切な接続を選択してください。
どの言語がサポートされていますか?
どの言語がサポートされていますか?
通話で利用できる言語は、Sarvam プラットフォーム上の公開済みエージェントの設定によって定義されます。Initial Language で開始言語を選択し、顧客がエージェントのサポートする別の言語で応答した場合、エージェントは通話中に言語を切り替えることができます。
MoEngage の配信制御は音声にも適用されますか?
MoEngage の配信制御は音声にも適用されますか?
はい。リクエストを送信するタイミングは MoEngage が決定するため、DND 時間、頻度上限、クワイエットアワー、セグメント除外などのキャンペーンレベルの制御はすべて、Sarvam がトリガーされる前に適用されます。Sarvam はリクエストを受信するとすぐに電話を発信するため、通話時間帯のポリシーは MoEngage 側で設定してください。
Sarvam は応答のなかった通話を再試行しますか?
Sarvam は応答のなかった通話を再試行しますか?
いいえ。すべてのキャンペーンタイプで、1 つのリクエストにつき 1 回の通話試行が行われ、
no_answer や busy を含む結果が Webhook で報告されます。再試行は、通話結果とジャーニーオーケストレーションの説明に従って MoEngage Flow でオーケストレーションしてください。