Edit Fields
Description
Section titled “Description”Edit Fields lets you shape the data object between nodes: add new fields, overwrite existing ones, rename keys, and delete unwanted properties. It replaces the common pattern of chaining multiple Set Variable nodes just to restructure data.
Two modes are available:
- Manual: visual key-value editor — no JSON required
- JSON: provide a complete output object with dynamic variables
Configuration
Section titled “Configuration”| Field | Type | Required | Description |
|---|---|---|---|
| mode | select | Yes | manual or json |
| setFields | key_value_mapping | No | Fields to add or overwrite (manual mode) |
| dataType | select | No | Type to cast values to: Auto, String, Number, Boolean, Object, Array |
| renameFields | key_value_mapping | No | Fields to rename: Key = current name, Value = new name |
| removeFields | text | No | Comma-separated field names to delete |
| includeOtherFields | boolean | No | If enabled, all input fields not explicitly defined are kept in the output |
| dotNotation | boolean | No | Enable dot notation for nested objects (e.g. user.name) |
| ignoreTypeErrors | boolean | No | Keep original value instead of erroring on type conversion failure |
| jsonData | json | No | Full output JSON object (json mode only) |
Dot Notation
Section titled “Dot Notation”When Dot Notation is enabled (default), you can create or access nested objects using . in field names:
| Key | Value | Result |
|---|---|---|
user.name | {{@Webhook.name}} | { "user": { "name": "..." } } |
address.city | Madrid | { "address": { "city": "Madrid" } } |
totals.vat | 21 | { "totals": { "vat": 21 } } |
Output
Section titled “Output”The node outputs the transformed data object. Depending on includeOtherFields:
false(default): only the fields explicitly defined insetFields(plus any renames) are presenttrue: all original input fields are merged, with your defined fields taking precedence
Usage Examples
Section titled “Usage Examples”Example 1 — Rename and clean up a webhook payload
Section titled “Example 1 — Rename and clean up a webhook payload”Incoming data from a webhook has inconsistent field names. Normalize them before passing to the next node.
{ "mode": "manual", "renameFields": [ { "key": "cust_id", "value": "customer_id" }, { "key": "ord_total", "value": "total" } ], "removeFields": "internal_ref, debug_flag", "includeOtherFields": true}Input: { "cust_id": 42, "ord_total": 99.9, "internal_ref": "X", "debug_flag": true, "email": "a@b.com" }
Output: { "customer_id": 42, "total": 99.9, "email": "a@b.com" }
Example 2 — Build a nested object for an API call
Section titled “Example 2 — Build a nested object for an API call”Compose a structured payload required by an external API.
{ "mode": "manual", "setFields": [ { "key": "order.id", "value": "{{@Webhook.order_number}}" }, { "key": "order.customer.name", "value": "{{@Webhook.customer_name}}" }, { "key": "order.total", "value": "{{@Webhook.amount}}" }, { "key": "meta.source", "value": "floogos" } ], "dotNotation": true}Output:
{ "order": { "id": "ORD-123", "customer": { "name": "Maria Garcia" }, "total": 250.00 }, "meta": { "source": "floogos" }}Example 3 — Type casting
Section titled “Example 3 — Type casting”Force numeric fields that arrive as strings (common in form submissions) to their correct type.
{ "mode": "manual", "setFields": [ { "key": "quantity", "value": "{{@FormTrigger.quantity}}" }, { "key": "price", "value": "{{@FormTrigger.price}}" } ], "dataType": "number", "includeOtherFields": true}Example 4 — Full JSON mode for complex transformations
Section titled “Example 4 — Full JSON mode for complex transformations”Use JSON mode when the output structure is easier to express as a literal object.
{ "mode": "json", "jsonData": { "id": "{{@HTTP.data.id}}", "status": "processed", "items": "{{@HTTP.data.line_items}}", "processed_at": "{{@HTTP.data.created_at}}", "source": "floogos-sync" }}- Evaluation order: fields are set first, then renamed, then removed.
- Dot notation creates intermediate objects automatically — if
userdoesn’t exist yet, settinguser.namecreates the entire path. removeFieldsalso accepts dot notation:user.tempremoves only thetempkey insideuser, not the wholeuserobject.- When
includeOtherFieldsisfalseand you forget to include a field, it will be missing from the output — useful for explicit output schemas, but be careful not to drop required data.
Related Nodes
Section titled “Related Nodes”- Key Filter — filter keys from an object
- Data Mapper — map arrays of objects
- Set Variable — store a single value in a workflow variable
- Evaluate Expression — compute calculated values