# Edit Fields - Workflow node | Docs - nodulz

Source: https://nodulz.com/docs/nodes/set

Language: en

Modify, add, or remove item fields

## Usage and specifics

Use this node to prepare fields expected by an action: rename data, add text or limit the data passed on. Each row assigns a name to a value; enable **Mapped fields only** (`mappedOnly`) to leave unwanted fields out of the output.

With manual input `{ "name": "Ada", "amount": 120 }`, enable this option and add:

- Name `customer.name`, value `{{ input.name }}`.
- Name `amount`, value `{{ input.amount }}`.
- Name `message`, value `Hello {{ input.name }}`.

Expected output:

```json
{
  "customer": { "name": "Ada" },
  "amount": 120,
  "message": "Hello Ada"
}
```

A standalone expression preserves its type in the output; combining text and an expression produces text. A dotted name builds a nested object.

With `mappedOnly` disabled, output preserves upstream fields and adds prepared fields plus `items`, `assigned` and `vars`. With it enabled, these metadata fields are not added: read `nodes.set1.amount` directly, rather than `nodes.set1.vars.amount`.

Simple names also create textual global variables, accessible through `{{ vars.amount }}` or `{{ amount }}`. To preserve a number, object or array, use the node output. Dotted names such as `customer.name` do not create a global variable.

Technical type : `set`. Runtime : `nodulz`.

## Credentials and prerequisites

This node defines no dedicated external credential. Remote sources or execution targets may still need their own access credentials.

See the [credentials guide](/docs/credentials) if a remote source or execution target requires access.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `fields` | `array` | `[]` | - |
| `fields[].name` | `string` | - | -; min 1 |
| `fields[].value` | `string` | - | - |
| `mappedOnly` | `boolean` | `false` | - |

## Configuration help

| Setting | Purpose and guidance |
| --- | --- |
| `mappedOnly`<br>Mapped fields only | When enabled, the output contains only the fields defined below. When disabled, upstream data is kept and merged with the mapped fields. |
| `fields`<br>Variables | Each row assigns a variable name to a resolved value. |

## Examples

- Name: userId
- Value: {{ nodes.http1.body.id }}
- Read later: {{ userId }} or nodes.set1.vars.userId

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "fields": []
}
```

## Verification

Check that `amount` is a number in the inspector and `customer` is an object. Toggle `mappedOnly` to observe preserved fields and added metadata. In the next node, select the field through mapping instead of assuming it is under `vars`. The [complete tutorial](/docs/getting-started) uses this output in an IF.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
