Inbound email action processing

  • Release version: Xanadu
  • Updated August 1, 2024
  • 6 minutes to read
  • The system determines which inbound actions to run by comparing the inbound email type and inbound action conditions to the incoming email message. Certain properties are available to set the reply and forwarding prefixes in the email subject lines that your instance recognizes when processing inbound emails.

    Note:
    Inbound email flows take priority over inbound email actions. If you create flows with inbound email triggers, emails are first processed by the inbound email triggers before they are processed by inbound email actions.

    The system follows this processing flow to determine whether to run an inbound action.

    Figure 1. Inbound action processing work flow
    The system only runs an inbound action when:
    • The incoming email type matches the inbound action Type.
    • If present, the watermark or record number refers to a record in the Target table.
    • The inbound action Conditions evaluates to true.

    If any of these criteria are not met, the system skips the current inbound action and evaluates the next active inbound action. The system processes inbound actions from the lowest to highest Order value. If the inbound action has Stop processing enabled, the system updates the State of the email record to Processed after running the inbound action Script.

    The following video shows how an inbound action condition prevents an incident from being created.

    Prefixes recognized in email subject lines

    Email reply prefixes
    When no watermark is present or the In-Reply-To email header is present, the instance recognizes email containing a prefix from the glide.email.reply_subject_prefix property as reply email. You can use this property to set non-standard reply prefixes in your email system.
    Property Description
    glide.email.reply_subject_prefix Specifies the comma-separated list of prefixes in the subject line that identify an email reply.
    • Type: string
    • Default value: re:,aw:,r:,Accepted:,Tentative:,Declined:
    Note:
    The case of the reply prefix in the email, for example RE:, must exactly match the case of the prefixes defined in this property. If, for example, an email contains the Re: prefix and only RE: is defined in the property, the email will not be recognized as a reply. Therefore, it is a best practice to define multiple versions of the prefix, including mixed-case versions, such as RE:, Re:, and so on.
    Email forward prefixes
    Emails with certain prefixes trigger the forward type of inbound email action. The instance recognizes any email whose subject line contains a prefix from the glide.email.forward_subject_prefix property as forwarded email. Emails with these prefixes trigger inbound email actions of the type forward. Use this property to set non-standard forward prefixes in your email system or you want email forwards to behave like replies. If the value of the system property is empty, then the system reverts to using the values fw: and fwd:.
    Property Description
    glide.email.forward_subject_prefix Specifies the list of prefixes (comma-separated) in the subject line that identify a forwarded email.
    • Type: string
    • Default value: fw:,fwd:
    • Location: Add to the System Properties [sys_properties] table
    Note:
    Prefixes are case insensitive.
    Email forwards as replies
    Properties are available to force inbound actions to process forwarded mail as replied mail. These properties control the subject prefix that the inbound actions use.
    Property Value needed
    glide.email.reply_subject_prefix re:,Re:,RE:,aw:,r:,fw:,fwd:,Fwd:,FWD:
    glide.email.forward_subject_prefix [any text that is not a forward prefix]
    These properties cause the Update Incident inbound action to process all forwarded and replied-to mail.
    Note:
    The glide.email.forward_subject_prefix property must contain some text so that the forwarded email can be processed as a Reply. It can be any text except a forward prefix (that is, fw:,fwd:,Fwd:,FWD:).

    Matching a sender email address to a user

    The instance matches a senders email address to an active user in the User [sys_user] table using inbound actions.

    When processing an email, the instance sets the current user to the user whose email address matches email.from. Inbound actions can then reference that current user. For example, the base system inbound action Create Incident sets the caller_id of the incident to the value returned by gs.getUserID().

    If multiple users have the same email address, the instance first searches for an active user with the email address. The instance does not match inactive users.

    Note:
    Each user record must have a unique email address so that the instance can reliably match the email to the correct user.
    If a unique email address for each user is not possible, assign a shared email address to only one active user so that the instance always matches incoming email from that address to the active user.

    Matching watermarks in the Subject line or Body

    The following examples illustrate how the instance matches randomized watermarks in an email subject line or body.

    Note:
    For instances upgraded from a release before Jakarta, the system can recognize both randomized and non-randomized watermarks during a watermark transition period.
    Table 1. Examples of matching watermarks in the Subject line or body
    Subject Line or Body Contents Matching Results
    Ref:MSG0000008_ aLJc130zDhCVuh3spXmt The instance recognizes this string as a watermark and searches the Email Watermarks [sys_watermark] table for a record with the number MSG0000008_ aLJc130zDhCVuh3spXmt. If this watermark exists, the instance matches the email to the associated record. If this watermark does not exist, the system processes inbound email messages as described in .
    Ref:MSGWTR0000008_wfLLz42IxCgUvG2JlYnh The instance recognizes this string as a watermark and searches the Email Watermarks [sys_watermark] table for a record with the number MSGWTR0000008_wfLLz42IxCgUvG2JlYnh. If this watermark exists, the instance matches the email to the associated record. If this watermark does not exist, the system processes inbound email messages as described in .

    Matching record numbers in the Subject line or Body

    The following examples illustrate how the instance matches record numbers in the subject line of an email to an existing record when no watermark is present.

    Table 2. Examples of matching record numbers in the Subject line
    Subject line contents Matching results
    RE: Example INC0005574 The instance recognizes this subject line as a reply and recognizes the INC prefix as belonging to the Incident table. The instance searches the Incident table for an existing record INC0005574. If this incident exists, the email is associated with this incident. If this incident record does not exist, the instance uses the inbound action for new emails to create an incident and associates the new incident with the email.

    RE: Example "INC0005574"

    RE: Example *INC0005574

    The instance recognizes this subject line as a reply but does not recognize the "INC prefix as belonging to the Incident table because of the quotation mark. The same error occurs for any character other than a space before the record number. The instance instead uses the inbound action for new emails to create an incident and associates the new incident with the email.

    RE: "Example INC0005574"

    RE: Example INC0005574*

    The instance recognizes this subject line as a reply and recognizes the INC prefix as belonging to the Incident table. The instance searches the Incident table for an existing record INC0005574", which it cannot find because of the quotation mark. The same error occurs for any character other than a space at the end of the record number. The instance instead uses the inbound action for new emails to create an incident and associates the new incident with the email.
    RE: CHG0008593 and INC000576 The instance recognizes this subject line as a reply and recognizes one, but not both, of the number prefixes. There is no way to predict which prefix the instance matches first. Whichever prefix it matches, it searches the corresponding table for a matching record. If the record exists, the email is associated with the table. If the record does not exist, the instance uses the inbound action for new emails to create an incident and associates the new incident with the email.
    Note:
    The instance does not support processing email with multiple numbers in the subject line because there is no way to predict which record the instance matches first. For this reason, do not include more than one $number variable in your notifications.
    FW: Example INC0005574 The instance recognizes this subject line as a forward because of the FW: prefix. It uses the inbound action for forwarded emails to create an incident and associates the new incident with the email.
    Example INC0005574 The instance recognizes this subject as a new email because it does not contain a matching reply or forward prefix. It uses the inbound action for new emails to create an incident and associates the new incident with the email.