9

The email to case is a java process that reads all of the data in the email and then assigns pieces to various fields in SF and then does an Insert or Upsert into the SF system. Because the email is completely handled 'behind your firewall' and the data is directly inserted into SF, some people consider this a bit 'safer'. You also get more flexibility since ...


5

On-demand email to case is a good option if you know Email attachments (if any) won't be greater than 25MB in size You are not concerned about keeping the emails traffic within your firewall You won't be required to install an email-to-case agent behind your firewall For further clarification, you may want to play a little with each of them by using them ...


5

You could look at EmailServicesAddress and EmailServicesFunction. SELECT Id,EmailDomainName,IsActive FROM EmailServicesAddress WHERE Function.FunctionName = 'EmailToCase' The FunctionName will be "EmailToCase". This of course assumes some things They have set up some Routing Addresses Enable Email-to-Case Enable On-Demand Service I've confirmed ...


4

I think your issue might be with how you're handling the inbound email from Outlook/Exchange. If you're "Forwarding" the email to the unique SFDC email address, then it is in fact coming from your support email address. Try "Redirecting" the email instead. This should preserve the users From address.


4

If you are on Lightning Experience, the attachments are being saved on a different object/table called ContentDocument. The binary data itself is stored in a related object called ContentVersion, and a object called ContentDocumentLink serves as a junction object for other system objects (so the file is related to a Case or an Opportunity, for example). Be ...


4

No, it looks like we can't deploy them via changesets and any other tool. The best you can do is deploy via Force.com migration tool is EmailServicesFunction which contains EmailToCase and EmailToSalesforce very basic settings to enable /disable them. They cant be used to specify individual email-to-case services. One reason I feel they are not part of ...


4

Substituting the right 11 characters from the org id doesn't always work. Use 10 characters instead. The reason is that the 5 and the 11 will overlap causing a double up of the 5th character! Use this code instead. "ref:_" & LEFT($Organization.Id,5) & SUBSTITUTE(RIGHT($Organization.Id,10), "0", "" )& "._" & LEFT(Id,5) & SUBSTITUTE(Left(...


3

I think your best option might be to set up a trigger in the Case object so everytime a case is inserted from the Email2Case service you can parse the body and populate the required fields as you wish. If you have really complex business logic, you can always go for a specific InboundEmailHandler, but I'm not sure that you really need this option.


3

You should be using {!Case.Thread_Id} in your email templates. The formula in the link you provided was not provided by salesforce.com, but just a random customer that felt they wanted to demonstrate how their formula was (which is incorrect). It's been revealed that the fifth character of an ID is actually part of the pod Id, which was only recently ...


3

Only reliable way to get the Thread Id at this time is when getting the result from Salesforce itself. You can do this by getting the result that Salesforce would generate when sending an Email: // To be replaced with a real case Id. Id caseId = '500c0000008kJL5'; List<Messaging.RenderEmailTemplateBodyResult> renderResults = Messaging....


3

There have been several iterations of the thread ID, see this idea, but you shouldn't be using a regular regex, because that may be bad. Here's my suggestion: public static String shortenID(String idValue) { String[] keys = idValue.left(15).split(''); while(keys.size() > 5 && keys[5] == '0') { keys.remove(5); } return ...


3

There currently isn't a limit as to the number of routing email addresses that can be set up to create a case, as per the docs. However, the general email limits still apply. So if you had a huge number of email to case routing email addresses set up, which generated a huge volume of cases, then you would hit limits.


2

As you mentioned, this is a known issue which means a bug has already been filed on the Salesforce side. Note: Safe Harbor applies to the below I work in R&D at Salesforce and our current plan is to include a fix for this bug in today's weekly patch. To check if your instance has received the latest patch, you can check Trust with your instance. If ...


2

Have you tried Import2? We migrate Case Comments by default, along with your other objects such as Cases, Attachments, Customers and Organizations. We also retain the relationships between these objects, so there is no mapping or special configuration needed on your part. You can see how this will work with your own data with a free sample import: https://...


2

It is unclear what issue you are having as you say it is accepting the case but not creating the case which seems to be a contradiction. If you are speaking about the ability to create an email activity with a subject > 100 characters in length (Your first line in your question) then please see below: https://help.salesforce.com/HTViewSolution?id=...


2

EmailMessage is a child object to Case and as such, can't be referenced within any Case workflow rule criteria or workflow field update formula. That is, one Case can have many EmailMessage. Furthermore, a workflow fires when an SObject is created/updated and the 'event' you are interested in is the EmailMessage DML. You can, however, use workflow rules ...


2

You are directly causing this error (if I recall, you were looking to create some unit tests for this trigger). As noted in the comments, the text of the error message matches the text that you're sending to addError() in your code. When you add an error message to a record in an appropriate trigger context variable using addError() in a before trigger, that ...


2

If you set up email-to-case then you need to send email to the Email Service Address which is bigger one. When at your exchange server, this Email Address (smaller one) and Email Service Address is mapped then sending email to smaller one, the case will get created.


2

This is a question that gets asked unfortunately often. The easy answer is to install this free app. Otherwise you'll have to create a trigger that insert's a record, usually an activity, every time the status of the case changes. Your trigger should populate an "end" field on the last activity that was inserted. The challenge here is defining business ...


2

Email-to-Case Settings can be deployed using the Settings Metadata API Object specifically CaseSettings. However, there are issues: (As of V49) No MDAPI support for the default recordtype - you would need to set manually in the target org The value of EmailServicesAddress in the source org, while it can be (and is) read by the Metadata API, it can not be ...


2

Figured out the issue. I didn't test by sending and replying to the Proxy email designated in the email-to-case setting. It also requires the setting of including the thread ID in the subject or body also located in the Email-to-case setting.


2

This is because they're responding directly to the customer email and their email does not yet have a Thread ID that Salesforce uses to keep emails/replies under one case. They're interacting with the email/customer outside of Salesforce and the case. Salesforce appends an unique thread ID that you can see in Salesforce on the case when you try to respond. ...


1

There is no standard way to map custom/Standard fields in Salesforce in Email to Case. You need to use trigger and parse the message body to get the content and then need to populate the data.


1

Yes, this is the expected behavior. A transaction must run to completion (complete without hitting a governor limit, failed assertion, or uncaught exception), or the entire transaction will be rolled back, including any emails sent with Messaging.sendEmail, jobs queued with System.enqueueJob, System.schedule, or Database.executeBatch, and so on. While you're ...


1

You said My Case object does have a custom 'Additional CC' (and 'Additional BCC') custom fields, which holds the email addresses of the recipients, but I am not seeing any option to add custom fields in the Email Alert If those custom fields are of type Email, then they will appear in the Email Alert. Type Text won't work. Of course, if type Email the ...


1

Your requirement is achievable. Create a unique Case Origin let's say TestEmailRouting and assign this origin whenever Email-to-Case is getting created for that routing address. 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 ...


1

With your requirement, it seems you need to write a trigger on case object, and check "Case Origin". Sample trigger code would be trigger CaseTrg on Case (after Insert) { List<FeedItem> FeedItems = new List<FeedItem>(); for(Case c: trigger.new) { // don't check other stuff if the origin is Email-to-Case as it is already ...


1

You could add another condition to your If statement... if(mapEmailMessage != null && mapEmailMessage.get(c.Id) != null && parentIds.get(c.Id) == null) { c.Description_HTML__c = mapEmailMessage.get(c.Id).HtmlBody; } That will inhibit any overwrites of that field from a new E-Mail. But, you will also have to change your ...


1

At the time of preparing mapEmailMessage map you can verify if parent Id already exists in the map or not. If not exists then only add the parent Id and corresponding EmailMessage. for(EmailMessage e:lste){ if(!mapEmailMessage.containsKey(e.parentId)) { mapEmailMessage.put(e.parentId,e); } } Also, put suitable ORDER BY in SOQL SELECT ...


1

I have rised a case to Salesforce Support and got the following answer: Hi, I have received a feedback that this is working as designed. Currently this is still on the process of being updated. I have tried to seek supporting articles but could not find one. And this seems to be a a limitation of the coding. But our Research and Development Team is welcome ...


Only top voted, non community-wiki answers of a minimum length are eligible