Accessing email object variables
Summarize
Summary of Accessing email object variables
In ServiceNow Yokohama release, inbound email action scripts utilize theemailobject and the global variablesysemailto access and manipulate various components of an inbound email. This capability enables customized processing of incoming emails by extracting key details such as sender, recipients, subject, body content, and headers.
Show less
Key Features
- email object variables: Provide direct access to specific parts of an inbound email:
- email.to, email.direct, and email.copied: Comma-separated recipient lists in To: and Cc: fields.
- email.bodytext and email.bodyhtml: Email body in plain text or HTML format.
- email.from: Sender’s email address, resolved either to a user’s email or the header’s address.
- email.fromsysid: Sys ID of the user who sent the email.
- email.origemail and email.fromAddress: Original sender address, configurable via system property
glide.email.inboundaction.extractfromheader. - email.subject: Email subject as plain text.
- email.recipients and email.recipientsarray: Recipients in string and array formats for flexible scripting.
- email.contenttype: MIME type of the email content.
- email.headers: Raw email header details as plain text.
- email.importance: Sender-indicated message importance (High, Low, or empty).
- RFC 2822 compliance: Email address groups must be comma-separated for correct parsing by the instance.
- Inbound email recipient processing: Use
email.recipientsarrayto iterate over recipients and customize email handling logic. - sysemail variable: Provides access to the underlying
sysemailrecord that triggered the inbound email action, allowing reference to email record fields such as uid, sysid, and contenttype.
Practical Application for ServiceNow Customers
By leveraging these email object variables and the sysemail record in inbound email action scripts, ServiceNow customers can create tailored automation and workflows based on email content and recipients. This is crucial for scenarios such as:
- Routing or assigning incidents based on sender or recipients.
- Parsing email body content for automated ticket creation or updates.
- Filtering or prioritizing emails by importance or sender identity.
- Processing emails sent to multiple recipients using array iteration.
Understanding and using these variables ensures precise control over inbound email processing, improving workflow efficiency and user experience within the ServiceNow platform.
An inbound email action script contains the email object to access various pieces of an inbound email through variables. You can use the global variable sys_email with inbound email actions.
| Variable | Contents |
|---|---|
| email.to | Contains a comma-separated list of email addresses in the To: and Cc: boxes. |
| email.direct | Contains a comma-separated list of email addresses in the To: box. |
| email.copied | Contains a comma-separated list of email addresses in the Cc: box. |
| email.body_text | Contains the body of the email as a plain text string. |
| email.body_html | Contains the body of the email as an HTML string. |
| email.from | Contains an email address that depends on the following conditions:
|
| email.from_sys_id | Contains the Sys ID of the user who sent the email to the instance. |
| email.fromAddress |
If system property glide.email.inbound_action.extract_from_header property is set to true, origemail is computed from the headers. The default value is false if the property does not exist. |
| email.origemail | Contains the address of the email sender as listed in the email Headers field. |
| email.subject | Contains the subject of the email as a plain text string. |
| email.recipients | Contains a comma-separated list of recipient addresses as a plain text string, in the To: box. |
| email.recipients_array | Contains the recipient addresses as an array. |
| email.content_type | Contains the MIME content type of the email (for example,text/plain; charset="us-ascii" or text/html; charset="us-ascii"). |
| email.headers | Contains details about the sender, route, and receiver as a plain text string in the format of the sending email client. |
| email.importance | Contains an indication from the sender about how important a message is. The value can be High, Low, or empty. |
Inbound email.recipient variables
var rarray = email.recipients_array ; for ( var i = 0 ; i < rarray.length ; i ++ ) { var recipient = rarray [i ] ; // do something with it } The sys_email variable
This variable lets you access the received sys_email record that triggered the inbound email action. It can be used to reference fields on the email record, such as uid, sys_id, content_type, and so on.