Article

ブログ

2016/10/27

ログ情報から顧客管理をはじめよう

こんにちは、本間です。

弊社は電話サポートサービスを運営しているため、顧客のそれぞれの情報を大切に管理しています。電話番号に名前や対応履歴を保存しておけば、通話時やメール返信時に対応履歴を見ながら適切な対応ができるようになるためです。

顧客の中央管理には ZohoCRM を利用しています。無料でも少人数であれば十分使えるほどの利便性を持っているため重宝しています。また、メール問い合わせの管理には Zendesk を利用しています。ヘルプセンターの構築やマクロによるメール返信の効率化に役立っています。

これらのサービスにはそれぞれ顧客情報が必要となってきます。selfree ではあらゆる情報を連携によって同期されています。本記事では、CallConnect における顧客情報の管理について技術的な視点から解説します。

各連携の説明

最も重要な点は、実際の本番のソースコード内にZohoCRM へ 顧客を登録するといった処理を書かないということにあります。顧客登録は運営側にしか必要のない処理のため、それで処理が余計に時間がかかってしまうようではユーザー体験を低下させます。また、修正があった場合にも迅速に対応することができません。

そこで、 Papertrail を使ったログのアラート機能を使うことで解決しました。Papertrail では、特定のログのキーワードにマッチした場合に Webhook を通じて任意のサーバーに情報を送ることが可能です。Papertrail に渡ってきた POST パラメータのログをベースに ZohoCRM へ顧客情報を登録すればうまくいくことになります。

ここで問題になるのが、 Webhook のためにわざわざサーバーを用意しなければならないのか、という点です。Webhook を使うためにはリクエスト可能な URL と、それをベースに動くプログラムが必要です。これを解決してくれるのが、Amazon API Gateway と AWS Lambda の組み合わせです。サーバーレスアーキテクチャとも呼ばれ、近年話題になっている技術です。両者を組み合わせることで、サーバーを持たずにプログラムのコードを AWS Lambda 上で実行し、ZohoCRM の API を呼び出すことができます。

ZohoCRM に顧客情報を登録さえできれば、あとは CallConnect と ZohoCRM の連携、そして Zendesk と ZohoCRM の連携を使えば良いことになります。

このような状態で会員登録したお客様から電話やメールが来た時に ZohoCRM の情報をすぐに閲覧できるようになります。今までどんなメール対応や電話対応をしてきたのかが担当者が別だとしても把握ができ、きめ細やかな対応が可能になります。俗に言う “オムニチャネル” を実現しました。

終わりに

API Gateway や Lambda の細かい利用方法は以前私が行った Twilio とサーバーレスアーキテクチャのハンズオン資料が役に立つかもしれません。

Papertrail は Heroku アドオンの中でも一番お勧めできるアドオンです。是非使ってみてください。

ところで AWS Lambda や API Gateway を半年ぶりくらいに新規作成からやりましたが、特に API Gateway は使いやすくなっていました。サーバーレスアーキテクチャの時代の流暢に沿ってこれらツールも適材適所で活用していきましょう。