JavaScript Expressions

Use JEXL templating to dynamically reference and transform data in your workflow fields

Overview

The templating system uses JEXL (JavaScript Expression Language) and supports transforms (pipe syntax) and function calls. You can use JavaScript expressions in any field throughout your workflows to dynamically reference and transform data from previous nodes.

Transform Syntax (Recommended)

${ value | transform1(arg1) | transform2() }

Function Syntax (Alternate)

${ functionName(value, arg1) }

Variable Reference

${<slug>.<outputKey>}

Example: ${fetchUsers.users[0].email}

Expression Categories

Browse the expression categories below to learn about all 27 available functions. Each category page includes detailed examples and usage for every function.

Important Notes

  • Null/Type Safety: Functions return sensible fallbacks ("", [], or null) rather than throwing errors when inputs are null/undefined or of the wrong type.
  • Chaining: Transforms can be chained left-to-right: ${ value | transform1() | transform2() }
  • Variable References: Always reference data via node slug and output key: ${slug.outputKey}
  • Property Access: Dot (.) is for property access only, not method calls. Use transforms instead.

Example Usage

Complex Example: Path Processing

Get last path segment, strip extension, remove dashes

${ githubReadFile1.filePath | split("/") | last() | replace(".ts", "") | replace("-", "") }

User Data Processing

Pick first user's email, lowercase and trim

${ fetchUsers.users[0].email | lower() | trim() }

Array Joining

Join tags with commas

${ article.tags | join(", ") }