メインコンテンツにスキップ

Fin VoiceをAmazon Connectと通話転送で統合する方法

PSTN通話転送を使ってFin VoiceをAmazon Connectに接続し、AIで顧客の質問に即時対応する方法を学びましょう。

対応者:Dawn

注意: Fin Voiceは現在、当社の営業チームと提携している一部のお客様のみが利用可能です。米国、EU、オーストラリアでホストされているワークスペースでサポートされています。料金について詳しく知りたい場合は、アカウントマネージャーにお問い合わせください。Fin Voiceをより広く提供できるよう努めております。

このガイドでは、Fin VoiceをAmazonアカウントに接続する方法を説明します。これらの手順に従うことで、Help Centerのコンテンツを使って顧客の電話に即時対応し、複雑な問題はAI生成の要約と書き起こしと共に人間のチームにスムーズに引き継ぐことができます。

プロのヒント: この統合はIntercom APIを使用しています。Amazon Connect Flow Designerでのスクリプト設定には、技術担当者や開発者の支援をお勧めします。


統合の仕組み

この統合は公衆交換電話網(PSTN)の転送を使ってAmazonとIntercom間の通話をルーティングします。

  1. Amazon → Fin Voice: Amazonは着信通話をIntercomで購入した専用のFin Voice番号に転送します。

  2. Fin Voiceの解決: FinはHelp Centerを使って即時に問題を解決します。

  3. Fin Voice → Amazon: Finが通話を解決できない場合、専用のAmazonエスカレーション番号に発信者を転送します。

  4. コンテキスト転送: Amazon ConnectはFin Voice APIを使って通話の要約と書き起こしを取得し、チームメンバーに提供します。

重要: この統合はAmazon Connect、Lambda、Fin Voiceが特定の順序で接続されている場合にのみ機能します。この順序から外れると無音で通話が切断されます

  • 転送前にLambdaを実行する必要があります: 転送ブロックの前にLambdaでインテントを登録する必要があります。

  • 遅延が必要です: 転送ブロックの直前に短い遅延(プロンプト再生)を設ける必要があります。

  • パスは一つだけ: 転送ブロックには成功パスが正確に一つ必要です。

  • 発信者ID: 有効なE.164電話番号でなければなりません。手動設定と動的設定を混在させてはいけません。


開始前に

以下の要件を満たしていることを確認してください。

要件

説明

Fin Voice

Fin Voiceが有効で、米国、EU、またはAU地域でホストされていること。

管理者アクセス

IntercomとAmazonの両方でルーティングとAPIトークンを管理するために必要です。

Knowledge Base

Finが参照するための最新のHelp Centerコンテンツ。

Intercomアクセス トークン

Lambda関数スクリプトの認証に有効なアクセストークン(APIキー)が必要です。

AWS環境

Lambda関数とコンタクトフローを作成する権限を持つアクティブなAmazon Connectインスタンス。


1. Fin Voiceをテストする

本番稼働前に、Voice Testingタブでブラウザ上で通話をシミュレートしてください。

  1. 再生をクリックして話し始めると、Finの応答が聞こえます。

  2. 設定(右上)で声を切り替えたり、挨拶やエスカレーションルールのプレビューができます。


2. Fin Voice回線を作成する

テストから本番回線に移行するには、Intercom内で専用番号を購入する必要があります。

  1. + 新しい回線をクリックします。

  2. 外部プロバイダーを選択し、次へをクリックします。

  3. 回線名を入力し、電話番号から(PSTN)を選択して、次へをクリックします。

  4. 米国のローカル番号を取得するには、購入をクリックします。


3. 録音と動作の設定

コンテキストツールを有効にする

AI部分の通話内容をチームメンバーが確認できるように、グローバル設定を有効にします。

  1. 録音を有効にする書き起こし、および通話書き起こしの要約をオンにします。

  2. Fin AI Agent > Deploy > Voice > Set Fin liveセクションに戻り、ここからFinの動作を調整できます。

  • 営業時間: Finが応答する時間を定義します(デフォルトは24時間365日)。

  • 音声と言語: ブランドに合った声を選択してください。

  • サポートコンテンツ: Finが参照すべきHelp Centerの記事を選択してください。

  • CSAT: 解決済みの通話に対してキーパッド評価(1~5)を有効にします。


4. Lambda関数を作成する

AWSでLambda関数を作成し、Fin Voiceに通話を登録する必要があります。この関数は転送に必要なfin_intent_idを返します。

  1. AWSコンソールでLambdaに移動し、関数の作成をクリックします。

  2. 一から作成を選択します。

  3. 関数名を入力します(例:intent_to_use_fin)。

  4. ランタイムNode.js 18.x(またはそれ以上)を選択します。

  5. 設定 > 環境変数で、新しい変数を追加します。

    • キー: INTERCOM_TOKEN

    • 値: 実際のIntercomアクセス・トークンを入力してください。

  6. コードに以下のスクリプトを貼り付けます。これは通話の詳細をIntercomのAPIに送信し、転送に必要なfin_intent_idを返します。


export const handler = async (event) => {
const contactId = event?.Details?.ContactData?.ContactId;
const phoneNumber = event?.Details?.ContactData?.CustomerEndpoint?.Address;

if (!contactId || !phoneNumber) {
throw new Error("Missing contactId or phoneNumber");
}

const token = process.env.INTERCOM_TOKEN;
if (!token) throw new Error("Missing INTERCOM_TOKEN");

const response = await fetch("https://api.intercom.io/fin_voice/register", {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Intercom-Version": "Unstable",
"Content-Type": "application/json",
},
body: JSON.stringify({
call_id: contactId,
phone_number: phoneNumber,
}),
});

const text = await response.text();
if (!response.ok) {
throw new Error(`Intercom ${response.status}: ${text}`);
}

const data = JSON.parse(text);

return {
fin_intent_id: String(data.id),
customer_phone: phoneNumber,
};
};

ヒント: 次のステップでLambda呼び出しが静かに失敗する場合は、AWSコンソールのAmazon ConnectインスタンスにLambda関数を追加しているか確認してください(Amazon Connect > インスタンス > [あなたのインスタンス] > コンタクトフロー > AWS Lambda)。


5. Amazon Connectフローを設定する

Lambda関数が準備できたら、Amazon Connectフローに追加してハンドオフを処理します。通話失敗を避けるためにコンタクトフローを特定の順序で配線する必要があります。

標準フロー

フローは以下の正確な順序に従う必要があります。

  1. 開始

  2. 挨拶を再生

  3. AWS Lambda関数を呼び出す(同期)

  4. プロンプトを再生(短い遅延)

  5. 電話番号に転送

  6. フロー終了

ステップバイステップの設定

  1. AWS Lambda関数呼び出しブロックを追加

    • 関数ARN: ステップ4で作成したLambda関数を選択します。

    • タイムアウト: 8秒に設定します。

    • レスポンス検証: 文字列マップを選択します。

  2. プロンプト再生ブロックを追加(必須遅延) Fin Voiceは早すぎるDTMF信号を無視します。転送直前に遅延を追加する必要があります。

    • プロンプトを再生ブロックを追加します。

    • テキスト読み上げを選択し、「少々お待ちください。」のような短いフレーズを入力します。

  3. 電話番号に転送ブロックを追加 このブロックは通話をFinに引き継ぎます。

    • 転送先: 手動設定を選択します。

    • 国コード: 国を選択します(例:アメリカ合衆国 +1)。

    • 電話番号: ステップ2で購入した専用のFin Voice番号を入力します。

    • 切断後にフローを再開: いいえに設定します。

    • DTMF送信: このボックスにチェックを入れます。

      • 動的に設定を選択します。

      • 名前空間: External

      • キー: fin_intent_id

    • 発信者ID番号: 手動設定を選択し、Connectインスタンスで検証済みの番号を選びます。

重要: 手動番号を選択した場合は、発信者IDに「動的に設定」を使用しないでください。これらの方法を混在させると転送が失敗します。


6. Fin後のルーティングを処理する

Finが通話をAmazon Connectに戻す場合(例:人間のエージェント用)、会話の詳細を取得するために2つ目のLambda関数を使用できます。

  1. 以下のコードを使って新しいLambda関数を作成します。

  2. 電話番号に転送ブロックの後(「フロー再開」を有効にした場合は「成功」ブランチ)に追加します。


export const handler = async (event) => {
const phoneNumber = event?.Details?.ContactData?.CustomerEndpoint?.Address;

const response = await fetch(
`https://api.intercom.io/fin_voice/phone_number/${phoneNumber}`,
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.INTERCOM_TOKEN}`,
"Intercom-Version": "Unstable",
Accept: "application/json",
},
}
);

if (!response.ok) {
throw new Error("Failed to retrieve Fin Voice call state");
}

const data = await response.json();
return {
status: data.status,
intercom_conversation_id: data.intercom_conversation_id,
call_summary: data.call_summary,
};
};


7. Connect UIに会話の要約を追加する

チームメンバーが通話を受ける際にAI生成の要約を見られるよう、Amazon Connectでビューを設定する必要があります。

ビューを作成する

  1. Amazon Connectのビューインターフェースに移動し、ビューの作成をクリックします。

  2. Attribute Bar コンポーネントを検索して選択します。

  3. 属性バーのプロパティを設定します:

    • ラベル:「Conversation Summary」に設定します。

    • 値:$.conversation_summaryに設定します。

ビューのフローを作成します

  1. このビューを顧客またはチームメイトに表示する新しいFlowを作成します。

  2. フローにShow Viewブロックを追加します。

  3. Viewプロパティを前のステップで作成したビューに設定します。

  4. Timeout手動設定にし、5分(または希望の時間)を入力します。

  5. conversation_summaryの下で、動的に設定を選択します:

    • Namespace:External

    • Key:conversation_summary

フローをエージェントに接続します

  1. 元のIVRフロー(転送を設定した場所)に戻ります。

  2. Transfer to queueブロック(通話がチームメイトにルーティングされる場所)の前に、Set event flowブロックを追加します。

  3. ブロックの設定を構成します:

    • イベントを選択:Agent UIのデフォルトフロー。

    • フローを選択:先ほど作成した「Show View」フローを選択します。

  4. このブロックをTransfer to queueブロックに接続します。

この設定により、通話が転送されると、チームメイトはFinからのデータで埋められた「Conversation Summary」バーを表示します。

こちらの回答で解決しましたか?