Amazon Web Services ブログ

Amazon Connect ステップバイステップガイドのベストプラクティス

従来、コンタクトセンターのエージェントは、単純な顧客とのやりとりを処理するために、複数の独立したアプリケーションを必要としていました。これには例えば、コンタクトコントロールパネル、顧客プロファイル情報、ナレッジ記事、wiki などが含まれます。Amazon Connect エージェントワークスペースでは、コンタクトセンターのエージェントが顧客からの電話に効果的に対応するために必要なツールにアクセス可能な、統一されたエクスペリエンスを提供します。エージェントワークスペースでは、ステップバイステップガイドを使用することで、顧客とのやり取り中に取るべきステップに焦点を当てたカスタマイズされたビューをエージェントに提供することで、対話のスピードアップを支援します。他にも、エージェントが顧客のリクエストフォームに記入したり、コンタクトの最後に処理コードを入力したりするのに役立つガイドを使用して、エージェントワークスペースを簡単にカスタマイズできます。これらはすべて、Amazon Connect エージェントワークスペースと Amazon Connect Streams API を通じてネイティブに利用できます。

ガイドを最大限に活用するには、いくつかの考慮事項があります。ステップバイステップガイドで問題を解決するにはどのような場合が適しているでしょうか。ガイドを複数のユースケースで再利用できるようにするにはどうすればよいでしょうか。また、ガイドに関するセキュリティとコストの考慮事項にはどのようなものがあるでしょうか。このブログでは、ステップバイステップガイドを使用して作業するためのベストプラクティスをいくつか学びます。これらの質問への回答に役立つように、概念レベルと実践レベルの両方からこれらの質問について見ていきます。

:ステップバイステップガイドを使い始めるための例を探しているだけなら、GitHub のステップバイステップガイドモジュールライブラリをチェックしてください!

エージェントワークスペースでステップバイステップガイドの例

ステップバイステップガイドの概念的なフレームワーク

ガイドを効果的に構築するには、ステップバイステップガイドについて考えるための明確な概念フレームワークが必要です。ステップバイステップガイドのコア機能として、コンタクトセンター管理者は定義済みのビューを使用してシンプルなユーザーインターフェイス(UI)を作成できます。ビューは、エージェントがプロセスを進める際に役立つビジュアルコンテナと考えてください。使用可能なビューには、フォームを作成するためのフォームビューや、アクションをトリガーするボタン付きのコンテンツカードを表示するカードビューがあります。これは、一般的なシナリオでエージェントに役立つガイドを作成するのに役立ちます。例えば、新しいアカウントの作成、払い戻しへの取り組み、問題のトラブルシューティングなどです。ガイドはフロー内に実装されるため、さらに多くのことができるようになります。Amazon Connect では、フローがコンタクトセンターに着信したコンタクトの処理方法を定義します。これには、ルーティング方法、発信者が受け取るプロンプト、エージェントが電話を受け付けたときにエージェントに表示されるステップバイステップガイドなどがあります。ステップバイステップガイドを作成する場合、フローデザイナーの力を最大限に引き出すことができます。

例えば、フロー内で AWS Lambda 関数を呼び出すステップバイステップガイドを有効にすると、エージェントはエージェントワークスペースを離れることなく、自動化されたバックエンドプロセスを開始できます。ここで、コンタクトセンターのエージェントが通話中に顧客関係管理システム(CRM)に新しいエントリを作成する必要があるとしましょう。以前は、これはエージェントワークスペースを離れ、CRMに連絡先情報を手動で入力する必要がありました。このアプローチでは、エージェントが複数のウィンドウを操作する必要があるため、情報を間違って入力する余地が残り、エージェントの認知的負荷が高まります。ステップバイステップガイドは異なるアプローチを提供します。

フォームビューを使用すると、エージェントが既存のエージェントワークスペース内に新しい CRM エントリを作成するためのステップバイステップガイドを作成できます。コンタクト属性を使用して、顧客の名前や電話番号などの関連情報をフォームに事前に入力します。エージェントがフォームを送信すると、AWS Lambda 関数を呼び出して、エージェントから提供された値を使用して実際の CRM レコードを作成できます。これにはいくつかの利点があります。

  • エージェントは複数のウィンドウを操作する必要はありません。すべてがエージェントワークスペースにあり、一貫したスタイルになっています。
  • コンタクト属性や Amazon Connect Customer Profiles などの機能を使用してフォームの値を事前に入力できるため、情報を間違って入力する数が減ります。
  • バックエンドシステムは、エージェントエクスペリエンスから切り離されて抽象化されています。エージェントは、CRMシステムの仕組みや時間の経過に伴う変化について心配する必要がなくなります。ステップバイステップガイドにより、一貫したエージェントエクスペリエンスが保証され、CRM システムとの統合は Lambda 関数にオフロードされます。
  • エージェントがバックエンドシステムと直接やり取りしなくなるため、セキュリティ上の問題が発生する可能性が低くなります。ステップバイステップガイドを使用すると、Lambda 関数を経由することで、エージェントへ CRM 自体へのアクセスを明示的に許可しなくても、新しいエントリを CRM に記録できます。これにより、コンタクトセンターの全体的な攻撃対象領域が減少します。

名前が示すように、ステップバイステップガイドを使用してエージェントに一般的なシナリオへのガイドを提供できますが、それ以外にもさらに様々な可能性があります。ステップバイステップガイドを AWS Lambda 関数と組み合わせることで、エージェントがイベントをトリガーするための簡単な UI を作成できます。これらのUIは、エージェントに関連情報を表示したり、スクリプトを提供したりするだけの場合もありますが、エージェントが複数のアプリケーションを操作したり、複雑な自動化プロセスを開始したりするための統合された画面を簡単に提供することもできます。

再利用可能で拡張可能なガイドの作成

ガイドの概念を理解したところで、次はビジネス価値を提供するためにガイドを効果的に構築する方法を検討する必要があります。ステップバイステップガイドを最初に作成するときに、エージェントが完了するまでに多くのステップを必要とするユースケースに取り組もうとすると、圧倒されがちです。もちろん、すぐに特定のユースケースの解決に取り掛かることは可能です。しかし、時間をかけて再利用可能で拡張可能な小さなガイドを作成しておくと、反復処理が速くなり、古いガイドをより適切に管理できるようになります。再利用性と拡張性という用語はソフトウェアエンジニアリングの分野に由来しますが、ステップバイステップガイドの作成方法にも同じように当てはまります。

  • 再利用性: 大きなガイドを 1 つ作るのではなく、ガイドを小さなモジュールに分割し、組み合わせて再利用できるようにしてください。
  • 拡張性: 将来、ガイドを簡単に更新および編集できるようにする必要があります。別のユースケースを満たすためにほんの少しの調整だけで済むようにガイドを設計できるでしょうか。 別のステップを導入したり、追加情報を要求する必要がある場合、ガイドはどのように変わるでしょうか。

例えば、顧客から送信された払い戻しリクエストについて、テンプレートを使ってエージェントに顧客向けのメールを送信させたいとします。メールの構造は常に同じですが、注文番号、返金額、支払いアカウントなどの具体的な値はメールごとに異なります。エージェントはこれらを直接入力する必要があります。このユースケースに対応するガイドを作成する方法はいくつかあります。

  • メールテンプレートごとにガイドを含む新しいフローを作成する。
  • 送信する必要のある特定のメールに応じて、さまざまなパスを含む 1 つの大きなガイドを作成する。

どちらも有効なアプローチです。ただし、再利用可能で拡張可能なアプローチを採用することで、開発と将来のメンテナンスがスムーズになります。次のステップは、この考え方を取り入れるのに役立ちます。

  1. 実行する必要のある各ステップに基づいて、問題をモジュールに分割する。
    • エージェントは、テンプレートのリストから「返金メール」テンプレートを選択します。
    • エージェントは、メールテンプレートの各項目に顧客固有の値を入力します。
    • エージェントがデータを入力したら、メールテンプレートに値を埋め込んでメールを送信します
  2. モジュールごとに、どのような情報と機能が必要かを検討する。
    • 1 つ目のモジュールでは、使用可能なメールテンプレートのリストと、その中から 1 つを選択できる必要があります。
    • 2 つ目のモジュールでは、選択したメールテンプレートと、そのテンプレートを完成させるために必要なさまざまなフィールドを把握する必要があります。エージェントは、これらの各フィールドに値を入力できる必要があります。
    • 3 つ目のモジュールでは、メールテンプレートとエージェントが入力する値を知っておく必要があります。エージェントには、テンプレートからメールの作成をトリガーし、メールの送信を確認する機能が必要です。
  3. モジュールごとに、何が変更されず、何が将来変更される可能性があるかを検討する。
    • メールテンプレートのリストは変更される場合がありますが、エージェントは常にリストから選択する必要があります。
    • メールテンプレートに必要なフィールドは変更される場合がありますが、エージェントは常にこれらの値を入力するか、事前入力された値を再確認する必要があります。
    • このメールを送信するバックエンドのメカニズムは変更される可能性がありますが、エージェントは常にメールの作成をトリガーして、メールの送信を確認する必要があります。
  4. 将来の開発の可能性を考慮して、各モジュールを他のモジュールと切り離して構築する。
    • 1 つ目のモジュールでは、「詳細ビュー」のアクションセクションを使用して、メールテンプレートごとにボタンを作成できます。これを将来拡張するには、別のボタンを追加するだけで済みます。
    • 2 つ目のモジュールでは、「フォームビュー」を使用してエージェントの入力を取得できます。最初はそれぞれのメールテンプレートに対応した「ビューを表示」ブロックを用意することもできますが、複雑さが増すにつれて、AWS Lambda 関数を使用して JSON オブジェクトを作成し、それを 1 つの「ビューを表示」ブロックに動的に渡すように切り替えることができます。AWS Lambda 関数を利用すると、フォームビューを柔軟に構築でき、再利用や拡張が容易になります。「ビューを表示」ブロックを 1 つだけにすることで、フローが読みやすくなります。
    • 3 つ目のモジュールでは、AWS Lambda 関数の呼出と、E メール送信後に「確認ページビュー」を表示する必要があります。フォームビューで生成した「フォームデータ」全体を Lambda 関数にわたすことができます。その後、Lambda 関数は E メールを生成して送信します。このアプローチは、必要に応じて Lambda 関数による追加処理が可能なため、拡張可能です。また、どのメールテンプレートにも依存しないため、再利用可能です。

各モジュールを作成したら、どのようなアクションが選択されたかのチェックや、Lambda 関数のレスポンスの適切な処理などを追加し、各モジュールを接続することで最終的なフローを作成できます。

再利用性と将来的な拡張性に焦点を当てることで、ステップバイステップガイドを構築するためのモジュールセットが得られ、重複作業が最小限に抑えられます。例えば、これらのモジュールを簡単に再利用して、顧客にテキスト通知を送信できます。変更する必要があるのは、フォームで収集される入力の種類と、通知を送信するための Lambda 関数だけです。これらのモジュールを再利用して、エージェントがデータベースにエントリを記録するなどのバックエンドタスクを実行できるようにすることもできます。

ステップバイステップガイド用の再利用可能で拡張可能なモジュールの構築済みサンプルが必要な場合は、パブリックモジュールライブラリを確認してください。また、フローモジュールについて詳しく学んで、ガイドをモジュール化してさらに再利用できるようにする方法を理解することをお勧めします。

開発を素早く進める

設計段階では、再利用可能で拡張可能なステップバイステップガイドを設計することに重点が置かれます。実際にガイドとフローを作成する際に、検討をするべきことがあります。具体的には、開発者ツールや既存のガイドを活用して新しいガイドを迅速に作成することです。

おそらく、ステップバイステップガイドを作成する上で最も難しいのは、JSON フォーマットが正しいことを確認することです。これらのガイドには大きくて複雑な JSON オブジェクトが含まれている場合があるため、構文エラーを避けるために作成するときは特に注意が必要です。これを行う主な方法は次の 2 つです。

  • ゼロから始めないでください。既存の JSON オブジェクトをコピーし、新しい「ビュータブ」を使用してガイドを構築します。
  • JSON 形式のコードエディターを使用してトラブルシューティングを行い、ビューを完成させます。

Amazon Connect ステップバイステップガイドのための新しいビュータブの画像

「ビューを表示」ブロックの他に、フローセクションにビューという新しいタブがあり、ガイドを視覚的にデザインするのに役立ちます。ビュータブを使用するには:

  1. Amazon Connect インスタンスで、ルーティング > フロー をクリックします。
  2. フローページで、上部のビュータブをクリックします。モジュールタブの横にあります。
  3. このタブで、使用可能なすべてのビューの例が確認できます。
  4. サンプルビューのいずれかをクリックします。
  5. ビューは左側に表示され、基になる JSON 定義を更新するためのわかりやすいインターフェイスが右側に表示されます。

ビュータブを使用すると、見つけにくいフォーマットエラーを回避できます。また、ビューをカスタマイズするために使用できるさまざまなオプションについても理解できます。ビューを視覚的にデザインし終えたら、未加工の JSON 定義を「ビューを表示」ブロックにコピーできます。これを実行するには:

  1. ページの右側にある未加工データタブをクリックします。
  2. 基になる JSON 定義をコピーします。
  3. 各 JSON 定義を 「ビューを表示」ブロック内の対応するパラメータに貼り付けます。

ビュータブから始めるのが最適ですが、JSON 定義に慣れてくると、以前のスニペットをつなぎ合わせて直接編集するほうが速いかもしれません。ここでは、コードエディターを使用して JSON を人にわかりやすい方法でフォーマットすることをおすすめします。最新のコードエディターの多くには、JSON 構文の強調表示と自動フォーマットのサポートが組み込まれています。ビュータブから未加工のデータをコードエディターにコピーして自動フォーマットすると、JSON がすぐに読みやすくなり、構造をよりよく理解してビューを拡張できます。

最後に、すべてのステップバイステップガイドはフローの一部であることを覚えておいてください。つまり、他のフローブロックと同じようにコピーして貼り付けることができます。再利用性の原則に従って、ステップバイステップガイドを作成する前に少し時間を取って、以前のガイドを再利用できるかどうかを確認してください。変更が小さい場合は、あるフローから別のフローにブロック全体をコピーして、フローエディター内での微調整が可能です。

セキュリティガイド

ステップバイステップガイドで「ボタン」を使用すると、エージェントは AWS Lambda 関数を介してバックエンドシステムを操作できます。これによりエージェントの生産性が向上しますが、コンタクトセンターが円滑に機能し、顧客データを保護するためには、セキュリティ上の影響を考慮することが重要です。

ここで考慮すべき主な事項は、次の 2 つです。

  1. ステップバイステップガイドとトリガーされる AWS Lambda 関数を設計するときは、常に最小権限の原則に従ってください。
  2. クライアントから提供されたデータを必ず検証してください。

最小権限の原則に従うことで、誤ってユーザーにデータへの不必要なアクセス権を与えることがなくなります。Amazon Connect では、セキュリティプロファイルを使用してステップバイステップガイドへの幅広いアクセス制御を行います。ただし、セキュリティプロファイルを利用しても、特定のステップバイステップガイドへのアクセスは制限できません。このため、ガイドにアクセスさせたいエージェントだけがアクセスできるように、注意を払う必要があります。これは、ステップバイステップガイドがフロー内でどのように呼び出されるかを検証することによって行われます。一般的には、コールを別のキューに転送する前に、ハンドラーフローの DefaultFlowForAgentUI 属性と DisconnectFlowForAgentUI 属性を設定します。コールを受信するキュー内のエージェントは誰でもこのガイドを使用する可能性があるため、関連するステップバイステップガイド付きのコールのルーティング方法を慎重に決定してください。

エージェントへの最小権限の原則の適用に加えて、バックエンドでデータの取得や Lambda 関数を使用する際には、最小限の権限にする必要があります。Lambda 関数に関連付けられた IAM ロールには、必要なアクションを実行する権限のみが与えられ、それ以外は何も付与されないことを必ず確認してください。Lambda 関数用の安全なポリシーロールの設計の詳細については、AWS Lambda IAM ポリシーのベストプラクティスをご覧ください。

最後に、ステップバイステップガイドはエージェントにフォーム入力をさせ、Lambda 関数に入力値を渡すことができます。一般的には、受け取った入力をバックエンドシステムで処理する前に必ず検証する必要があります。これにより、不適切な形式や悪意のある入力による予期しない動作を軽減できます。その結果、セキュリティ上の問題や Lambda 関数がクラッシュする可能性を軽減します。詳細については、AWS Lambda のイベント検証に関するこのブログ投稿をご覧ください。

監視ガイド

最初のイテレーションで完璧なガイドを作成できることはまずありません。ガイドはフローエディタ内で簡単に更新できるので、これは問題ありません。時間の経過とともにガイドを改善するために、エージェントがどのように操作しているか、いつ呼び出されるか、その他のログ情報を監視できます。

通常のコンタクトと同様に、Amazon Connect はガイドを呼び出すたびにフローログを作成します。フローログには、ガイドに関する詳細なログ情報と、エージェントがどのようにガイドを操作しているかが記録されます。例えば、エージェントがバックエンドアプリケーションにデータを送信するために使用できるフォームビューがあるとします。ガイドをテストするときに、エージェントがクリックすることで、手動操作への切り替えをするボタンを用意できます。このボタンをクリックすると、エージェントがバックエンドアプリケーションに手動でデータを入力したと仮定して、エージェントは前のビューに戻ります。フローログを監視することで、ガイドを使用しているエージェントの数と、手動で情報を入力することを選択しているエージェントの数を把握できます。このデータに基づいて、エージェントにとってより役立つようにガイドを調整する必要があるかもしれません。

もちろん、ログデータを手動で監視することは、現代のコンタクトセンターでは現実的ではありません。代わりに、Amazon Cloudwatch メトリクスアラームを利用してこのプロセスを自動化できます。Amazon Cloudwatch のカスタムメトリクスを作成することで、手動操作への切り替えボタンが時間の経過とともにどのくらいの頻度で押されているかを把握できます。緊急時にのみエージェントに手動操作への切り替えボタンを使用させたい場合は、Amazon Cloudwatch アラームを使用してボタンが押されるたびに通知をトリガーすることもできます。

時間をかけて、ステップバイステップガイドで利用できるさまざまなログデータを調べてください。ステップバイステップガイドの使用量が増えるにつれて、これらのログは、ガイドが実際にエージェントを支援し、意図したとおりに使用されていることを確認する上で非常に貴重なデータになります。

コスト最適化

Amazon Connect 自体と同様に、ステップバイステップガイドには、「ビューを表示」ブロックが呼び出されるたびに発生する従量課金の料金設定があります。コストを最適化するには、情報をビューでどのように表示するかを検討する必要があります。

例えば、エージェントに現在のコンタクトに関する情報を表示させたいという単純なユースケースを考えてみてください。その方法の 1 つは、必要な情報に関連するさまざまなアクションボタンを含む詳細「ビューを表示」することです。ボタンをクリックすると、新しい「ビューを表示」ブロックが呼び出され、別の詳細ビューに特定の情報が表示されます。エージェントが確認を終えると、元の「ビューを表示」ブロックに戻って別のボタンをクリックできます。このフローは間違いなく機能しますが、3 つの「ビューを表示」ブロックを呼び出す必要があります。

上記のフローを最適化してコストを節約できます。カードビューを使用して、必要なすべての情報をエージェントに提示できます。エージェントがカードをクリックするたびに、カードがドロップダウンして関連情報が表示されます。詳細ビューの代わりにカードビューを使用すると、エージェントは「ビューを表示」ブロックを 1 回呼び出すだけで必要なすべての情報にアクセスできます。

ガイドをデプロイする前に、ガイドの流れをよく考えてください。エージェントの体験とコストのバランスをどのようにとりたいかを検討してください。ランディングページの表示ブロックで、エージェントにすべてのガイドを提示することはもちろん可能です。ただし、「ビューを表示」ブロックを呼び出す前に時間をかけて最も適切なガイドを用意し、エージェントに提示すると、エージェントが顧客の問題に対処する能力が向上し、ガイドの呼び出し回数が削減されるため費用を節約できます。

ステップバイステップガイドの料金の詳細については、料金ページをご覧ください。

結論

Amazon Connect のステップバイステップガイドは、エージェントがコンタクトの処理中に使用できるわかりやすいユーザーインターフェイスを提供します。このブログ記事では、この機能を最大限に活用するためのいくつかのベストプラクティスについて説明しました。ガイドを再利用可能で、拡張可能で、安全で、費用対効果の高いものにする方法を常に検討することを忘れないでください。

ステップバイステップガイドを使い始めるには、公式ドキュメントと GitHub のモジュールライブラリをチェックしてください。

翻訳はソリューションアーキテクト夘月が担当しました。原文はこちらです。