# License
License 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: Get started.
## 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. License 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.
## Step-by-step
1. Open the workflow editor and select **Add node**.
2. Search for **License** 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 35) |
| Retry on fail | boolean | No | Retries up to 3 times with back-off |
## Example
```javascript
// License: 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 } }));
```
Advanced options
Set FLOWLINE_LICENSE_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**