EmailMessage in Salesforce

“EmailMessage” represents an email in Salesforce.

EmailMessage Supported Calls:

  • create()
  • delete()
  • describeLayout()
  • describeSObjects()
  • getDeleted()
  • getUpdated()
  • query()
  • retrieve()
  • undelete()
  • update()
  • upsert()
  • EmailMessage is only available for organizations that use Email-to-Case or Enhanced Email, which is automatically enabled for most customers.
  • Customer Portal users have read access to EmailMessage if the value for the ParentID field is associated with a case. Otherwise, access is determined by sharing access of the associated task.
  • update() is supported only on records whose Status is Draft. When a record’s Status is not Draft, update() is supported only for the IsExternallyVisible field and custom fields.

Fields in EmailMessage:

Field Label API Field Name Type Length Properties Description
Activity ActivityId reference 15 Create, Filter, Group, Nillable, Sort ID of the activity that is associated with the email. Usually represents an open task that is created for the case owner when a new unread email message is received.
BCC Ids BccIds JunctionIdList Create, Update A string array of IDs for contacts, leads, and users who were sent a blind carbon copy of the email message. Each ID is linked to an EmailMessageRelation record, which represents the relationship between an email message and a Contact, Lead, or User record.
BCC Address BccAddress string 4000 Create, Filter, Nillable, Sort, Update A string array of email addresses for recipients who were sent a blind carbon copy of the email message. This field should include only email addresses that are not associated with Contact, Lead, or User records in Salesforce. If the recipient is a contact, lead, or user, add their ID to the BccIds field instead of adding their email address to the BccAddress field. Then the email message is automatically associated with the contact, lead, or user.
CC Address CcAddress string 4000 Create, Filter, Nillable, Sort, Update A string array of email addresses for recipients who were sent a carbon copy of the email message. This field should include only email addresses that are not associated with Contact, Lead, or User records in Salesforce. If the recipient is a contact, lead, or user, add their ID to the CcIds field instead of adding their email address to the CcAddress field. Then the email message is automatically associated with the contact, lead, or user.
CC Ids CcIds JunctionIdList Create, Update A string array of IDs for contacts, leads, and users who were sent a carbon copy of the email message. Each ID is linked to an EmailMessageRelation record, which represents the relationship between an email message and a Contact, Lead, or User record.
Created By CreatedById reference 15 Defaulted on create, Filter
Created Date CreatedDate datetime Defaulted on create, Filter
Deleted IsDeleted boolean Defaulted on create, Filter Indicates whether the object has been moved to the Recycle Bin (true) or not (false). Label is Deleted.
EmailMessage ID Id id 15
From Address FromAddress email 1000 Create, Filter, Nillable, Update The address that originated the email.
From Name FromName string 1000 Create, Filter, Nillable, Update The sender’s name.
HTML Body HtmlBody textarea 32000 Create, Nillable, Update The body of the email in HTML format.
Has Attachment HasAttachment boolean Defaulted on create, Filter Indicates whether the email was sent with an attachment (true) or not (false).
Headers Headers textarea 32000 Create, Nillable, Update The Internet message headers of the incoming email. Used for debugging and tracing purposes. Does not apply to outgoing emails.
Is Incoming Incoming boolean Create, Defaulted on create, Filter Indicates whether the email was received (true) or sent (false).
Is Client Managed IsClientManaged boolean Create, Defaulted on create, Filter, Group If EmailMessage is created with IsClientManaged set to true, users can modify EmailMessage.ContentDocumentIds to link file attachments even when the Status of the EmailMessage is not set to Draft.
Is Externally Visible IsExternallyVisible boolean Create, Defaulted on create, Filter, Group, Update If the community case feed is enabled, IsExternallyVisible controls the external visibility of emails in communities. When IsExternallyVisible is set to true—its default value—email messages are visible to external users in the case feed.
Only emails with the ParentId field populated are available to be externally visible in communities.
This field can’t be updated if the email’s Status is set to Draft.
Last Modified By LastModifiedById reference 15 Defaulted on modify, Filter
Last Modified Date LastModifiedDate datetime Defaulted on modify, Filter
Message Date MessageDate datetime Create, Filter, Nillable, Update The date the email was created.
Message Identifier MessageIdentifier string 255 Create, Filter, Group, Nillable, Sort, Update The ID of the email message.
Parent Case ParentId reference 15 Create, Filter, Group, Nillable, Sort ID of the case that’s associated with the email.
Related To Id RelatedToId reference 15 Create, Filter, Group, Nillable, Sort The RelatedToId represents nonhuman objects such as accounts, opportunities, campaigns, cases, or custom objects. RelatedToIds are polymorphic. Polymorphic means a RelatedToId is equivalent to the ID of a related object.
Reply-to Email Message ReplyToEmailMessageId reference 15 Create, Filter, Group, Nillable, Sort ID of the inbound or outbound EmailMessage the current EmailMessage is a reply to. It’s not possible to reply to a message whose Status is Draft.
Status Status picklist 40 Create, Filter, Restricted picklist, Update Read only. The status of the email. For example, New, Draft, Unread, Replied, or Sent.
Subject Subject string 3000 Create, Filter, Nillable, Update The subject line of the email.
System Modstamp SystemModstamp datetime
Thread Identifier ThreadIdentifier String 255 Create, Filter, Group, Nillable, Sort, Update The ID of the email thread the email message belongs to.
Text Body TextBody textarea 32000 Create, Nillable, Update The body of the email, in plain text format.
To Address ToAddress string 4000 Create, Filter, Nillable, Update A string array of email addresses for recipients who were sent the email message. This field should include only email addresses that are not associated with Contact, Lead, or User records in Salesforce. If the recipient is a contact, lead, or user, add their ID to the ToIds field instead of adding their email address to the ToAddress field. Then the email message is automatically associated with the contact, lead, or user.
Validate From Address ValidateFromAddress picklist Create, Filter, Nillable, Update A string array of email addresses for recipients who were sent the email message. This field should include only email addresses that are not associated with Contact, Lead, or User records in Salesforce. If the recipient is a contact, lead, or user, add their ID to the ToIds field instead of adding their email address to the ToAddress field. Then the email message is automatically associated with the contact, lead, or user.

EmailMessage Usage:
If your organization uses Email-to-Case, a case is created when an email is sent to one of your company’s addresses. The email, which is related to the case by the ParentID field, is stored as an EmailMessage record. When users view the email, they see the EmailMessage record.

If your organization uses Enhanced Email, each email is stored as an EmailMessage record and a Task record. When users view an email, they see the EmailMessage record.