DataWeave Variables for Mule Runtime

DataWeave expressions accept variables that can retrieve values from a variety of Mule Runtime objects. Commonly used variables include attributes, payload, and vars, the main parts of the Mule event.

Variables Description Fields and Examples


The Mule artifact in context.

  • Fields:

    • encoding: Encoding used by the Mule message processor.

    • name: Name of your project and Mule app.

    • standalone: Returns true or false.

    • workDir: Working directory for the Mule app. For Studio, this is an Eclipse plugin directory.

  • Example: #[app.encoding] might return UTF-8.


Attributes (metadata) of a Mule Message object (message).

  • Fields: Depends on the message type, such as HTTP request attributes.

  • Example: [attributes] returns message attributes. For an HTTP request, [attributes.header] returns HTTP header metadata, and #[attributes.version] might return HTTP/1.1.



The correlationId of the message being processed.

[%hardbreaks] * Fields: No fields. * Example: #[correlationId] might return 0-f77404d0-e699-11e7-a217-38c9864c2f8f.


Data type of the message payload.

[%hardbreaks] * Fields: No fields. * Example: #[dataType] might return SimpleDataType.


Error associated with a Mule message object.



The name of the current flow.

[%hardbreaks] * Fields: ** name * Example: #[] will return testFlow when executed within a Flow named testFlow


Package (payload and attributes) being processed.

[%hardbreaks] * Fields: payload: The message payload, or null if the payload is null. dataType: The message payload’s data type. ** attributes: The message attributes, or null if the attributes are null.

* Example: #[message]


The Mule instance on which the application is currently running.

[%hardbreaks] * Fields: clusterId: The ID of the cluster when the Mule runtime is part of a High Availability cluster. home: Home directory. nodeId: Cluster Node ID. version: Mule version. * Example: #[mule.version] might return 4.0.0.


The body of the current Mule message object (message) being processed.

[%hardbreaks] * Fields: Depends on the current payload. * Example: #[payload] returns the body of the message.


The operating system on which the Mule instance is running. Exposes information about both the physical server and the JVM on which Mule runs.

[%hardbreaks] * Fields: env: Map of operating system environment variables. fileSeparator: Character that separates components of a file path, which is / on UNIX and \ on Windows. host: Fully qualified domain name for the server. ip: IP address of the server. locale: Default locale (java.util.Locale) of the JRE. Can be used language (locale.language), country ( javaVendor: JRE version javaVersion: JRE vendor name osArch: Operating system architecture. osName: Operating system name. osVersion: Operating system version. systemProperties: Map of Java system properties. timeZone: Default time zone (java.util.TimeZone) of the JRE. tmpDir: Temporary directory for use by the JRE. userDir: User directory. userHome: User home directory. userName: User name. * Example: #[server.osName] might return Mac OS X.


All variables currently set on the current Mule event being processed.