# Data mapping Data mapping explains how this part of Flowline works and how to use it in a real workflow. This page is dummy content for testing the Cloudairy wiki: structure, navigation, search and rendering.

Note: Flowline is a fictional automation product. Section: Build › Data.

## Prerequisites - A Flowline account (cloud or self-hosted) - Editor access to the project - About 10 minutes ## How it works Every workflow starts with a **trigger**, passes *items* from node to node, and ends when the last node finishes. Data mapping fits in the middle of that chain: it receives items, does its work, and hands the result to the next node. Use `$json` to read the current item and `$node["Name"]` to reach an earlier node. Data mapping — sample screenshot ## Step-by-step 1. Open the workflow editor and select **Add node**. 2. Search for **Data mapping** and add it to the canvas. 3. Fill in the required parameters (see the table below). 4. Select **Test step** to run it with sample data. 5. Check the output panel, then **Save** the workflow. ## Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | Name | string | Yes | A label shown on the canvas | | Mode | option | Yes | `run once` or `run per item` | | Timeout | number | No | Seconds before the step fails (default 75) | | Retry on fail | boolean | No | Retries up to 3 times with back-off | ## Example ```javascript // Data mapping: return one item per order const items = $input.all(); return items .filter((i) => i.json.total > 100) .map((i) => ({ json: { id: i.json.id, total: i.json.total * 1.2 } })); ```

Warning: Changing data mapping on a running production workflow takes effect on the next execution. Test in a copy first.

Advanced options

Set FLOWLINE_DATA_MAPPING_LIMIT to cap how many items one execution processes. Leave it unset for no limit.

## Scenario 1: Sync CRM contacts This scenario chains 3 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 120 ms per item, and it handles up to 500 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 10 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 2: Alert on failed payments This scenario chains 4 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 240 ms per item, and it handles up to 1000 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 20 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 3: Enrich new leads This scenario chains 5 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 360 ms per item, and it handles up to 1500 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 30 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 4: Archive old files This scenario chains 6 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 480 ms per item, and it handles up to 2000 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 40 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 5: Post daily reports This scenario chains 7 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 600 ms per item, and it handles up to 2500 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 50 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 6: Route support tickets This scenario chains 8 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 720 ms per item, and it handles up to 3000 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 60 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 7: Back up databases This scenario chains 9 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 840 ms per item, and it handles up to 3500 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 70 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Scenario 8: Translate messages This scenario chains 10 nodes. The trigger fires, the data is cleaned with **Edit Fields**, filtered with **If**, and sent onward. Typical runtime is 960 ms per item, and it handles up to 4000 items per execution. Repeat the steps above, swapping the final node for the destination app. - Input: 80 sample records - Output: one message per matching record - Failure handling: retry, then route to the error workflow ## Troubleshooting | Symptom | Likely cause | Fix | | --- | --- | --- | | Step shows *No output* | The previous node returned zero items | Pin sample data on the previous node | | `401 Unauthorized` | Expired credential | Reconnect it under **Credentials** | | Execution times out | Large payload | Split items with **Split Out** | ## Related - **Build your first workflow** - **Expressions** - **Error handling**