オフィスや事務所の電話を代行して、チャットやメールでお知らせするサービスです。https://www.fondesk.jp/自動音声とかじゃなく、普通に人間が出て応対してくれます。しくみとしては、会社などにかかってきた電話をfondesk側の電話番号に転送してオペレーターが対応してくれます。Twilioとか裏では使っているんでしょうか。受けた電話の内容については各種ツールで通知を受け取ることが可能です。導入にあたって用意が必要だったことfondeskのお申し込みにはクレジットカードと電話番号が必要になります。NTTの転送設定かかってきた電話をfondeskの番号に転送するため、電話回線の転送サービスが必要になります。電話回線はNTTを使っているのですが、NTTの転送サービス「ボイスワープ」の申し込みが必要でした。NTTに工事を申し込んで半日後くらいには使えるようになりました。通知先にはメール以外にチャットツールを設定できます。Slackの場合は指定したチャンネルへ通知が来ます。残念ながら現状ではメンション機能はありません。宛先に応じた通知機能は多くのご要望をいただいていますが、期待される精度での通知が難しいだけでなく、ユーザーのみなさまにも多くのご負担がかかってしまうため、慎重に検討を進めています。メンションはやはりほしいところ。いうことで自前で実装しました。最初に考えた実装方針fondeskはメール通知ができるので、以下のような方針を最初考えました。SESでメールを受信するLambdaでメールの本文を解析するLambdaからSlackのチャンネルへメンションをつけてPOSTするもともとメール通知だけしか無いシステムで、Slackにも通知をさせたいよね、ということで対応した経験がある方法です。この方法のデメリットただこの方法にはいくつかデメリットがあります。メールアカウントを用意しないといけないAWSの環境を用意しないといけない名前とSlackのユーザーIDのマッピングの保守がしづらい(プログラム内にMapとして列挙する、あるいは何らかのDBを使う必要がある)この方法はもともとメール通知をしている、Slack通知がないという状況下で採用した方法なので、最初からSlack通知に対応している環境下であれば、もっと楽な方法がありそうなものです。2019ということでもっと簡単な方法はないかと思っていたところ、中の方からヒントをいただき次のように実装することにしました。Scriptを使ってメンションを追加するBOTを作りました。ScriptによるBOT用アプリの作り方こちらについては多くの有用な記事がありますので、それらを参考にしていただくといいかと思います。僕が参考にしたのはこのあたりです。有効にするあたりの設定を行う感じです。同姓や同じ部署のときに該当する複数人にメンションが送られる該当者がいないときには@hereにメンションが送られるというメリットがあります。発信者側の名前は検索対象でないので、S社の孫さんから前澤さんへ連絡が来たときに、社内の孫さんにはメンションは飛びません。Scriptの中身です。宛先不明のお電話です。対応したらこの投稿にスタンプをお願いします。対応したらこの投稿にスタンプをお願いします。});};https://gist.github.com/YoshiteruIwasaki/420aa7c9473a3adf35d9f209b24e4ee9使い方Spreadsheetにこんな感じでデータをリストアップします。オペレーターはだいたい名字の漢字あるいはカタカナで「〇〇様宛」と伝えてくれるので、検索に引っかけやすいようにこのようなリストを作ります。なまえ辞書を使うことで漢字の精度を高めることができます。なまえ辞書の使い方なんとなく名前辞書に登録してある氏名は漢字で、そうでない場合にはカタカナを使ってオペレーターの方が内容を送ってくれる感じがあります。U000000002のような感じでデータを入れます。「人事部の田中様」みたいな場合にもidが一緒の場合にはメンションは1つにまとめられます。U000000005のような感じでデータを入れます。することで担当者全員にメンションが行くようになります。同姓の場合も同じように複数人にメンションが行くようになります。これはぶっちゃけ、社内の人間が電話応対しても「弊社には山田は複数人おりますが、どちらの山田宛でしょうか。」みたいな感じで判別するの大変なので、このような実装で十分なのではないかなと思っております。ちなみにいまのところ個人名以外では以下のような感じで入れています。(人事・採用系の電話が多いことがわかります。メッセージの添付ファイルの内容が送信POSTデータに含まれないため、fondeskのアプリから送信される形式のデータは取得することができません。APIの使えるアプリを作る必要があります。Attachmentの中身はエンコードされているtextであればそのまま使えるのですが、Attachmentの中身はエンコードされて送られてくるため、デコードする必要があります。});};http://perutago.seesaa.net/article/202801583.htmlを参考にさせていただきました。メンションの書き方https://qiita.com/ryo-yamaoka/items/7677ee4486cf395ce9bc#%E8%A8%98%E6%B3%95にあるように指定された記法で書かないとメンションになりません。usernameでのメンションは使えなくなったため、user_idを調べてメンションする必要があります。デバッグ方法Loggerでのデバッグがうまく動かなかったのですが、Spreadsheetに出力するようにしてしまうのが手っ取り早いです。//シートのA1セルにメッセージのテキストを取得デバッグ用のPOSTデータ例デバッグするために毎回電話をするのは非現実的です。Webhookを作っておいてPOSTさせるのが良いと思います。"value":"XXXXX様宛。メールご確認くださいとのことでした。https://hooks.slack.com/services/XXXXXXXXXまとめfondeskはもともと素晴らしいサービスですが、メンションがつくようになったことで通知がだいぶスッキリしました!「メンションだけ見てもらえれば大丈夫です!」と自信を持って言えるようになりました。私たちは、クラウドを主軸としてさまざまな市場にITを浸透させ、永続的に成長するITカンパニーをめざしています。upLoginユーザーは見つかりませんでした。