ノンコーディングでできる!クレームメール判別&自動返信メールでお問合せメール対応を効率化(Cognitive Services × Logic Apps)

Pocket


この記事は Cogbot Advent Calendar 13日目のエントリーです。

12/11(月)に「【ウェブ セミナー】あなたもサーバーレスデビュー。Logic Appsで作るノンコーディング ワークフロー開発」というウェビナーを担当させていただいただきました。
その中で紹介した「お問合せメール対応を効率化(Cognitive Services × Logic Apps)」という、Cognitive Servicesを使って業務改善を考える方法をお話したので、どういった仕組みになってるか&ポイントなどをまとめておきます!

想定するシナリオ

今回は以下の状況を想定してみました。

  • Webサイトにお問い合わせがある(一般的な企業サイトや小売ECサイト)
  • 自動返信メール機能無し
  • カスタマーサポート部署のようなものはない
  • メール対応は通常業務の合間に随時対応

本来であれば、上記の4つの処理を随時対応していけば問題ないのですが、

突然お問い合わせメールが大量に来たとか(テレビで紹介されたとか)、

クレームの人がいた場合、メールは順次見ていくしかないので対応に時間がかかってしまうし、クレームは早く対応するに限りますよね。

しかも想定では「自動返信メールも無い」ので、クレーム出した人は待ちきれず電話かけてくるかもしれません。(そうなると余計対応に時間がかかってしまう)

このような問題を「新たにシステムを作り直したり人員増員などは行わず、機能を追加することで解決する方法」を考えてみました。
もちろん、ノンコーディングで!

今回やったこと


処理の流れはこのような感じ。
ユーザーからのメールをCognitive Services「テキスト分析(Text Analytics API)」を利用して解析し、メール内容がクレームの可能性が高いメールだった場合は担当者に個別にSlackで通知します。
ほぼ同時刻にメールが来た時の対処として、クレーム可能性のメールを見失わないように該当のメールにはフラグを付ける処理もプラス。
自動返信メールを送信する機能も追加しているのですが、ただ自動返信メールを送信するだけではなく、クレームの可能性が高い場合と低い場合で文章を変えて送信するようにしています。これでクレームの可能性があるメールを優先順位を上げて対応できるかなと。


Logic Appsのワークフロー(全体)はこのような感じ。条件分岐は2カ所ありますが、コネクタ自体は8種類で対応できます。
以下、コネクタ利用のポイントなどを説明していきます。

コネクタ利用のポイント


ポイントになる部分を3つに分けました。
※今回使用するOutlook系のコネクタは「Office 365 Outlook」です。またCognitive Services「Text Analytics API」とGoogleスプレッドシートの事前登録・設定は完了させておいてください。

1:トリガーと後続のアクション


Logic Appsのトリガーになるコネクタで「新しい電子メールが届いたとき」というものがありますが、これはメールを受信したときに動くものではなく、頻度を指定してチェックするものです。(チェック頻度が高ければその分価格が高くなってしまう)
今回はOffice 365 Outlookコネクタに追加された「When a new email arrives(webhook)」をトリガーとして利用します。これでほぼリアルタイムにチェックできるようになりました。ただこのコネクタは「Importance(重要度)」「Has Attachment(添付ファイルの有無)」しかフィルタがかけられないし、メール本文の情報は取ってきません。
なので、今回は後続のアクションの前に条件分岐「件名(Subject)にお問合せの文言が含まれるかどうか」を置いています。お問い合わせメールが来るメールアドレスが完全に独立であればいいですが、通常はinfo@とかだと思うので。(お問い合わせ以外のメールも来る場合の対策)
また、後続のアクションで「メール本文の情報を取ってくる」ように設定します。

2:メール本文の内容を解析する準備とタイムゾーンの変換


「Get email」コネクタを使ってメールの本文を後続のアクションで利用できるようにします。(「Message Id」でどのメールか判別)
また、デフォルトはタイムゾーンが日本になっていないため「日付と時刻」コネクタの「タイムゾーンの変換」を利用します。
設定は図のような内容で。

3:クレームの可能性が高いか低いかの判定部分


Cognitive Services「テキスト分析(Text Analytics API)」コネクタを利用して判定します。
ポイントは「言語:ja」を必ず選ぶこと。この部分を設定してないとスコア判定できなくなります。
感情分析は0~1の間の値でスコアが返ってきます。1に近いほどポジティブ、0に近いほどネガティブという判定。
今回の条件分岐は「スコアが0.5未満だったらクレームの可能性が高いと判断」としています。

trueとfalseの処理は両方ともGoogleスプレッドシートのリストに登録・自動返信メール送信を行いますが、クレームの可能性が高い(true)方は該当メールにフラグを付ける(Flag email)、Slackに投稿を追加しています。
また、自動返信メールの内容(図の赤枠内)もこの部分を書き換えるだけ。とても簡単に機能追加できます。

出力結果

実際に出力結果を見ていきます。

リスト(Googleスプレッドシート)はこのような感じ。クレームの可能性が高いかどうかとスコアがあるので見やすくなっているかと。


クレームの可能性が高いメールの場合、メール自体にフラグが付き自動返信メールの文言もクレーム用のものになっています。(比較しやすくするため、FromもToと同じメアドに送信しています)

クレームの可能性が低いメールの場合、メール自体にフラグはついていません。自動返信メールも通常の内容のものになっています。

Slackへの投稿はこのような感じ。
これらの機能追加があれば、クレームの可能性の高いメールを先に処理したり、自動返信メールを送るようにすることで返信に時間がかかることも事前にユーザに知らせることもできるので少しは運用が楽になるのでは?と思います。

「言語:ja」を選んでないと??


「テキスト分析」の部分で「言語:ja」を選ばなかった場合、全てのスコアが0.5になってしまいます…。
同じ文言なのにスコアにこれだけの差が出てしまうので注意!

最後に

自動返信メールを送信する仕組みを追加するとなると、プログラム書けない人からすればかなりハードルが高いかな?と思うのですが、Logic Appsであればこのようにノンコーディングで機能を簡単に追加できます。
また、Cognitive Servicesも一部の機能はコネクタが提供されているので、ノンコーディングで利用することができますし、工夫して利用すればワークフローの効率化になるのでは?と。
ちなみにこの仕組み、大枠は15分程度で完成しています。(ちょろっとした修正を入れても30分程度)
今回はメールで試してみましたが、企業で運営しているTwitterアカウントにも応用できるかと。ぜひいろいろ試してみてください!

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください