Quester Studio

template

Render a string with {{…}} tokens and optional Eta (mode eta) or safe interpolation only

Builds a string. First {{…}} tokens are resolved. With default mode: "eta", the result is then rendered with Eta (in-process JavaScript, not a sandbox). With mode: "safe", only {{…}} interpolation is allowed and Eta tags (<% %>, <%= %>) fail the node.

Mustache templates use {{input.*}} and {{nodes.*}}. Eta can also use it.previous for the wire JSON. Trust model: SECURITY.md. Concepts: How flows work.

in ×1 template out ×1
Renders a string. Multiple outgoing edges (fan-out) share the same output.

Data

FieldTypeDescription
labelstringOptional UI label
mode"eta" | "safe"Default "eta". "safe" rejects Eta tags
templatestringrequired

Input / output

Value
Execute inputPrevious node output (available as Eta it.previous when mode is eta)
OutputRendered string

Eta context (it) — mode eta only

KeyMeaning
it.inputFlow run input
it.varsCurrent vars
it.nodesMap of node id → output
it.previousPrevious node output

Examples

Safe mustache only

{
  "id": "msg",
  "type": "template",
  "data": {
    "mode": "safe",
    "template": "Hello {{input.username}}, token={{vars.token}}"
  }
}

Eta expression (default mode)

{
  "id": "eta",
  "type": "template",
  "data": {
    "mode": "eta",
    "template": "Hello <%= it.input.username %>"
  }
}

Build a JSON string for a later http body

{
  "id": "payload",
  "type": "template",
  "data": {
    "template": "{\"id\":<%= it.previous %>,\"name\":\"{{input.username}}\"}"
  }
}

Conditional Eta

{
  "template": "<%= it.input.active ? 'on' : 'off' %>"
}