はじめに
はじめまして。2021年4月に新卒入社しました IT 基盤部第三グループの中村です。
本記事では、 DeNA がカスタマーサービスで利用している Amazon Connect の紹介と、 DeNA 流のカスタマイズをお伝えします。
Amazon Connect とは
Amazon Connect は、クラウド型のコンタクトセンターを構築できる AWS のサービスです。 クラウド型のサービスですので、物理的な回線を設置する必要がありません。 また、オペレータの勤務場所の地理的制限もないので、オペレータは自宅からでもコンタクトセンターの業務が可能になります。
Amazon Connect には、 GUI で問い合わせフローを編集できる「問い合わせフローエディタ」が提供されているので、非エンジニアの担当者でも容易にフローの変更が可能です。
そして、より高度で複雑な処理も Lambda と組み合わせることで実現することができます。
ルーティング変更アプリ
今回は、 DeNA のカスタマーサービスが利用している Amazon Connect に施している工夫の一つ、「ルーティング変更アプリ」をご紹介します。
着信時のフローについて
ルーティング変更とは何なのかを説明するためには、先に Amazon Connect の着信フローについて説明する必要があります。説明にあたって必要となる用語を以下にまとめました。
用語 | 説明 |
---|---|
問い合わせフロー | 着信した際の処理の定義 |
キュー | 順番待ちの列のようなもの |
ルーティングプロファイル | オペレータがどのキューを担当するかの定義 |
セキュリティプロファイル | オペレータの権限のようなもの |
カスタマーからの電話を受けるためには、電話番号を登録する必要があります。
そして、登録された電話番号にはそれぞれ 問い合わせフロー
を紐づけます。
問い合わせフロー
の中では様々な処理を行い、最終的にどの キュー
にカスタマーからの問い合わせを入れるかを決定します。
キュー
は ルーティングプロファイル
で管理されています。
そして、 ルーティングプロファイル
はオペレータに紐づいています。
オペレータは、それぞれの ルーティングプロファイル
で定義された担当 キュー
、つまりカスタマーからの電話に対応します。
ルーティング変更とは
DeNA のカスタマーサービス部では、オペレータが複数のサービス窓口(担当 キュー
)の電話対応を担当しています。
以下の表のように、オペレータ毎に時間帯によって担当 キュー
が決まっているので、日常的に担当 キュー
の切り替えが発生します。
時間帯 | サービス窓口(担当 キュー ) |
---|---|
10:00 ~ 12:00 | ゲーム窓口 |
12:00 ~ 17:00 | カーシェア窓口 |
オペレータの担当 キュー
を変更するためには、オペレータに紐づいた ルーティングプロファイル
を変更する必要があります。
しかし、一般オペレータには ルーティングプロファイル
の変更をする権限はありません。
そこで、 DeNA では、ルーティング変更アプリを開発して、このアプリの操作権限を持つオペレータであれば ルーティングプロファイル
を変更できるようにしています。
ルーティング変更アプリの使い方
ルーティング変更アプリでは、非エンジニアのオペレータが操作しやすい Slack のスラッシュコマンドを採用しました。 以下の三種類のコマンドを提供しています。
スラッシュコマンド | 内容 | 引数 |
---|---|---|
/list_users | ユーザ一覧を取得する | なし |
/list_routing_profiles | ルーティングプロファイル一覧を取得する | なし |
/update_user_routing_profile | ユーザのルーティングプロファイルを更新する | ユーザ ID と ルーティングプロファイル ID |
これらのコマンドは、特定のプライベートチャンネルでのみ実行することができるようになっていて、定期的にこのプライベートチャンネルのメンバーを確認することで、権限の棚卸しを実施しています。
ユーザの ルーティングプロファイル
を変更する際は、 /list_users
と /list_routing_profiles
の結果からユーザとプロファイルの ID を取得してから、 /update_user_routing_profile ユーザID プロファイルID
を実行します。
では、実際に変更する手順を見てみましょう。
/list_users
を実行してユーザID を取得します。/list_routing_profiles
を実行して、プロファイルID を取得します。- 取得した情報をもとに、
/update_user_routing_profile
でルーティングプロファイルを変更します。
ルーティング変更アプリの構成
ルーティング変更アプリは Lambda で動作しており、 Slack からのコマンドを受け取るために API Gateway を利用しています。構成図は以下の通りです。
Lambda は JavaScript で実装しており、 aws-sdk の Connect クラスを利用しています。
この Connect クラスを利用することで、以下の例のように簡単に Amazon Connect 関連の操作を行うことができるようになります。
import AWS from 'aws-sdk';
const connect = new AWS.Connect();
// ユーザ一覧取得の例
connect.listUsers({ InstanceId: 'インスタンスID' }, (err, data) => {
if (err) {
// エラー
} else {
// 正常終了
}
});
// ルーティングプロファイル一覧取得の例
connect.listRoutingProfiles({ InstanceId: 'インスタンスID' }, (err, data) => {
if (err) {
// エラー
} else {
// 正常終了
}
});
// ルーティングプロファイル変更の例
const params = {
InstanceId: 'インスタンスID',
RoutingProfileId: 'ルーティングプロファイルID',
UserId: 'ユーザID',
};
connect.updateUserRoutingProfile(params, (err, data) => {
if (err) {
// エラー
} else {
// 正常終了
}
});
おわりに
Amazon Connect は、ツールを使って機能を拡張することができるので、とても便利に利用することができます。
今回は Amazon Connect を便利に使うために作った ルーティング変更アプリ
をご紹介しました。
DeNA では、より便利にサービスを利用するために、このようなちょっとしたツールを他にも色々と作っています。
本記事で DeNA に興味を持っていただけたら幸いです。
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。