> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Properties

> Add or replace properties on a copy of an object.

The **Set Properties** action copies an optional source object, then applies a
repeatable list of key/value entries. Use it to enrich an object without
discarding its existing fields.

## Inputs

| Input               | Type              | Required  | Description                                      |
| ------------------- | ----------------- | --------- | ------------------------------------------------ |
| **Original Object** | Object            | No        | The object to copy. Defaults to an empty object. |
| **Properties**      | Key/value entries | No        | Fields to add or replace.                        |
| **Key**             | String            | Per entry | A top-level key or nested property path.         |
| **Value**           | Any               | Per entry | The value assigned at that path.                 |

## Outputs

| Output         | Type   | Description                                 |
| -------------- | ------ | ------------------------------------------- |
| **New Object** | Object | The copied object with all entries applied. |

## Example

Starting with:

```json theme={null}
{
  "id": 1042,
  "customer": { "name": "Ada" }
}
```

Set `customer.active` to `true` and `status` to `ready`:

```json theme={null}
{
  "id": 1042,
  "customer": { "name": "Ada", "active": true },
  "status": "ready"
}
```

Dot and bracket paths create nested objects or arrays when needed. Later
entries can overwrite values set by earlier entries.

<Note>
  The source object is cloned before changes are applied, so the output can be
  modified without intentionally mutating the connected input value.
</Note>
