Saltar al contenido principal
PATCH /workflows/:id/structure Agrega o edita los statuses del funnel y los campos personalizados de un agente. Las filas se upsertean por key: una key desconocida se inserta, una key existente se actualiza. Este endpoint nunca elimina — quitar un status o campo sigue siendo una acción deliberada del dashboard, así ningún lead que esté sentado en un status queda huérfano.

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
idstring (uuid)ID del agente

Cuerpo de la Solicitud

Provee statuses, fields, o ambos.
CampoTipoRequeridoDescripción
statusesarrayNoStatuses del funnel a upsertear (ver forma abajo)
fieldsarrayNoCampos personalizados a upsertear (ver forma abajo)

Forma de statuses[]

CampoTipoRequeridoDescripción
keystringIdentificador estable. Si coincide con un status existente lo actualiza, si no inserta uno nuevo
labelstringEtiqueta visible (name también es aceptado)
is_initialbooleanNoMarca el status de entrada del funnel
is_terminalbooleanNoMarca un status de cierre del funnel
sort_orderintegerNoAl insertar, por defecto es el índice del array agregado después del máximo actual. Se ignora al actualizar — reordenar statuses existentes no se hace aquí

Forma de fields[]

CampoTipoRequeridoDescripción
keystringIdentificador estable
labelstringEtiqueta visible
typestringNoUno de: text, number, date, datetime, boolean, select, multiselect, email, phone, url, currency. Por defecto text
requiredbooleanNoSi el agente debe recolectar este campo antes de avanzar. Por defecto false
sort_orderintegerNoMismo comportamiento de inserción/actualización que statuses

Respuestas

200 — Actualizado

{
  "success": true,
  "workflow_id": "123e4567-e89b-12d3-a456-426614174000",
  "statuses_upserted": 2,
  "fields_upserted": 1
}
statuses_upserted / fields_upserted solo aparecen para los arrays que enviaste.

400 — Error de validación

{
  "error": "Invalid input",
  "message": "Provide statuses and/or fields arrays"
}
También se devuelve como "each status needs a key and a label" o "each field needs a key and a label".

401 — Error de autenticación

Ver Autenticación.

404 — No encontrado

{
  "error": "Not found",
  "message": "Workflow not found"
}

500 — Error interno del servidor

Última modificación el 10 de julio de 2026