Data transformation
As a process flows, the data it carries rarely arrives in exactly the shape each step needs. In wasabi, every workflow task can transform its data on the way in and on the way out, with no custom code.
Input mapping runs before a step and shapes what it receives: pick and rename fields, compute derived values, assemble the right subset of data for an AI step, or pre-fill a form for a person to review. Output mapping runs after a step and reshapes what it produces: extract and rename result fields, aggregate a list, or normalize a value before the process continues.
Each mapping is a set of target fields; each value is an expression over the data the process is carrying, written directly without the leading = that a field expression uses:
# output mapping: reshape a step's result before continuing
customerName: customer.name
totalDue: subtotal + taxThese transformations use the same safe, closed expression language as the rest of wasabi. They can select fields, compute totals, restructure nested data, and work across lists, but they never execute arbitrary code, so the behavior stays predictable and auditable.
Mapping is especially powerful when processes compose. A workflow can pass a transformed slice of its data into a reusable sub-process and map that sub-process's results back into its own, so complex processes are built from smaller, focused pieces. Each step stays focused on its own job, and mapping handles the glue between them.