エンゲージメントデータの統合
Justin Steinberg 著
概要
Zoom Contact Centerは、通話録音、文字起こし、エージェントのメモ、処理結果(ディスポジション)など、各顧客対応ごとに貴重なエンゲージメントデータを生成します。Zoom Contact Centerを使用して、統合された顧客ビューを作成したり、効果的なエージェントコーチングを実施したり、コンプライアンス要件を満たしたりするために、エンゲージメントデータを外部システム(例:CRMやその他の記録システム)に保存する方法については、引き続きお読みください。
エージェントの作業をより効率的にする方法に基づいて、最適なアプローチを選べるように、さまざまな統合方法を分解して説明します。
最適な方法は主に次の1つの重要な要素によります: エージェントが対応を行っているアプリケーション. 当面で取り上げる2つの選択肢は次のとおりです:
CRM内で標準提供のZCC CRM CTIコネクタを使用するエージェント。
Zoom Workplaceアプリで作業するエージェント(ZCCのAPIとWebhookを用いたカスタムソリューションが必要)。
標準提供のCRM CTIコネクタによる統合(Out-of-the-Box CRM CTI Connector)
これは最も簡単な方法です。エージェントがZCC CRM CTIコネクタを使用している場合、多くのエンゲージメントデータはZoomプラットフォームと適切なCRMの間で自動的に同期できます。
仕組み
CTIコネクタはZCCのエージェントインターフェースをCRMに直接埋め込みます。エンゲージメントが終了すると、録音、文字起こし、メモ、ディスポジションなどのデータが自動的にZoom内に保存され、CRM内の該当レコード(例:チケットや連絡先)にリンクされます。
設定要件
ZoomとCRM間でデータ同期を可能にする機能は「標準で提供」されていますが、ZCC管理ポータル内で有効化が必要です。
以下の手順を完了してください:
ZCC管理ポータルで有効化する
管理者としてZoom管理ポータルにログインし、Contact Center Management > Integrations > Applicationsに移動します。
該当するCRM統合を見つけ、CRMへのデータ保存を許可するために適切な設定を有効にします。
CRMの権限
次を確認して従ってください CRM統合セットアップガイド CRM統合用ユーザーがすべての関連オブジェクトに対して必要な書き込み権限を持っていることを検証するための手順です。
サポートされるCRMプラットフォーム
この機能は、エージェントが以下のCRMを使用している場合にZCC CRM CTIコネクタを通じて利用できます:
Salesforce
Zendesk
ServiceNow
Microsoft Dynamics
HubSpot
CRM CTIコネクタを使用する場合、特別な構成は不要で、統合はデフォルトでエンゲージメントデータをCRMに保存します。
APIによるカスタム統合
エージェントがネイティブのZoom WorkplaceアプリまたはZCC Smart Embedを使用している場合、エンゲージメントデータを転送するにはカスタムソリューションが必要です。主な方法はZoom Contact CenterのAPIを使用することです。
API経由でエンゲージメントデータにアクセスする主なアプローチは2つあります:
ポーリング: 新しいエンゲージメントデータが利用可能かどうかを定期的にZoom APIに問い合わせます。
Webhook: 文字起こしが準備でき次第、Zoomからリアルタイム通知を受け取ります。
また、第三のアプローチとして、 フローイベント統合(Flow Events integration)があり、特定のデータタイプで機能します。
Zoom Contact Center APIのポーリング
エンゲージメントデータをダウンロードするには、適切なZCC APIエンドポイントを問い合わせる必要があります。データの種類ごとに異なるAPIから取得されるため、各関連エンドポイントごとにポーリングロジックを構築する必要がある点に注意してください。
録音メディアファイル
(音声およびビデオチャネル)
キュー録音を一覧表示(List Queue Recordings)
download_url
キューでの通話録音が有効になっている必要があります。
ボイスメールのメディアファイル
download_url
コンタクトセンターの受信トレイに残されたボイスメール用です。
ボイスメールの文字起こし
transcript_url
受信トレイでの文字起こしを有効にする必要があります。
警告
これらのZoom APIによって提供されるダウンロード用URL(download_url, transcript_url, playback_urlなど)は、 サポートされていませんが、将来的にサポートされる予定です。 公開リンクです。プログラムによるアクセスを想定しており、関連ファイルをダウンロードするにはAPI認証(例:Authorizationヘッダーのアクセストークン)が必要です。
これはつまり、
これらのURLをCRMにそのまま保存して、ユーザーがクリックできるようにすることはできません。ブラウザでユーザーがリンクをクリックしても認証されないため、ダウンロードは失敗します。
正しい方法は、バックエンドサービスがそのURLを使ってファイルを取得し、自社のシステム(例:Amazon S3、Azure Blob Storage、またはCRMのファイルストレージ)に保存し、そこからユーザーに安全なリンクを提供することです。
注意事項
処理遅延 — 音声およびビデオ録音:
このデータは通話終了直後に利用可能になるわけではありません。音声はまず処理およびアップロードされる必要があり、長時間の通話では数分かかることがあります。録音を取り逃がさないように、List recordings APIをポーリングする際に、 query_date_type パラメータを recording_end_time に設定してください。これにより、通話終了時ではなく処理が完了した時点に基づいてデータが取得されます。
Zoom Contact CenterのAPIの詳細については、こちらを参照してください: Contact Center APIs ドキュメント。
リアルタイムイベントにはWebhookを使用する
より即時のイベント駆動型アプローチとして、ZCCのWebhookを購読できます。これはほぼリアルタイムの統合において最も効率的な方法です。
仕組み
Zoom App Marketplaceで適切なイベントを購読します。
イベントが発生すると、ZoomはあなたのWebhook URL(またはWebsocket接続)へ通知を送信します。
イベントペイロードには、直接必要なデータが含まれているか、フォローアップAPI呼び出し用のURL/IDが含まれています。
エンゲージメントデータに関する一般的なWebhookイベント
音声/ビデオ録音: contact_center.recording_completed(提供されるのは
download_url)音声/ビデオのトランスクリプト: contact_center.recording_transcript_completed(提供されるのは
transcript_url)メッセージングのトランスクリプト: contact_center.engagement_messaging_transcript_completed(提供されるのは
transcript_url)注: contact_center.engagement_note_added(提供されるのは
noteフィールドにノートデータが含まれる)ディスポジション: contact_center.engagement_disposition_added(提供されるのは
disposition_nameフィールドにディスポジションデータが含まれる)
注意事項
複数のイベントに注意: この
note_addedおよびdisposition_addedこれらのイベントは単一のエンゲージメントに対して複数回発火することがあります(例:エージェントが複数のノートを保存した場合や通話が転送された場合)。あなたのアプリケーションロジックはこれに対応できる必要があります。冗長性を組み込む: イベント配信は常に100%保証されるわけではありません(例:エンドポイントやWebsocket接続が一時的にダウンする可能性があります)。
バックアップ戦略: 見逃したイベントを補足するために、ポーリングAPIを使用した夜間の照合スクリプトの実行を推奨します。
Zoom Contact CenterのWebhook/Websocketイベントに関する詳細は、こちらを参照してください: Contact Center Webhooks ドキュメント。
フローイベント統合(Flow Events Integration)
特定のデータタイプについては、ZCCのFlowエディタからJavaScriptイベントスクリプトを使ってデータを外部システムに直接プッシュできます。
サポートされるデータと制限:
ディスポジション: すべての着信エンゲージメントチャネルタイプで、
global_system.Engagement.disposition変数を使用してアクセスできます。トランスクリプト: トランスクリプトは着信のメッセージングエンゲージメント(例:Webチャット)でのみアクセス可能で、
global_system.Engagement.transcript変数を使用してアクセスできます。を使用します。 複数のフロー:
設定で複数のFlowを扱う場合、特にあるFlowがRouteTo
ウィジェットを使って別のFlowに接続する際には、同一のイベントスクリプトとトリガーがすべてのFlowで適切に構成されていることを確認することが重要です。
この方法は、トランスクリプトとディスポジションの両方を単一イベントでまとめて送信できるメッセージングフローにおいて最も強力です。
構成手順
フローを構成するために次の手順に従ってください:
イベントスクリプトを追加する
ZCCのFlow(例:Webチャットフロー)で、Startウィジェットをクリックします。

Event Scriptsを見つけ、Engagement ClosedやDisposition Savedなどのイベント用にイベントスクリプトを追加します。
カスタムJavaScriptを追加する
log.debug("トランスクリプトイベントスクリプトでエラーが発生しました: " + error);
要約と推奨事項
考慮すべき主要点:
サポートされるCRMでのZCC CTIコネクタ
組み込みの統合
最も簡単な方法
コード不要
エンゲージメントデータの同期が組み込まれている
Zoom WorkplaceアプリまたはSmart Embed
API Webhookと照合のための夜間ポーリングジョブ
最も堅牢なカスタムソリューション
ほぼリアルタイムのデータを提供し、信頼できるバックアッププロセスを備える
着信メッセージングフロー(データをプッシュする必要がある場合)
フローイベントスクリプト
ニッチだが強力
JavaScriptが必要
メッセージングのトランスクリプトとディスポジションの送信に最適です。 By understanding these different paths, you can build a robust and reliable integration that gives you a complete view of your customer interactions.
最終更新
役に立ちましたか?

