Salesforce Voice と NiCE CXone の統合

Agent Assist と NiCE CXone の Salesforce との統合のアーキテクチャ

この音声統合では、 NiCE CXone Agent for Service Cloud Voice(BYOT) Salesforce アプリを使用して、エージェントが Salesforce Service Cloud Voice で NiCE CXone の通話を受けられるようにします。

Agent Assist は、 NiCE CXone Agent Assist Hub からの音声通話ストリームを使用して、 Salesforce Lightning Service Consoleでエージェントに提案を行います。

始める前に

Agent Assist UI モジュールを Salesforce と統合するには、まず必要なリソースを設定する必要があります。

また、次のリソースにアクセスする必要があります。

ステップ 1: NiCE CXone Studio と NiCE CXone Agent Assist Hub を構成する

このステップでは、NiCE CXone インスタンスに必要なすべての構成について説明します。

NiCE CXone Studio で通話フローを構成する

このステップでは、 NiCE CXone Studio でプログラムによる通話フローを構成して、着信を通話エージェントに転送し、通話メディア ストリームを Agent Assist に送信します。次の NiCE CXone Studio のトリガーとアクションを使用して、この順序で通話フローを構成します。

  1. NiCE CXone コンソール にログインします。
  2. [アプリケーション] メニュー () を開きます。
  3. [オムニチャネル ルーティング] > [Studio] を開きます。
  4. [Studio] ページで、[新しいスクリプト] を作成します。

次の NiCE CXone Studio のトリガーとアクションを使用して、この通話フローを構成します。

  1. 開始: このトリガーは、 NiCE Point of Contact(POC) の電話番号に着信があったときに有効になります。
  2. Reqagent: このアクションは、指定されたスキルに通話を送信します。通話を受け取るエージェントに関連付けられたスキルを選択します。
  3. 音楽: このアクションは保留音を再生します。
  4. 待機: このアクションは、別のトリガーが有効になるまでフローを一時停止します。

同じ Studio フロー内で、エージェントが着信に応答したときの動作を個別に構成します。

  1. Onanswer: このトリガーは、スキル内のエージェントが応答したときに有効になります。
  2. Ziptone: NiCE CXone エージェント デスクトップ(NiCE CXone Agent for Service Cloud Voice(BYOT)ソフトフォンなど)でエージェントが電話に出ると、ビープ音が鳴ります。
  3. Agent Assist: このアクションは、会話の作成と、着信のメディア ストリームを Dialogflow に送信する役割を担います。これにより、 Agent Assist UI モジュール LWC は、Salesforce で文字起こしと Agent Assist の提案(PGKA、GKA、AI コーチングなど)を レンダリングできます。構成の詳細については、 この統合ドキュメント をご覧ください。注: この手順では、事前に構成された会話プロファイルが必要です。

アウトバウンド通話用に Agent Assist を構成することもできます。統合では、アウトバウンド通話に応答したときに Agent Assist アクションをトリガーする必要があります。具体的な実装は構成によって異なりますが、通常は、 **Placecall** アクションを使用して通話を開始し、 **Agent Assist** アクションを OnAnswer ブランチに接続することで、スクリプトで実現できます。Placecall詳細については、NiCE CXone Studio のヘルプ ドキュメントの PlacecallOnanswer、 および Agent Assist をご覧ください。

NiCE CXone アカウントの詳細をメモする

次の手順に沿って、NiCE CXone アカウントの詳細情報を収集します。この情報は、後で Salesforce で NiCE CXone Agent for Service Cloud Voice(BYOT)を構成する際に必要になります。

  • NiCE CXone コンソールで NiCE Business Unit 番号をメモします。Salesforce プロジェクト(次のステップでクローンを作成します)の ServiceCloudVoicePlatformService.js で、CONFIG.niceBusNo を NiCE Business Unit 番号を反映するように更新します。これにより、Agent Assist UI モジュール LWC は、NiCE CXone Agent Assist Hub が作成する conversationName を特定できます(詳細については、同じファイルの generateNiCEConversationName メソッドをご覧ください)。
  • NiCE CXone コンソールで NiCE Point of Contact(POC) の電話番号をメモします。これは、顧客がエージェントに電話をかける番号であり、この Agent Assist 統合をテストするために使用します。

ステップ 2: Salesforce 開発プロジェクトを設定する

Agent Assist UI モジュールの統合を開始する手順は次のとおりです。

  1. 次のコードを実行して、Agent Assist 統合リポジトリのクローンを作成し、プロジェクトを開きます。

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. 次のコマンドを実行して、後で 静的リソースとして デプロイする UI モジュールの JavaScript ファイルをダウンロードします。Salesforce では、サードパーティの JavaScript を読み込むために静的リソースが必要です。

    npm run generate-static-resources
    npm install
    
  3. 前のステップでメモしたNiCE Business Unit 番号ServiceCloudVoicePlatformService.js を更新します。

    const CONFIG = {
    // For this.platform = "servicecloudvoice-nice", the NiCE Business Unit Number
    // https://help.nicecxone.com/content/acd/businessunits/managebusinessunit.htm
    niceBusNo: 1234567 // Make sure this matches your NiCE CXone Business Unit Number.
    };
    

ステップ 3: Salesforce 環境を設定する

Agent Assist UI モジュールは、本番環境や開発環境などの特定の環境に統合できます。Salesforce では、これらの環境を 組織(org)と呼びます。

Salesforce CLI で組織を構成する

次の手順に沿って、Salesforce CLI を使用して、Agent Assist 統合用に組織を構成します。

  1. 次のコードを実行し、通常使用する Salesforce ログイン情報を使用して CLI を認証します。

    npm run login
    
  2. 次のコードを実行して、LWC を組織にデプロイします。

    npm run deploy
    

ステップ 4: 外部クライアント アプリを作成する

Salesforce LWC は、クライアント認証情報 OAuth 2.0 フローを使用して認証を行います。外部クライアント アプリを使用すると、クライアント認証情報フローを有効にできます。アプリのコンシューマ キーとコンシューマ シークレットを使用して Salesforce LWC を構成し、Salesforce でユーザーを認証します。

  1. [設定] > [設定] をクリックします。
  2. [クイック検索] ボックスに「外部クライアント アプリ マネージャー 」と入力します。
  3. [外部クライアント アプリ マネージャー] > [新しい外部クライアント アプリ] > [作成] をクリックし、次の情報を入力します。
    • 外部クライアント アプリ名: lwc auth
    • API 名: lwc_auth
    • 連絡先メールアドレス: your_email@example.com
    • API(OAuth 設定の有効化) > OAuth の有効化: 選択済み
    • API(OAuth 設定の有効化) > コールバック URL: https://login.salesforce.com/services/oauth2/callback
    • API(OAuth 設定の有効化)> 選択した OAuth スコープ: ID URL サービスにアクセスする
    • API(OAuth 設定の有効化)> クライアント認証情報フローを有効にする: 選択済み
  4. [作成] をクリックします。
  5. [設定] > [設定] をクリックします。
  6. [クイック検索] ボックスに「外部クライアント アプリ マネージャー 」と入力します。
  7. 外部クライアント アプリの名前 > [編集] をクリックします。
  8. [OAuth ポリシー] > [OAuth フローと外部クライアント アプリの機能強化] に移動します。
  9. [クライアント認証情報フローを有効にする] が選択されていることを確認します。
  10. [実行ユーザー] にログイン ユーザー名を入力します。
  11. [保存] をクリックします。
  12. [設定] > [設定] をクリックします。[クイック検索] ボックスに「外部クライアント アプリ マネージャー 」と入力します。
  13. 外部クライアント アプリの名前 > [編集] をクリックします。
  14. [OAuth 設定] > [アプリの設定] > [コンシューマ キーとコンシューマ シークレット] に移動します。
  15. メールで送信された確認コードを入力します。
  16. コンシューマ キーとコンシューマ シークレットを安全な場所にコピーします。これらは後のステップで必要になります。

CORS とコンテンツ セキュリティ ポリシーを確立する

  1. [設定] > [設定] をクリックします。
  2. [**クイック検索**] ボックスに「**CORS** 」と入力し、[**編集**] をクリックします。
    1. [OAuth エンドポイントの CORS を有効にする] を選択します。
    2. [保存] をクリックします。
  3. [設定] > [設定] をクリックします。
  4. [Quick Find] ボックスに「Trusted URLs」と入力し、[New Trusted URL] をクリックします。
  5. 次の情報を入力します。
    • API 名: ui_connector
    • URL: Agent Assist Integration Backend でデプロイした UI Connector Cloud Run Service エンドポイントの URL を入力します。この URL は Cloud Run コンソールで確認できます。例: https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app
    • CSP ディレクティブ: すべてのチェックボックスをオンにします。
    • [保存して新規] をクリックします。
  6. 次の情報を入力します。
    • API 名: ui_connector_wss
    • URL: Agent Assist Integration Backend でデプロイした UI Connector Cloud Run Service エンドポイントの URL を入力します。この URL は Cloud Run コンソールで確認できます。プロトコルを wss に変更します(WebSocket トラフィック用)。例: wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app
    • CSP ディレクティブ: すべてのチェックボックスをオンにします。
    • [保存して新規] をクリックします。
  7. 次の情報を入力します。
    • API 名: salesforce_domain
    • URL: 次の 形式で Salesforce ドメインの URL を入力します: https://YOUR_SUBDOMAIN.my.salesforce.com
    • CSP ディレクティブ: すべてのチェックボックスをオンにします。
    • [保存] をクリックします。

ステップ 5: NiCE CXone Agent for Service Cloud Voice(BYOT)をインストールする

Salesforce には、サードパーティのソフトフォンを Salesforce インスタンスと統合できるアドオン ライセンス Service Cloud Voice が用意されています。 NiCE CXone には、NiCE CXone Agent for Service Cloud Voice(BYOT) という Service Cloud Voice アドオンが用意されています。NiCE のドキュメントに沿って、SCV 対応の Salesforce インスタンスに NiCE CXone Agent for Service Cloud Voice(BYOT) を設定します。

ステップ 6: Salesforce Lightning Web Component をインストールする

次の手順に沿って、 Lightning Experience エディタ を使用して、新しい通話が着信したときに NiCE CXone Agent for Service Cloud Voice(BYOT)が開く連絡先ページに Salesforce Lightning Web Component を追加します。

  1. [サービス コンソール] に移動します。
  2. NiCE CXone Agent for Service Cloud Voice(BYOT)にログインします。
  3. ログインした NiCE アカウントに関連付けられている NiCE POC 番号に電話をかけます。
  4. 着信に応答します。これにより、新しい音声通話レコードタブが開きます。
  5. [設定] をクリックし、[ページの編集] を選択します。
  6. [テンプレート] > [変更] をクリックします。
    1. [ヘッダー] と [2 つの等しいリージョン] を選択します。
    2. [次へ] をクリックします。
    3. 各リージョンを新しいリージョンにマッピングします。
    4. [完了] をクリックします。
  7. [コンポーネント] リストから、agentAssistContainerModule をページにドラッグします。注: このコンポーネントは npm deploy コマンドで提供されます。
  8. 前のステップで配置したコンポーネントをクリックし、次のフォーム フィールドに入力して構成の詳細を追加します。
    • endpoint: Agent Integration Backend UI Connector の URL( Cloud Run コンソールの URL など): https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • channel: 統合が voice であることを示します。
    • platform: プラットフォームが servicecloudvoice-nice であることを示します。
    • conversationProfile: Agent Assist 会話プロファイル リソース名(例:projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID
    • consumerKey: ステップ 4 の外部クライアント アプリのコンシューマ キー。
    • consumerSecret: ステップ 4 の外部クライアント アプリのコンシューマ シークレット。
    • containerHeight: Agent Assist コンテナの高さ。

ステップ 7: 統合をテストする

Salesforce コールセンターへのテスト通話で音声統合をテストできます。

  1. サービス コンソールのオムニチャネル ウィジェットから NiCE CXone Agent for Service Cloud Voice(BYOT)にログインします。
  2. NiCE CXone POC 番号に電話をかけます。これは NiCE CXone コンソールで確認できます。
  3. サービス コンソールで着信に応答します。画面に新しい音声通話レコードが開きます。
  4. 音声通話レコードで、Salesforce Lightning Web Component がページに読み込まれます。
  5. 会話の両側をテストして、Agent Assist の文字起こしと機能が Agent Assist コンソールで会話プロファイルに構成したとおりに 動作していることを確認します。