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.

  • do you want not to link to Contact at all for email to Case? Apr 25, 2017 at 18:35
  • Yes, because even if someone emails and they have ONE Contact record... the structure of the company is such that Exec would not like it if customers emailed the ABC division, when they're in the DEF division, and it worked. They're not "hiding" that the divisions are part of the same umbrella, but they also do not advertise it. For us, for now, it's all or none. I just really wish there were formula-based logic decisions on cases (what kinds of Contacts to find where FieldX is this and FieldY is that, etc). Then if ABC email address comes thru person is ONLY in DEF, would not match/link.
    – AMM
    Apr 26, 2017 at 12:13

2 Answers 2


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.
  • I will give this a try as soon as possible, but I question how this helps (a) stop any cases from being assigned, and/or (b) allowing me to (better) assign cases to specific duplicate email-address contacts. I get the idea of Origin and PBuilder, but what's to stop Email-To-Case from ASSIGNING the Case PRIOR to Process Builder running?
    – AMM
    Apr 26, 2017 at 12:31
  • Weird. So far, testing is showing that Email-to-case is NOT LINKING to any Contacts. I created two contacts with the same email, emailed fromthat email, and the Cases were created with no link to Contact or Account. If I can be sure that STAYS THAT WAY, then PROCESS BUILDER is the answer, but it makes no sense. Going to contact support.
    – AMM
    Apr 26, 2017 at 12:55
  • I thought that, you don't want to link to any contacts from Email to case. so whats your exact requirement? Apr 26, 2017 at 13:25
  • Yes, that is the requirement (because then I was going to do exactly what your Answer suggests for the most part - use PBuilder (and Flows) to then find the CORRECT Contact after-the-fact. I'm not doing ANYTHING from your Answer yet. My emails are NOT getting linked to EITHER duplicate Contact.
    – AMM
    Apr 26, 2017 at 14:20
  • yes, you can use flow to find the correct Contact based on email id Apr 26, 2017 at 14:23

Email to case now matches on all email fields, including custom email fields. But the auto-response will always send to preferred email, which is problematic if one thinks about it for a few milliseconds. You submit a case from email abc, and the autoresponse is sent to email xyz (and also email abc, if you check the box to copy all email addresses on the autoresponse).

There is now an easy declarative way to remove the contact from the case, using before-save flows, which fires before the auto-response rule!

The flow needs to set case.contactId and case.preferredEmail to blank (global constant empty string). I assume both are required, did not test them independently.

flow overview

  • it works, thanks! This answer should be accepted!
    – DarkSkull
    Jul 27, 2021 at 9:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .