I have a Visualforce email template which uses the Custom Labels. For all the custom labels there are translations. I determine the language of the email based on the language code on the contact:

<messaging:emailTemplate subject="{!$Label.Email_Subject}" 

When I test the Visualforce email template in setup using the button Sent Test and Verify Merge Fields, the email shows both, in the setup and in received test email correctly, in the right language. But when the email is triggered by the Process Builder then it's received in English (default language). Any though what could be wrong? Could the language depend on anything else then just the specified field Prefered_Language_Code__c on Contact?


1 Answer 1


Did you check the security settings on that field and/or object?

When you are previewing the email template you are (presumably) in your System Administrator user context.

When the process builder executes it is possible that it is in some other user context, and that user might not have read access on the field or object.

You must log in to answer this question.

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