[SalesForce] Disable Linking Email-To-Case Records To Contacts

Is there a way to NOT link Cases created by Email-to-Case to a Contact?

In other words: Just let the Case be created, but then let a human decide to link it, if desired?

We will have more than one Contact, in many cases, with the same email address (multi-division company that does not want divisions to see each other's records even at the Contact level, much less Opportunity and other levels beneath).

Given my constraints, I need to have the Cases come in, NOT link them automatically to any Contacts, and allow the "Case Managers" to deal with them. Even the Help available on Email-To-Case mentions "don't have duplicate email addreses" on Contacts, so I'm trying the next best route.

When an incoming email creates a case in Salesforce via Email-to-Case,
the logic looks to match the email address in the FROM field to a
Contact's email address in Salesforce. If a match is returned, the
system associates the created case to the related contact record.

The Email-to-Case logic will query all the Email fields on the Contact
object, including Standard and Custom Email fields.

Upon finding a match in any of the email address fields, Email-to-Case
will assign the contact to the new case.

If two or more contacts have the same email address, Email-to-Case
will leave the contact and account fields blank.

If no matching contacts are found, email-to-case will leave the
contact and account fields blank, but will populate the fields "Web
Email" and "Web Name".

As a best practice, please ensure that you do not have the same email
address on multiple contact records.

enter image description here

enter image description here


UPDATE:   Salesforce support has finally verified what I already investigated – that there is no "official way" to accomplish this.

Cases will NOT LINK to a Contact in the following situations only:

  • The email did not match any Contacts – To resolve this do a global search and then add a new Contact as needed
  • The email matched more than one Contact – Change the email address to ensure that no email is used in more than one contact
  • The email is not in the standard email field – Salesforce does not match with emails created on custom email fields. Hence ensure that standard email field in contact gets populated

My only recourse at the moment is to allow a (possible) linkup, then UNLINK it via Process Builder / Flow, then do what I want with the Case. This is not ideal depending on what is setup to happen to new Cases. I believe if I add a hidden "bypass" field that is stamped ONLY by routines I WRITE, I can get around that.

Best Answer

Your requirement is achievable.

  1. Create a unique Case Origin let's say TestEmailRouting and assign this origin whenever Email-to-Case is getting created for that routing address.

  2. Create a Process builder process on Case object, during case creation and update Case record as follows:

    • Contact Id to BLANK

    • CaseOrigin to Email (i.e. from TestEmailRouting to Email)

with a criteria CaseOrigin equals TestEmailRouting

You can also handle this with a recordtype.

  1. Create a flow which will search for correct Contact based on emailId and division and assign the Contact to the Case. Call this flow from process builder.
Related Topic