#1.概要
どうも、ARIの名古屋支社に勤務している愛知県民です♪
(/・ω・)/
CTI Adapterの機能の一つであるCTIフローを使用して、
オペレータが見ている画面を転送することができたので、その方法をまとめました。
(今のところ、1画面のみの転送となります。)
CTIフローについて勉強中の方の参考になれば幸いです。
最後に、この記事が面白いと思った方はLGTM、ストックしていただけると励みになります♪
(*^^)v
#2.はじめに
#2.1.CTI Adapterとは
AmazonConnectとSalesforceを連携させる際に使用するクラウドサービスのことです。
(厳密にはAWSのサービスです。)
CTI Adapterを使用することで、Salesforceのコンソールからソフトフォンを開いたり、
着信時にSalesforceの取引先責任者をポップアップしたりすることができます。
#2.2.CTIフローとは
CTIフローとはCTI Adapterの機能の1つで、
ボタンのクリックや着信をトリガーとして特定のレコードを作成したり、
ポップアップを表示したりすることができます。
(Salesforce内のコンタクトフロー的なものという認識です。)
ちなみに、他のCTI Adapterの機能としては以下の3種類があります。
- Attributes
- Presence Sync Rules
- Features
#3.前提条件
以下に前提条件を示します。
- AmazonConnectにてインバウンドフローが作成済であること
- AmazonConnectにて転送フローが作成済であること
- CTI Adapterのインストールが完了していること
※インバウンドフロー、転送フローに特別な設定は必要ありません
※本記事におけるCTI Adapterのバージョンは5.17です
#4.構成図
まず初めに、全体的な構成図を以下に示します。
最初に着信したオペレータAがSalesforce上でボタンを押下し、
転送すると次に着信したオペレータBに画面がポップアップするという流れとなります。
#5.AmazonConnectの設定
#5.1.コンタクト属性の設定
インバウンドフローにて転送時のURLを保存するためのコンタクト属性を設定するブロックを追加します。
後ほどCTIフローで上書きするように設定するので、コンタクト属性名を覚えておいてください。
項目 | 設定内容 |
---|---|
宛先タイプ | ユーザー定義 |
宛先属性 | 任意(例では「transferURL_0」としました。) |
#5.2.クイック接続の設定
転送するためのクイック接続も設定します。
今回は「BasicQueue」というキューに転送する設定としました。
#6.Salesforceの設定
##6.1.CTIフロー(転送準備)の作成
Salesforceでは、主にCTIフローの作成をします。
まずは、オペレータが今見ている画面のURLを保存するCTIフローを作成します。
6.1.1.Salesforceの管理画面から左上のハンコ注射の様なマーク(もしくは麻雀の9筒?)を選択し、「サービスコンソール」を選択します。
(見つからない場合は「すべて表示」を選択してください)
6.1.2.サービスコンソールにて「く」を90°回転させたマークを選択し、「AC CTI アダプタ」を選択します。
(見つからない場合は「編集」を選択し、「アイテムをさらに追加」を選択し追加してください。)
6.1.3.CTI Adapter名を選択します。
6.1.4.CTI Adapterの管理画面から「CTI Flows」を選択し、「新規」を選択します。
6.1.5.以下のように設定し、「保存」を選択します。
項目 | 設定内容 |
---|---|
CTI Flow Name | 任意(例では「転送準備」としました) |
Source | CTI Action |
Description | 任意 |
Active | チェックあり |
6.1.6.CTIフローの左側にある「開始」「終了」「CTIフロー」をドラッグアンドドロップし、図のように接続します。
また、全体としては
「フォーカスされたサブタブオブジェクトIDを取得」ブロックでタブのオブジェクトIDを取得
→接続するためのURLを「結合文字列」ブロックで作成
→「コンタクト属性を更新」ブロックでURLをAmazonConnectのコンタクト属性に保存
という流れになります。
ブロック1つ1つの設定については以下となります。
「コンタクトのプロパティを取得」および「フォーカスされたサブタブオブジェクトIDを取得」には設定項目がありません。
番号 | 項目 | 設定内容 |
---|---|---|
① | value1 | https://([私のドメイン] の名前).lightning.force.com/lightning/r/ |
① | value2 | $.actions.uid-(「フォーカスされた…IDを取得」ブロックのID).results.value |
② | value1 | $.actions.uid-(ブロック①のID).results.string |
② | value2 | /view |
③ | attributesの Enter key |
「5.1.コンタクト属性の設定」で設定したコンタクト属性名 |
③ | attributesの Enter value |
$.actions.uid-(ブロック②のID).results.value |
④ | message | 完了 |
⑤ | message | エラー |
※「[私のドメイン] の名前」は「設定」を開き、設定 > 会社の設定 > 私のドメインの順に選択すると確認できます
※ブロックのIDはブロックにカーソルをあてると確認できます。以下の図のIDは36となります。
6.1.7.「保存」を選択します。
##6.2.CTI Actionの設定
CTIフローの作成後に、CTI Actionを有効化することでCCP上にボタンを表示することができます。
6.2.1.サービスコンソールにて「く」を90°回転させたマークを選択し、「CCP Element Editor」を選択します。
(見つからない場合は「編集」を選択し、「アイテムをさらに追加」を選択し追加してください。)
6.2.2.「New Action」を選択します。
6.2.3.以下の様に設定し、「Save」を選択します。
項目 | 設定内容 |
---|---|
Action Name | 任意(例では「転送準備」としました) |
CTI Flow | 6.1で作成したCTIフロー名 |
Order | 0 |
6.2.4.CCP上にCTI Actionが表示されるようになります。
##6.3.CTIフロー(画面転送)の作成
最後に、転送時に保存したURLを開くCTIフローを作成します。
6.3.1.CTI Adapterの管理画面から「CTI Flows」を選択し、「新規」を選択します。
6.3.2.以下のように設定し、「保存」を選択します。
項目 | 設定内容 |
---|---|
CTI Flow Name | 任意(例では「Voice Contact onConnecting」としました) |
Source | Amazon Connect Voice Contact |
Event | onConnecting |
Description | 任意 |
Active | チェックあり |
6.3.3.CTIフローの左側にある「開始」「終了」「CTIフロー」をドラッグアンドドロップし、図のように接続します。
また、全体としては
「If-else」ブロックで転送かどうかを判定
→転送の場合は「テキストは値で終わります」ブロックでURLが初期値かどうかを確認
→初期値でない(URLが保存されている)場合は「Salesforceのプライマリタブを開く」ブロックでタブを開く
という流れとなります。
ブロック1つ1つの設定については以下となります。
「コンタクトのプロパティを取得」ブロックには設定項目がありません。
番号 | 項目 | 設定内容 |
---|---|---|
① | operandA | $.actions.uid-(直前のブロックのID).results.isTransfer |
① | comparator | === |
① | operandB | true |
① | evaluateAs | boolean |
② | attributeName | 「5.1.コンタクト属性の設定」で設定したコンタクト属性名 |
② | defaultValue | 任意 |
③ | targetValue | $.actions.uid-(ブロック②のID).results.value |
③ | suffixes | 「5.1.コンタクト属性の設定」で設定したコンタクト属性名の初期値 |
④ | id | (ブランク) |
④ | message | $.actions.uid-(ブロック②のID).results.value |
④ | active | チェックあり |
④ | tabLabel | (ブランク) |
④ | name | (ブランク) |
6.3.4.「保存」を選択します。
#7.動作確認
最後の最後に、動作確認をしていきます。
7.1.架電後、エージェントAが応答したところから説明します。
例として、「AmazonConnect」タブを転送します。
7.2.CCP上で「転送準備」(6.2で登録したCTI Action)の右にある「Excute」を選択します。
7.3.「完了」とポップアップが表示されます。
7.4.CCP上で「クイック接続」を選択します。
7.5.「キューへの転送テスト」(6.1で設定したクイック接続)を選択し、「呼び出し」を選択します。
7.6.エージェントBの画面(着信前)です。
7.7.着信時に自動でタブが開きます。
#8.おわりに
ここまで読んで下さり、ありがとうございます!!!
(^^)
ちなみに、複数画面転送することも可能ですが、CTIフロー上ではループを回せないようなので、
IFを多用するエレガントでないフローになります。
エレガントな方法をご存じの方は、コメントなどで教えていただけると幸いです♪
引き続きCTI Adapterについては投稿する予定なので、次回をお楽しみに~
(:3_ヽ)_