Email Template Language

An email template allows you to configure the body of a subscriber-generated email in a flexible way.

Template Block

A template can contain one or more blocks. A block is defined by XML style tag <fmeblock></fmeblock>. If a template does not contain these starting and ending tags, it is treated as one block.

If the type attribute of a block is specified as optional, the block is not included in the notification email content unless all the macros it contains have been fully resolved.

Sample usage:

<fmeblock type="optional">

FME transformation job {id} succeeded.


In this case, the block is only active if the {id} macro is resolved.


A keyword is specified as {<keyword>}, and it can be referenced multiple times anywhere in a template block. When a notification email is generated, keywords are resolved to their actual values. Keywords and their values are supplied by FME Notification Service via notifications.

Every FME transformation job that generates a notification supports a set of standard keywords. Other keywords available for use are specific to the FME Flow service that is invoked. For more information about supported keywords, see Email Template Keywords .

For example, the following JSON notification generated by the Data Download service:




"timeFinished":"Mon-15-Aug-2011 02:01:46 PM",

"timeRequested":"Mon-15-Aug-2011 02:01:45 PM",

"timeStarted":"Mon-15-Aug-2011 02:01:45 PM",





"StatusMessage":"Translation Successful",



Example: Using Keywords in Emails About Job Failure or Job Success

A JOB_FAILURE email subscriber might use the id and StatusMesssage keywords to indicate which job has failed, and the reason:

<fmeblock type="optional">

Job {id} failed with the message: {StatusMessage}. Access the log file for this job on the Jobs page of the FME Flow Web User Interface. Select the job from the Completed table. On the page for the job, view or download the log.


A JOB_SUCCESS email subscriber might use the same keywords for an email with this message body:

<fmeblock type="optional">

Job {id} succeeded. The Engine status message is {StatusMessage}.



  • @getFileName: returns the file name only of a full file path.

Sample usage:

<fmeblock type="optional">

Click here to download the result:



HTML Content

A template can be in plain text or HTML. The format is specified by the Email Format property of the subscriber. HTML tags can be defined inside or outside template blocks. Keywords can be used in HTML in the same manner as in plain text.

Sample usage:

<fmeblock type="optional">

Job {id} succeeded.<br>

This is a URL: <a href=””>My Company</a>