Output
Required: no
Default: body, when iterate is not set; item otherwise
With the output directive, you can specify how you want your module output to look.
iterate
When using iterate, output is processed for each item of the array that is specified with the iterate directive.
When not using iterate, output is executed only once and the result is fed to the wrapper directive if present. Otherwise, it will be the final result of the module.
Within a chain of requests, the output directive should only be defined once, in the final step, to produce the module’s or RPC's output.
When you aren't using iterate, you can use the body object to specify the output of the module.
"output": "{{body}}"You can also transform the output using custom IML functions to shape the final result as needed.
"output": "{{parseResponse(body)}}"When using the iterate directive, specify the output using the item object. However, the body is still available to use.
"iterate": "{{body.items}}",
"output": {
"id": "{{item}}"
}wrapper
When using the wrapper directive, the value becomes the final output of the module. This directive is executed only once and at the end of the processing chain. There are no more directives or transformations after it.
In the wrapper directive, you can define additional top-level properties alongside the output. In the example below, the properties someAdditionalStuff and aNumber appear at the top level of the final result, while the transformed data is nested inside the data field.
"iterate": "{{body.users}}",
"output": {
"label": "{{item.name}}",
"value": "{{item.id}}"
},
"wrapper": {
"someAdditionalStuff": "helloworld",
"aNumber": "{{body.aValue}}",
"data": "{{output}}"
}Last updated

