# Code node Code node 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 › Code**. ## Prerequisites - A Flowline account (cloud or self-hosted) - Editor access to the project - About 15 minutes ## How it works Every workflow starts with a **trigger**, passes *items* from node to node, and ends when the last node finishes. Code node 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. ![Code node — sample screenshot](https://picsum.photos/seed/code-node/1200/640) ## Step-by-step 1. Open the workflow editor and select **Add node**. 2. Search for **Code node** 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 80) | | Retry on fail | boolean | No | Retries up to 3 times with back-off | ## Example ```bash # Code node docker run -it --rm \ -p 5678:5678 \ -e FLOWLINE_ENCRYPTION_KEY=change-me \ -v flowline_data:/home/flowline/.flowline \ flowline/flowline:latest ```
Advanced options

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

## 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**