Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

Amazon Connectインテグレーションの二つのTrailhead プロジェクトを試してみた

 こんにちは、ロジカル・アーツの小畑です。

 先日の記事「SalesforceコールセンターのTrailhead モジュール/プロジェクトを試してみた」*1では、Open CTI系のCTIパッケージを用いて、Salesforceコールセンターを構築しました。
 今回は、SalesforceコールセンターのAmazon Connectインテグレーションに関する二つのプロジェクトの実践ポイントを、比較対照を交えながら挙げていきます。手順そのものは、当該のTrailhead ページで確認をお願いします。
 対象となる方(知識の前提)は、先日の記事と同様です。
 Amazon Connectについては、過去記事「Amazon Connectについてまとめてみた」*2もありますので、参考にしていただければ幸いです。

はじめに

 本記事では、「Amazon Connectインテグレーションの構築」プロジェクト*3と「Build an Amazon Connect SSO Integration with Salesforce」 プロジェクト*4に取り組みます。ただし、この2つのプロジェクトは、Amazon Connectの最新版(5.x 系)を用いません(2020年11月~2021年1月現在)。
Amazon Connectの最新版を用いる場合は、Trailhead から外れる可能性がありますが、もしチャレンジする場合は、AWSの仕様書:
Amazon Connect CTI Adapter v5 for Salesforce Lightning Setup and Installation Guide」*5
Amazon Connect CTI Adapter v5 for Salesforce Classic Setup and Installation Guide」*6
を参照願います。

0.準備

 TP/DEの用意については、先日の記事と同様です。
ただし、二つのプロジェクトについて、別のTP/DEであることが前提です。
AWS アカウントを持っていない場合は、サインアップするためにクレジットカードが必要です。

1.「Amazon Connectインテグレーションの構築」プロジェクト(第1プロジェクト)

1.0 「Service Cloud Voice」 モジュールとの関係

 「はじめに」で述べたことに関連しますが、AWSとSalesforceのコラボレーションは、Service Cloud Voice に進化しました。(AppExchange でのAmazon Connect CTIパッケージの無償提供で実現できるコールセンターを上回る機能を有償アドオンライセンスで提供)
Amazon Connect now supports integration with Salesforce Service Cloud Voice」*7

 関連するリリースノートは以下の通りです。
Summer '20*8
Winter '21*9

 リリースノートやTrailhead よりも、ヘルプ*10のほうがわかりやすいかもしれません。

 当該モジュール*11にある3つの表の試訳を載せ、概要を理解することにします。

「Service Cloud 音声とSalesforceコールセンターの主な違い」

Service Cloud 音声 Salesforceコールセンター
Service Cloud プラットフォーム用にネイティブに構築されており、クラウドベースのコンタクトセンターソリューションであるAmazon Connectと事前に統合されてすぐに利用できます。 通話を有効にするには、各コンピュータにサードパーティのテレフォニーシステムを統合する必要があります。管理者は、開発者またはパートナーがAppExchange から作成したコンピューターテレフォニーインテグレーション(CTI)パッケージをインストールして、コールセンターを作成します。
データと音声文字変換のシームレスな統合により、レコードに自動的にデータを入力し、AIを使用してアクションやコンテンツを提案し、Einstein Analyticsを使用して強力なレポートオプションのロックを解除します。 画面ポップ、Click-to-Call 、および通話情報に基づくいくつかのデータ記録および分析機能が含まれています。
通話制御ツールは1つのオムニチャネルウィジェットと統合されているため、クリックや画面を減らして、すべてのデジタル会話や電話での会話に簡単にアクセスできます。スーパーバイザーは、すべてのデジタルインタラクションを確認し、支援することができます。 通話制御ツールはコンソールのフッターと統合されており、他のデジタル会話から分離されています。

「Service Cloud 音声のメリット」

ロール メリット
エージェント
  • さまざまなシステムやテクノロジー間を移動するのではなく、サービスの提供に重点を置きます。
  • 組み込みの通話制御ツール(ソフトフォン)を使用すると、電話をすばやく簡単に受け入れることができます。
  • 通話内容が自動的にキャプチャされるため、メモの入力にかかる時間が短縮されます。
  • 音声は他のデジタルチャネルと同じように処理されるため、オンボーディング時間を短縮できます。
  • あらゆる種類の対話を受け入れるようにプレゼンスステータスを設定します。
スーパバイザ
  • 他のデジタルチャネルと一緒に、複数の通話記録をリアルタイムで同時に表示します。
  • 事後エージェントのトレーニングとコーチングには、トランスクリプトと録音を使用します。
  • 電話での会話をケースや連絡先に接続して、データの収集と可視性を高めます。
システム管理者およびIT部門
  • より統合されたシステムのために、1つのベンダーからすべてのコンタクトセンターインフラストラクチャを購入します。
  • テレフォニーとCRM は、外部の依存関係がほとんどなく、Salesforceセットアップに直接含まれているため、簡単にセットアップできます。
  • Salesforceのコンタクトセンターに新しいユーザーをすばやく追加します。
  • テレフォニーの支払いとサポートはすべてSalesforceから提供されます。

「チームにService Cloud 音声の準備をする」

質問 答え
今日はどの電話システムを使用していますか? シスコの電話システムでSalesforceコールセンターを使用し、統合をサポートするためにOpen CTIパッケージを使用しています。
コールセンターはいくつありますか? フェニックス近くの南西部に1つありますが、ラテンアメリカでの成長を望んでおり、そこにもコールセンターを追加する可能性があります。
新しい電話システムで使用したいすべての電話番号のリストはありますか? いいえ。ただし、カスタマーサービスマネージャーのRyan DeLyon がそれらを追跡できます。
新しいService Cloud 音声システムにアクセスする必要があるエージェント、マネージャー、またはその他のユーザーのために購入する必要のあるライセンスの数を知っていますか? この時点で、20人の従業員がSalesforceコールセンターを使用していることがわかっているため、Service Cloud 音声の20ライセンスから始めて、必要に応じてさらに購入することができます。
電話はどのようにルーティングされますか、またはどのルーティングプロセスに通話を含める必要がありますか? ケース割り当てルールを使用して、ステータスや優先度などのフィールドごとに適切なエージェントにケースをルーティングしました。また、オムニチャネルではキューベースおよびスキルベースのルーティングを使用しているため、オプションを調査する必要があります。Service Cloud 音声はコンソールのオムニチャネルウィジェットと統合されているため、特にスーパーバイザーコンソールと同期するため、おそらくそれを使用する傾向があります。
通話の指標を確認するには、特別なレポートやダッシュボードを作成する必要がありますか? Service Cloud 音声を使用すると、Einstein Analyticsを使用してデータにアクセスしやすくなるため、いくつかの新しい指標を追跡したいと考えています。Salesforceコールセンターを使用すると、基本的な通話とケースのデータに関する簡単なレポートを簡単に実行できましたが、通話とケース以外のレコードからより統合されたデータにアクセスできるようになりました。音声には、通話量、平均処理時間、平均応答速度、通話解決率などの指標が自動的に含まれるコンタクトセンターダッシュボードも含まれています。
Amazon Connect以外のテレフォニーパートナーを使用できますか? 現時点では、ありません。音声に移行する理由は、SalesforceAmazon Web ServicesAWS)間のテレフォニーパートナーシップに自動的に組み込まれたすべての機能を利用するためです。
エージェント向けに新しいトレーニングを作成する必要がありますか? はい。オムニチャネルウィジェットを使用して電話を受け入れることは、コンソールフッターのSalesforceコールセンターソフトフォンから電話を受け入れることとは異なり、簡単です。また、オムニチャネルウィジェットコーチングを使用および受信する方法をスーパーバイザーとエージェントにトレーニングする必要があります。また、エグゼクティブランチを後援して、Service Cloud 音声とEinstein Analyticsを使用してコンタクトセンターに関するすばらしい新しい指標をリーダーがどのように確認できるかを示すこともできます。

1.1 「Amazon Web Services (AWS) アカウントの作成」ステップ

 このステップでは(Salesforceの操作はないので)最終的に設定の確認は実施せず、次のステップへ進むことになります。

1.1.1 「AWS アカウントにサインアップする」

 6.ですが、「Amazon Connectの料金」*12
を読んで、一発で理解できた方、何もいうことはありません。
理解できなかった方(私もそうでした)、1.2.2 「Amazon Connectインスタンスを設定する」の5.でもう一度触れます。

1.1.2 「検証プロセスを完了します。」

 2.ですが、

AWS からPIN で電話がかかってきたら、フォームにPIN を入力します。

意味がわかりません。原文は、

When you receive a phone call from AWS with a pin, enter the PIN in the form.

AWS からPIN を問い合わせる電話がかかってきたら、PIN 通りに番号をプッシュします。」位の意味が正解です。

1.2 「Amazon Connectインスタンスの作成」ステップ

 このステップでは、「新しいインスタンスをテストする」において、前半が着呼で後半が発呼となります。
この段階ではまだSalesforceは出てきていません。

 (Salesforceの操作はないので)最終的に設定の確認は実施せず、次のステップへ進むことになります。

1.2.0 「新しいTrailhead Playgroundの作成」

 ここでは、先日の記事の一部を再掲します。

※暗黙の了解として、二つ以上のCTIパッケージを同一Salesforce組織に導入することはできません。Trailblazer は、テレフォニーが関係するTrailhead モジュール/プロジェクトをハンズオンする場合、新たなTrailhead Playground(TP)の作成が必要かどうかを迫られます(各モジュール/プロジェクトで“真新しいTP”云々の記述がある場合は、逆らわずに新しいTPを作成した方が無難です)。

 メモ(Note)として、こんな一文が載っています。

メモ

既存の組織またはPlaygroundを使用すると、Challenge を行うときに問題が発生することがあります。

Note

If you use an existing org or playground, you can run into problems completing the challenges.

誤ってモジュール用の文言を載せてしまっているようですが、「ステップの確認」で問題が発生する可能性は大いにあります。

 なお、TPの作成は、Trailhead にログインした状態での「ハンズオン組織」にある「Playgroundを作成」ボタンからのほうが、管理上有利です。

 また、1.2.0は、1.3.1の直前に実施しても全く問題ありません。

1.2.1 「Amazon Connectインスタンスをセットアップする」

 1.ですが、

Amazon Connectが正しく設定されていることを確認するには、使用開始後にAWS Management Console上部のリージョンドロップダウンから[US East (N.Virginia)]を選択してください。

To make sure Amazon Connect is set up correctly, select US East (N.Virginia) from the region dropdown at the top of the AWS Management Console after getting started.

意味がわかりません。東京リージョンを選択する限りでは不要な動作だと思います。

 4.が「運命の分かれ道」です(2.1.1で後述します)。

 5.&6.と9.を手元に控えておきましょう。

1.2.2 「Amazon Connectインスタンスを設定する」

 問題は5.です。

この電話番号は一定期間無料で使用できる番号です。

結論から言うと、大嘘です。1.2.1の1.で東京リージョンを選択し、1.2.2の3.で[United States +1]を選択した場合、発呼/着呼がなくても必ず最初から課金されます。

AWS側のドキュメントを読むと、そのことは半ば自明なのですが、「一定期間」という表現がトリッキーなのです。

取得した電話番号は手元に控えておきましょう。

1.2.3 「追加のエージェントプロファイルの作成」

 4.でAmazon Connect管理者アカウントとは異なるアカウントを作成します。
作成したことを意外に忘れやすいので、このアカウントも手元の控えが必要です。

1.3 「Amazon Connect CTIアダプタのインストール」ステップ

 先日の記事の2.3.1 「Open CTIデモパッケージのインストール」を思い返しましょう。

“Playground Starter”の“Install a Package” タブを使いこなせていますか?

ピンとこない方は、「Trailhead Playgroundの管理」モジュールの「Trailhead Playgroundへのアプリケーションとパッケージのインストール」単元*13に戻りましょう。

1.3.1 「新しいTrailhead Playgroundの起動とCTI アダプタのインストール」

 2.の指定通り、“04t4p0000027jl8AAA”でインストールを実行すると、次のように、アダプタv4.5となります(決して最新版*14ではありません)。

“Installed Packages”のスクリーンショット

 “Amazon Connect - Universal Package”をクリックしてみます。

“Amazon Connect - Universal Package (Managed)”のスクリーンショット

1.4 「Salesforce Call Centerの設定」ステップ

 先に誤植を指摘しておきます。
スクリプトの確認」で、2番目のエントリーが「Default Chat Contact onConnecting」 となっていますが、「Default Queue Callback onConnecting」 の誤りです。
英文版を確認するとわかりますが、和訳時のミスだと思われます。

 1.3.1の指示通りにCTIパッケージをインストールすると、4個のスクリプトが生成されますが、v5.0以降のアダプタの場合は、4個のCTI Flowになります。

1.4.1 「Playgroundドメインの確認」

 3.a.の“https://<YOURDOMAIN>-dev-ed.lightning.force.com” を手元に控えておきましょう(1.4.7.1で使います)。

1.4.2 「Lightning アダプタドメインの確認」

 1.の結果は、以下のようになります。

“Visualforce Pages” のスクリーンショット

 2.の結果は、以下のようになります。

“amazonconnect__AC_LightningAdapter”のスクリーンショット

 3.の結果は、以下のようになります。

“Sign in to CCP”のスクリーンショット

 3.の“https://<YOURDOMAIN>-dev-ed--amazonconnect.visualforce.com/apex/AC_LightningAdapter” を手元に控えておきましょう(1.4.3や1.4.7.2で使います)。

1.4.3 「コールセンターを設定する」

 先日の記事の2.3.2 「コールセンターの設定」を思い返しましょう。

 4.は、1.4.2の3.に基づきます。

コールセンターが作成されました。

“All Call Centers”のスクリーンショット

あらためて、“AC Lightning Adapter”のリンクをクリックしてみます。

“AC Lightning Adapter”のスクリーンショット

1.4.4 「コールセンターユーザを管理する」

 先日の記事の2.3.2 「コールセンターの設定」を思い返しましょう。

 Amazon Connect権限セットの設定がポイントです。

1.4.4.1 「自分自身をコールセンターユーザとして追加する」

自分自身をコールセンターユーザに追加しました。

“AC Lightning Adapter: Manage Users”のスクリーンショット

1.4.4.2 「Amazon Connect権限セットをコールセンターユーザに割り当てる」

Amazon Connect権限セットをコールセンターユーザに割り当てました。

権限セットの一覧です。

“Permission Sets” のスクリーンショット

“AC_Agent”をクリックしてみます。

“AC_Agent”のスクリーンショット

割り当てを確認します。

“AC_Agent Assigned Users” のスクリーンショット

1.4.5 「コンソールフォンを有効化する」

Lightning サービスコンソールで、コンポーネントから“Open CTI Softphone”をユーティリティ項目に追加します。

1.4.6 「サービスコンソールにAmazon Connect CTIを追加する」

Lightning サービスコンソールから“ACLightningAdapter”レコードを開きました。

“ACLightningAdapter”のスクリーンショット

1.のLightning サービスコンソールを起動した段階で、Amazon Connectからの認証ポップアップが表示されています。

“AWS Apps Authentication” のスクリーンショット

9.b.のインスタンスの別名は、1.2.1の5.です。

1.4.7 「クロスドメインアクセスを確認する」

Amazon Connect仮想サポートセンターインスタンスからスタートします。

1.4.7.1 「Playgroundドメイン

4.のPlaygroundドメインは、1.4.1の3.a.です。

1.4.7.2 「コールセンターアダプタドメイン

2.のコールセンターアダプタドメインは、1.4.2の3.です。

1.5 「Amazon Connect CTI Adapterアダプタのテスト」ステップ

 「サービスコンソールからの発信」は、1.2の後半(発呼)、「着信電話を受ける」は、1.2の前半(着呼)に相当します。
このプロジェクトを振り返る必要がなくなった場合は、「電話番号をAWS にリリースする」で、課金を終了させます。

 このステップでは最終的に設定の確認は実施せず、バッジを獲得することになります。

1.5.1 「サービスコンソールからサインインする」

“Gonzalez Rose” の取引先責任者レコードで、ユーティリティバーの“Phone” をクリックしたところです。
まだCCP にはサインインしていません。
CCP にサインインしようとすると、1.4.6のようなAmazon Connectからの認証ポップアップが出ます。

“Gonzalez Rose” のスクリーンショット

2.a.および2.b.に沿って、CCP にサインインした後は、たとえば“Forbes Sean” の取引先責任者レコードの電話番号も“活性化”され、クリックすると発呼されます。

“Forbes Sean” のスクリーンショット

1.5.2 「発信電話をかける(新しい取引先を作成する)」

 標題は「発信電話をかける」となっていますが、内容的には「新しい取引先を作成する」です。
実際には、発呼先として可能な電話番号をもつ取引先責任者レコードを作成します。

2.「Build an Amazon Connect SSO Integration with Salesforce」 プロジェクト(第2プロジェクト)

2.0 第1プロジェクトとの関係

 第2プロジェクトは、第1プロジェクトの応用編です。冒頭に、そのことに触れた「Why Use Single Sign-On?」 と「Before You Start」という項目があるので、試訳してみます。

シングルサインオンを使用する理由」

 多くの企業にとって、SAML 2.0が推奨される認証方法です。これは、Security Assertion Markup Language 2.0の略で、認証データを交換するための安全なシステムの業界標準です。スケーリングの支援やユーザーへのシームレスなログインエクスペリエンスの提供など、多くの利点があります。

 ログインが必要なシステムが2つある場合、従来は、ユーザー名、パスワード、および各ユーザーと各システムのすべてのロジスティクスと標準を構成および管理する必要があります。

 2人から5人のメンバーのチームにとっては問題ないかもしれませんが、それはすでに複雑なプロセスです。システムにアクセスする必要がある複数のチームはどうですか?世界中の複数のチームはどうですか?

 SAML 2.0を利用するシングルサインオン(SSO) は、システム間でシングルログインエクスペリエンスを作成する方法です。名前が示すように、シングルサインオンを使用すると、ユーザーは、Salesforceなどの1つのシステムにログインし、ポップアップやシステム間のスイベルを介して再度ログインすることなく、Amazon Connectなどの統合サービスを利用できます。

「始める前に」

 このハンズオンプロジェクトの手順を実行する前に、「Amazon Connectインテグレーションの構築」(プロジェクト)を完了していることを確認してください。ここで行う作業は、そこで行う概念と作業に基づいています。

  • (前の)統合プロジェクトでは、アマゾンウェブサービスAWS) アカウントを作成する手順を説明し、Amazon Connectの基本を理解します。このプロジェクトでは両方を使用します。
  • 前のプロジェクトと同じように、Amazon Connectとの間で電話をかけられるように、電話が利用可能であることを確認してください。

 始める準備はできましたか?

2.1 「Create an Amazon Connect Instance」 ステップ

 このステップでは、「Test Your New Instance」において、前半が着呼で後半が発呼となります。
この段階ではまだSalesforceは出てきていません。

 1.2とどこが違うか、注意してハンズオンを進めましょう。

 (Salesforceの操作はないので)最終的に設定の確認は実施せず、次のステップへ進むことになります。

2.1.0 「Create a New Trailhead Playground」

 1.2.0と同様ですが、1.2.0とも違うTP/DEとすることが肝要です。

 なお、2.1.0は、2.2.1の直前に実施しても全く問題ありません。

2.1.1 「Set Up Your Amazon Connect SSO Instance」

 1.2.1とよく似ています。
※2.1.1の4.の直下の画像は、1.2.1の2.直下の画像とかなりイメージが異なります。
 6.が「運命の分かれ道」となります。1.2.1では、4.が「運命の分かれ道」でした。
 ここでは“SAML 2.0-based authentication” を、1.2.1では“Store users within Amazon Connect” を選択しているのです。

 7.&8.と11. は、1.2.1の5.&6.と9.に相当します。手元に控えておきましょう。

 なお、11.a. ですが、試訳すると、次のようになります。

パスワードを入力するオプションが表示されたら、停止します。左側のペインで[ステップ1:ID管理]をクリックし、SAML 2.0ベースの認証が選択されていることを確認して、セットアップを続行します。

 つまり、6.で、“SAML 2.0-based authentication” が正しく選択されていない、ということなのです。

 ついでに、最後にある[Note]([メモ])も試訳してみます。

これらの手順はおなじみのようですか?その通りです!「Amazon Connectインテグレーションの構築」プロジェクトでは、これに似たインスタンスを作成します。主な違いは、ここでは、シングルサインオン統合の基盤であるSAML 2.0ベースの認証をユーザーに選択することです。

2.1.2 「Configure Your Amazon Connect Instance」

 1.2.2とよく似ています。
 問題は6.です。
 1.2.2の5.と同じことなので、課金には注意しましょう。

なお、1.2.2の5.で取得した電話番号を、転用もしくは共用することはできないようです。

取得した電話番号は手元に控えておきましょう。

2.1.3 「Create an Additional Agent Profile」

 1.2.3とよく似ています。
4.で作成した、Amazon Connect管理者アカウントとは異なるアカウントを、手元に控えておきましょう。

2.1.4 「Collect Your Amazon Connect Instance ARN」

 1.2に該当の項はありません。
ここは、SSO インテグレーションのためにSalesforce側で必要となる情報を、AWS側から収集する作業です。
3.でインスタンスARN を(後述の2.3.3.2で必要)、4.で(3.から)インスタンスIDを(後述の2.5.1で必要)、それぞれ取得し、手元に控えておきましょう。

2.2 「Check the Package and Enable Cross-Domain Access」ステップ

 1.3および1.4とよく似ています。
ただし、1.4での「スクリプトの確認」に該当する「Check The Scripts」 (2020年11月時点)が、2021年1月現在では削除されています。

2.2.1 「Launch Your New Trailhead Playground and Install the CTI Adapter」

 1.3.1とよく似ています。

 (1.3.1の2.と同じ)2.の指定通り、“04t4p0000027jl8AAA”でインストールを実行すると、次のように、アダプタv4.5となります

“Installed Packages”のスクリーンショット

 “Amazon Connect - Universal Package”をクリックしてみます。

“Amazon Connect - Universal Package (Managed)”のスクリーンショット

2.2.2 「Find Your Playground Domain」

 1.4.1とよく似ています。
 (1.4.1の3.a.と同じ)3.a.の“https://<YOURDOMAIN>-dev-ed.lightning.force.com” を手元に控えておきましょう(2.2.8.1で使います)。

2.2.3 「Find Your Lightning Adapter Page」

 1.4.2とよく似ています。

 (1.4.2の1.と同じ)1.の結果は、以下のようになります。

“Visualforce Pages” のスクリーンショット

 (1.4.2の2.と同じ)2.の結果は、以下のようになります。

“amazonconnect__AC_LightningAdapter”のスクリーンショット

 (1.4.2の3.と同じ)3.の結果は、以下のようになります。

“Sign in to CCP”のスクリーンショット

 3.の“https://<yourdomain>-dev-ed--amazonconnect.visualforce.com/apex/AC_LightningAdapter” を手元に控えておきましょう(2.2.4や2.2.8.2で使います)。

2.2.4 「Configure Your Call Center」

 1.4.3とよく似ています。

 4.は、2.2.3の3.に基づきます。

コールセンターが作成されました。

“All Call Centers”のスクリーンショット

あらためて、“AC Lightning Adapter”のリンクをクリックしてみます。

“AC Lightning Adapter”のスクリーンショット

2.2.5 「Manage Call Center Users and Access

 1.4.4とよく似ています。

2.2.5.1 「Add Yourself as a Call Center User」

 1.4.4.1とよく似ています。

自分自身をコールセンターユーザに追加しました。

“AC Lightning Adapter: Manage Users”のスクリーンショット

2.2.5.2 「Assign Amazon Connect Permission Sets to Call Center Users」

 1.4.4.2とよく似ています。

Amazon Connect権限セットをコールセンターユーザに割り当てました。

権限セットの一覧です。

“Permission Sets” のスクリーンショット

“AC_Agent”をクリックしてみます。

“AC_Agent”のスクリーンショット

割り当てを確認します。

“AC_Agent Assigned Users” のスクリーンショット

2.2.6 「Activate Console Phone」

 1.4.5とよく似ています。

Lightning サービスコンソールで、コンポーネントから“Open CTI Softphone”をユーティリティ項目に追加します。

2.2.7 「Add Amazon Connect CTI to Service Console」

 1.4.6とよく似ています。

Lightning サービスコンソールから“ACLightningAdapter”レコードを開きました。

“ACLightningAdapter”のスクリーンショット

9.b.のインスタンスの別名は、2.1.1の7.です。

2.2.8 「Ensure Cross-Domain Access

 1.4.7とよく似ています。

Amazon Connect仮想サポートセンターインスタンスからスタートします。

2.2.8.1 「Add Your Playground Domain」

 1.4.7.1とよく似ています。

4.のPlaygroundドメインは、2.2.2の3.a.です。

2.2.8.2 「Add Your Call Center Adapter Domain」

 1.4.7.2とよく似ています。

2.のコールセンターアダプタドメインは、2.2.3の3.です。

2.3 「Set Up Identity and Permissions」 ステップ

 2.3.1を除き、AWS側での作業となります。
このステップでは最終的に設定の確認は実施せず、次のステップへ進むことになります。

2.3.1 「Configure Salesforce as an Identity Provider」

 このステップで唯一の、Salesforce側での作業です。

 4.の“SelfSignedCert_DATE” の“DATE”は、“DDxxxYYYY_hhmmss”(xxx は月の略称の英3文字)のような形式になるはずです。
後述の2.4.1で選択します。

 6.の“Download Metadata” では、“SAMLIdP-00Dxxxxxxxxxxxx.xml” のようなファイル名のXMLファイルが得られるはずです。
2.3.2で選択します。

 Identity Provider が設定されました。

“Identity Provider” のスクリーンショット

 ここで注目すべきは、IssuerとSalesforce Identity のURLの形式が、Salesforce Classicのそれになっていることです。
※後述の2.4.2.2でも、同じようなことが起きます。

2.3.2 「Configure AWS IAM」

 第1プロジェクトでは触れることのなかった、AWSのIAM機能を使うことになります。

 4.で、プロバイダータイプとして“SAML”を選択します。

 5.で、IDプロバイダー名として“AmazonConnectSalesforce”を指定したことになります(8.a.や2.3.3.1や後述の2.4.1で識別に使います)。

 6.で、2.3.1の6.でダウンロードしたXMLファイルを選択することになります。

 8.a.は、5.に基づきます。
 8.b.&8.c.で、“arn:aws:iam::xxxxxxxxxxxx:saml-provider/AmazonConnectSalesforce” のような形式のProvider ARNが得られます。
後述の2.4.2.1で使います。

2.3.3 「Create an SSO Policy and Role」

 ロールを作成する途中で一旦ポリシーを作成し、そのポリシーを使うロールを完成させます。

2.3.3.1 Part 1

 3.は、2.3.2の5.に基づきます。

2.3.3.2 Part 2

 2.の“<YOUR INSTANCE ARN HERE>”は、2.1.4の3.に基づきます。
ちなみに、“arn:aws:connect:ap-northeast-1:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” のような形式になっているはずです。

2.3.3.3 Part 3

 2.で、ポリシー名が“AmazonConnectSSO_GetFederationTokenSFDC” と指定されました。
2.3.3.4で使います。
参考までに、Policy ARNは、“arn:aws:iam::xxxxxxxxxxxx:policy/AmazonConnectSSO_GetFederationTokenSFDC”のような形式になっているはずです。

2.3.3.4 Part 4

 1.は、2.3.3.3の2.に基づきます。
 4.で、ロール名が“AmazonConnectSSO_SFDC” と指定されました。
 5.a.は、4.に基づきます。
 5.b.&5.c.で得られるRole ARNは、“arn:aws:iam::xxxxxxxxxxxx:role/AmazonConnectSSO_SFDC”のような形式になっているはずです。
後述の2.4.2.1で使います。

2.4 「Set Up a Connected App and Enable Single Sign-On」ステップ

 このステップのメインは、Salesforce側での接続アプリケーションの作成であるため、最終的に設定の確認が実施されます。
 接続アプリケーションに慣れていない場合は、以下のTrailhead モジュール/プロジェクトで相互補完することが望ましいです。
「接続アプリケーションの基本」モジュール*15
「Build a Connected App for API Integration」 プロジェクト*16

2.4.1 「Configure a Salesforce Connected App」

4.d.は、2.3.2の5.に基づきます。

4.h.は、2.3.1の4.に基づきます。

4.e.,4.f.,4.g.は、固定的な指定になります。

 接続アプリケーション“AmazonConnectSSOConnectedApp”が作成されました(Lightning Experienceアプリケーションマネージャの画面です)。

“Lightning Experience App Manager”のスクリーンショット

2.4.2 「Refine Your Connected App with Custom Attributes and Profile Access

作成した接続アプリケーションをリファインします。

2.4.2.1 Part 1

2.4.1と同じページで、基本的な設定を続けます。

カスタム属性を2個、Key-Value ストアします。

2.と6.は、固定的な指定になります。

7.は、2.3.2の8.b.&8.c.および2.3.3.4の5.b.&5.c.に基づきます。

Lightning Experienceアプリケーションマネージャから“AmazonConnectSSOConnectedApp”を“View”で開けてみます。

“AmazonConnectSSOConnectedApp”のスクリーンショット

2.4.2.2 Part 2

今度は、別のページで、拡張的な設定をします。

プロファイルアクセスの確保と、ログイン情報の取得です。

6.は、“https://<YOURDOMAIN>-dev-ed.my.salesforce.com/idp/login?app=0spxxxxxxxxxxxx” のような形式になっているはずです。
※2.3.1でふれたとおり、Salesforce ClassicのURL形式になっていることに注目です。

7.のクリックで、AWSマネジメントコンソールが別タブで開きます。

8.は、“AmazonConnectSSO_SFDC/xxxxxxxxxxxxxx.com”のような形式になっているはずです。

Lightning Experienceアプリケーションマネージャから“AmazonConnectSSOConnectedApp”を“Manage”で開けてみます。

“AmazonConnectSSOConnectedApp”のスクリーンショット

参考までに、接続アプリケーションの一覧画面です。

“Manage Connected Apps” のスクリーンショット

“AmazonConnectSSOConnectedApp”をクリックしてみます。

“AmazonConnectSSOConnectedApp”のスクリーンショット

Lightning Experienceアプリケーションマネージャから“Manage”で開けたものとほとんど同じです。

2.4.3 「Create User in Amazon Connect」

7.c.は、2.4.2.2の8.に基づきます(“xxxxxxxxxxxxxx.com”となります)。

2.5 「Finalize Single Sign-On and Test the Softphone」ステップ

 「Test Your Telephony, Now with SSO」 は、2.1の後半(発呼)、「Receive an Inbound Phone Call」 は、2.1の前半(着呼)に相当します。
このプロジェクトを振り返る必要がなくなった場合は、「Release Your Phone Number Back to AWS」 で、課金を終了させます。

 このステップのメインは、Salesforce側でのACLightningAdapterレコードの調整であるため、最終的に設定の確認が実施され、バッジを獲得することになります。

2.5.1 「Add Your SSO and Relay URLs to the CTI Adapter Record」

4.a.は、2.4.2.2の6.に基づきます。
https://<YOURDOMAIN>-dev-ed.my.salesforce.com/idp/login” のような形式になっているはずです。

4.b.a.も、2.4.2.2の6.に基づきます。
“app=0spxxxxxxxxxxxx” のような形式になっているはずです。

4.b.b.は、2.1.4の4.に基づきます。
“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”のような形式になっているはずです。

2.5.2 「Create an Account You Can Call」

 1.5.2によく似ています。
発呼先として可能な電話番号をもつ取引先責任者レコードを作成します。

 Lightning サービスコンソールで、“Gonzalez Rose” の取引先責任者レコードを表示させます。

“Gonzalez Rose” のスクリーンショット

1.5.1と違って、最初から電話番号が“活性化”されています。

 同様に、“Forbes Sean” の取引先責任者レコードを表示させます。

“Forbes Sean” のスクリーンショット

もちろん、こちらも電話番号が“活性化”されています。

3.考察

 第2プロジェクトと第1プロジェクトの章節項の関係を、対照表にまとめてみました。

第2プロジェクト 第1プロジェクト 備考
2.1.0 1.2.0  
2.1.1 1.2.1 AWS側
2.1.2 1.2.2 AWS側
2.1.3 1.2.3 AWS側
2.1.4 (なし) AWS側
2.2.1 1.3.1  
2.2.2 1.4.1  
2.2.3 1.4.2  
2.2.4 1.4.3  
2.2.5 1.4.4  
2.2.5.1 1.4.4.1  
2.2.5.2 1.4.4.2  
2.2.6 1.4.5  
2.2.7 1.4.6  
(「Check The Scripts」) スクリプトの確認」 第2プロジェクトでは削除
2.2.8 1.4.7 AWS側
2.2.8.1 1.4.7.1 AWS側
2.2.8.2 1.4.7.2 AWS側
2.5.2 1.5.2  

 また、ポイントとなる管理項目を表にまとめてみました。

管理項目 第1プロジェクト 第2プロジェクト
Installed Packages Amazon Connect - Universal Package” Amazon Connect - Universal Package”
Visualforce Pages “AC_LightningAdapter” etc. “AC_LightningAdapter” etc.
Call Centers “AC Lightning Adapter”etc. “AC Lightning Adapter”etc.
Softphone Layouts (なし) (なし)
Connected Apps (該当なし) “AmazonConnectSSOConnectedApp”
Identity Provider (無効) (有効)

おわりに

 Amazon Connectインテグレーションに関する二つのプロジェクトを完了しました。
当該プロジェクトで使用したAmazon Connect CTIアダプタのバージョンは古いのですが、基本的な考え方を習得するのには十分でしょう。
Trailhead プロジェクトとしても、早晩改訂されるのではないかと思います。

 ところで、Amazon ConnectとSalesforceをつなげる方法は、他にもあります。
次の機会には、RPA であるUiPathを介する方法について、トライアルの記録を載せようと思います。

※本記事は、2020年11月~2021年1月時点でのTrailhead 環境で確認したものです。

参考サイト

*1:

https://blog.logical.co.jp/entry/2021/02/16/000000

*2:

https://blog.logical.co.jp/entry/2020/01/17/110000

*3:

https://trailhead.salesforce.com/ja/content/learn/projects/build-an-amazon-connect-integration

*4:

https://trailhead.salesforce.com/ja/content/learn/projects/build-an-amazon-connect-sso-integration-with-salesforce

*5:

https://connect-blogs.s3.amazonaws.com/Amazon+Connect+Salesforce+CTI+Adapter/Amazon+Connect+CTI+Adapter+for+Salesforce+Lightning+-+Setup+and+Installation+Guide.pdf

*6:

https://connect-blogs.s3.amazonaws.com/Amazon+Connect+Salesforce+CTI+Adapter/Amazon+Connect+CTI+Adapter+for+Salesforce+Classic+-+Setup+and+Installation+Guide.pdf

*7:

https://aws.amazon.com/about-aws/whats-new/2020/07/amazon-connect-now-supports-integration-with-salesforce-service-cloud-voice/

*8:

https://help.salesforce.com/articleView?id=release-notes.rn_voice.htm&type=5&lang=ja&release=226

*9:

https://help.salesforce.com/articleView?id=release-notes.rn_voice.htm&type=5&lang=ja&release=228

*10:

https://help.salesforce.com/articleView?id=voice_about.htm&type=5

*11:

https://trailhead.salesforce.com/ja/content/learn/modules/service-cloud-voice

*12:

https://aws.amazon.com/jp/connect/pricing/

*13:

https://trailhead.salesforce.com/ja/content/learn/modules/trailhead_playground_management/install-apps-and-packages-in-your-trailhead-playground

*14:

https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000EJH4yUAH

*15:

https://trailhead.salesforce.com/ja/content/learn/modules/connected-app-basics

*16:

https://trailhead.salesforce.com/ja/content/learn/projects/build-a-connected-app-for-api-integration