Edit Fields
Descripción
Sección titulada «Descripción»Edit Fields permite moldear el objeto de datos entre nodos: agregar campos nuevos, sobreescribir existentes, renombrar claves y eliminar propiedades no deseadas. Reemplaza el patron habitual de encadenar múltiples nodos Set Variable solo para reestructurar datos.
Dos modos disponibles:
- Manual: editor visual de clave-valor — no requiere JSON
- JSON: define directamente el objeto de salida completo con variables dinámicas
Configuración
Sección titulada «Configuración»| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| mode | select | Si | manual o json |
| setFields | key_value_mapping | No | Campos a agregar o sobreescribir (modo manual) |
| dataType | select | No | Tipo al que convertir los valores: Auto, String, Number, Boolean, Object, Array |
| renameFields | key_value_mapping | No | Campos a renombrar: Key = nombre actual, Value = nombre nuevo |
| removeFields | text | No | Nombres de campos a eliminar, separados por coma |
| includeOtherFields | boolean | No | Si esta activo, los campos del input no definidos explicitamente se mantienen en la salida |
| dotNotation | boolean | No | Notación punto para objetos anidados (ej: user.name) |
| ignoreTypeErrors | boolean | No | Mantener el valor original en lugar de producir error si la conversion de tipo falla |
| jsonData | json | No | Objeto JSON completo de salida (solo modo json) |
Notación punto
Sección titulada «Notación punto»Cuando la Notación punto esta habilitada (por defecto), puedes crear o acceder a objetos anidados usando . en los nombres de campo:
| Key | Value | Resultado |
|---|---|---|
user.name | {{@Webhook.name}} | { "user": { "name": "..." } } |
address.city | Madrid | { "address": { "city": "Madrid" } } |
totals.vat | 21 | { "totals": { "vat": 21 } } |
El nodo devuelve el objeto de datos transformado. Según includeOtherFields:
false(por defecto): solo estan presentes los campos definidos explicitamente ensetFields(mas los renombrados)true: todos los campos del input original se fusionan, con tus campos definidos tomando precedencia
Ejemplos de uso
Sección titulada «Ejemplos de uso»Ejemplo 1 — Renombrar y limpiar un payload de webhook
Sección titulada «Ejemplo 1 — Renombrar y limpiar un payload de webhook»Los datos entrantes de un webhook tienen nombres de campo inconsistentes. Normaliza antes de pasar al siguiente nodo.
{ "mode": "manual", "renameFields": [ { "key": "cust_id", "value": "customer_id" }, { "key": "ord_total", "value": "total" } ], "removeFields": "internal_ref, debug_flag", "includeOtherFields": true}Entrada: { "cust_id": 42, "ord_total": 99.9, "internal_ref": "X", "debug_flag": true, "email": "a@b.com" }
Salida: { "customer_id": 42, "total": 99.9, "email": "a@b.com" }
Ejemplo 2 — Construir objeto anidado para una llamada API
Sección titulada «Ejemplo 2 — Construir objeto anidado para una llamada API»Componer un payload estructurado requerido por una API externa.
{ "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}Salida:
{ "order": { "id": "ORD-123", "customer": { "name": "Maria Garcia" }, "total": 250.00 }, "meta": { "source": "floogos" }}Ejemplo 3 — Conversion de tipo
Sección titulada «Ejemplo 3 — Conversion de tipo»Forzar campos numericos que llegan como strings (comun en envíos de formulario) a su tipo correcto.
{ "mode": "manual", "setFields": [ { "key": "cantidad", "value": "{{@FormTrigger.cantidad}}" }, { "key": "precio", "value": "{{@FormTrigger.precio}}" } ], "dataType": "number", "includeOtherFields": true}Ejemplo 4 — Modo JSON para transformaciones complejas
Sección titulada «Ejemplo 4 — Modo JSON para transformaciones complejas»Usa el modo JSON cuando la estructura de salida es mas fácil de expresar como objeto literal.
{ "mode": "json", "jsonData": { "id": "{{@HTTP.data.id}}", "estado": "procesado", "lineas": "{{@HTTP.data.line_items}}", "procesado_en": "{{@HTTP.data.created_at}}", "origen": "floogos-sync" }}- Orden de evaluación: primero se asignan los campos, luego se renombran, luego se eliminan.
- La notación punto crea objetos intermedios automáticamente — si
userno existe, al asignaruser.namese crea toda la ruta. removeFieldstambién acepta notación punto:user.tempelimina solo la clavetempdentro deuser, no el objetousercompleto.- Cuando
includeOtherFieldsesfalsey olvidas incluir un campo, este no estará en la salida — útil para esquemas de salida explicitos, pero hay que tener cuidado de no perder datos necesarios.
Nodos relacionados
Sección titulada «Nodos relacionados»- Key Filter — filtrar claves de un objeto
- Data Mapper — mapear arrays de objetos
- Set Variable — guardar un valor en una variable del workflow
- Evaluate Expression — calcular valores derivados