Mapping

2 min read

The mapping defines how two blocks are connected in a flow. Each connection has its own mapping. In this dialog, you have to provide input to the target service on the right.

Mapping example

You provide the data for the target block by one of the sources on the left-hand side. There are three possible sources:

  • The connection comes from a source block. This block is visible in the mapping. You can drag its output pins to the input pins of the target block to use the data as-is.
  • More sources are listed below the source block. These come from blocks in the flow that are executed before the source block. You can use these the same way you would with source block data.
  • The scripted inputs on the left bottom corner allow you to provide static data as JSON or allow TypeScript code for dynamic mapping. Here, you may use the input object to access data from other sources. For example, a script field may contain input.requestBody.name.toUpperCase() in the example mapping above.

The input may contain optional properties for sources and the target service. Optional properties are printed in grey. You are not required to provide input for optional targets.

Object properties can be expanded to read or write properties inside this object directly. In the example above, the input for "user" in the target service is provided per sub-property. So, a full object for "user" is provided, but it is composed of different sources.

Overridden properties

Each block may contain multiple named outputs. These outputs become available in all mappings defined later in the flow. However, it is possible that data with this name already exists. In that case, the newer data will overwrite the older data. You can rename the output when you need both by clicking on the cog in the source block. This is visible before the "number" output pin in the screenshot above.