社内での導入事例も増え、それに伴い質問されることも多くなってきたのでまとめてみました。
Salesforceのメールサービス宛に送られてきたメールの情報を項目として取得して、任意のオブジェクトに作成することができる無料のコンポーネントです。(ただしノンサポート)
従来であればApexによる開発を必要としていたため、設計、コーディング、ステージング環境でのテスト、本番環境へのデプロイなどが必要であったため工数もそれなりに掛かりますし、誰でも構築できるわけではありませんでしたが、Mail2Xを使えば誰でも簡単に構築でき、本番環境に直接構築することも可能です。
#取り込みイメージ
メール本文や本文内の項目、ヘッダー情報を個別に格納できます。
#環境構築
下記のドキュメントに記載されている通りに設定します。
https://salesforce.quip.com/mBiKAqI5vFTd
インストール後の簡易的な流れは以下の通りです。
①クイック検索で「メールサービス」を検索
②「新規メールサービス」ボタンを押下
③「メールサービス名」「Apex クラス」(MailMatchingHandler)などを設定し作成
④作成したメールサービス内にあるメールアドレスを新規作成
⑤Mail2X設定を新規作成・設定
⑥作成した設定からマッチングを設定
⑦メールサービスで作成したメールアドレス宛にテストメールを送信し、マッチングに問題がないことを確認
⑧メールサービスで作成したメールアドレスへの転送設定を行い、正しくレコードが作成されているか確認
#導入事例
###不動産
Mail2Xを使って下記2系統のメールをカスタムオブジェクトに取り込みました。
・自社HP経由の本登録完了メール
・SUUMOからの反響お知らせメール
活用方法:
・メール情報を元に個人取引先を作成・紐付け(フローによる自動化)
・Pardotでの自動追客
・レポート・ダッシュボードを使ったメール情報の可視化
・商談への活用
#導入時に気をつけること
・ノンサポートであるため将来的に利用できなくなったり、バグがあっても修正されないなどのリスクを許容する必要がある
・Ver 1.7で最終転送アドレスが指定できなかった(Salesforceのメールサービスから見てFrom,Toのいずれかを受信対象として設定する必要がある)
#エラー対応
#####System.LimitException: Regex too complicated
マッチング設定をしているのにメール内にその値がなかった場合に発生する事があります。
回避策:
・メールによって変動する項目は個別の項目としてマッチング設定をしない
・設定を分けてマッチング設定をする
・正規表現を使ったマッチングを行う
#####転送しているのにレコードが作成されない
①メールサービスでApexクラスを「MailThrowErrorLog」に設定して、実際にSalesforceに転送されてきているのかの疎通確認を「Mail2Xエラーメール」で行う
②転送されていれば「Mail2Xエラーメール」にレコードが作成されるので、その情報を元に「Mail2X設定」「Mail2Xマッチング設定」を見直す
※見落としがちな失敗例としては、マッチング設定の開始テキストなどで余分なスペースが挿入されているためにうまくマッチングできないということもあります。(レコードの詳細画面ではスペースがないように表示されるが、実際に編集画面を開いてみるとスペースが表示されていたりなんてことも。。)
#感想
・メールがどの経路から流れてきて、それをどう加工するのかが明確であれば意外と簡単
・基本公式ドキュメントしか情報源がない