Skip to content

Edit Fields

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

FieldTypeRequiredDescription
modeselectYesmanual or json
setFieldskey_value_mappingNoFields to add or overwrite (manual mode)
dataTypeselectNoType to cast values to: Auto, String, Number, Boolean, Object, Array
renameFieldskey_value_mappingNoFields to rename: Key = current name, Value = new name
removeFieldstextNoComma-separated field names to delete
includeOtherFieldsbooleanNoIf enabled, all input fields not explicitly defined are kept in the output
dotNotationbooleanNoEnable dot notation for nested objects (e.g. user.name)
ignoreTypeErrorsbooleanNoKeep original value instead of erroring on type conversion failure
jsonDatajsonNoFull output JSON object (json mode only)

When Dot Notation is enabled (default), you can create or access nested objects using . in field names:

KeyValueResult
user.name{{@Webhook.name}}{ "user": { "name": "..." } }
address.cityMadrid{ "address": { "city": "Madrid" } }
totals.vat21{ "totals": { "vat": 21 } }

The node outputs the transformed data object. Depending on includeOtherFields:

  • false (default): only the fields explicitly defined in setFields (plus any renames) are present
  • true: all original input fields are merged, with your defined fields taking precedence

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" }
}

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 user doesn’t exist yet, setting user.name creates the entire path.
  • removeFields also accepts dot notation: user.temp removes only the temp key inside user, not the whole user object.
  • When includeOtherFields is false and 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.