Skip to content
LambogeniusDocs

Compose using Liquid for Azure Logic Apps

Inputs and outputs

Every input of the ComposeLiquid action and what it returns.

Service provider/serviceProviders/lamboLiquidComposeOperation ComposeLiquid, shown in the designer as Compose using Liquid.

Inputs

InputTypeNotes
inputFormatjson | xmlRequired.
outputFormatjson | textRequired. json: the rendered text must be exactly one JSON value. text: the text exactly as rendered.
contentanyRead by the template as content. JSON mode: any JSON value, such as @triggerBody(). XML mode: a string holding one XML document, such as @{triggerBody()}. Binary $content envelopes are rejected.
templateSourcedeployed | inlineRequired.
templateNamestringDeployed templates: the path under the template folder, such as orders/order-to-erp.liquid. Can be an expression.
templatestringInline templates: the template text. Inline templates cannot include partials.
parametersobjectRead by the template as parameters. See Parameters and variables.
enableScriptsbooleanAllows the template's {% csharp %} block. Default false.
allowedFunctionAliasesstring arrayFunctions this action may call with CallFunction. Default none.
xmlNamespacesobjectPrefix to namespace URI, for XmlValue and XmlValues.
timeoutSecondsintegerDeadline for the whole action; can only lower the host maximum (60 s by default).

Put retryPolicy inside inputs. Next to inputs, the runtime ignores it and applies its default policy.

Outputs

{
  "result": { "orderNumber": "ORD-100", "currency": "CAD", "lines": [ … ] },
  "renderedText": "{\n  \"orderNumber\": \"ORD-100\", …",
  "contentType": "application/json; charset=utf-8",
  "templateHash": "ff5eeaed…",
  "diagnostics": {
    "durationMs": 9, "queueMs": 0, "prepareMs": 1, "compileMs": 0, "renderMs": 2, "functionMs": 0,
    "compileCacheHit": true, "functionCallCount": 0, "functionCacheHitCount": 0, "partialCount": 0,
    "inputBytes": 214, "outputBytes": 171, "correlationId": "…", "engineVersion": "…", "profile": "LambogeniusV1",
    "workerProcessId": 21408
  }
}
  • result in JSON mode is the parsed value, typed for later actions: body('Compose_using_Liquid')?['result']?['lines']?[0]?['sku']. In text mode it is the text.
  • renderedText is always the exact rendered text.
  • contentType is application/json; charset=utf-8 or text/plain; charset=utf-8. Set your own in a Response for CSV, HTML or XML.
  • templateHash is a SHA-256 over the template, its partials, and the engine and policy versions.
  • diagnostics has timings, compile cache hits, Function call counts and the correlation ID.