Saltar al contenido principal

Function

1. Visión General​

El componente Function (function) marca el inicio de un subflujo reutilizable, que puede ser llamado desde cualquier otro punto del mismo flujo a través del componente Function Caller. Es como crear una "función" con nombre dentro de la automatización: defines la lógica una vez y la reutilizas en varios lugares.

Úsalo cuando una misma secuencia de pasos necesita ejecutarse desde diferentes puntos del flujo (evitando duplicar la misma lógica varias veces). No lo uses para el punto de entrada principal del flujo (ese es el papel de otros conectores disparadores, como HTTP o eventos).

2. Prerrequisitos​

No hay credenciales ni accesos externos — es un componente interno del motor de flujo.

3. Autenticación y Conexión​

No aplica.

4. Configuración / Operaciones Soportadas​

Function funciona solo como disparador (punto de entrada) de un subflujo — no ejecuta una acción por sí solo, solo se registra para ser llamado.

CampoObligatorioTipoDescripciónEjemplo
nameSíTextoNombre por el cual esta función será conocida y llamada por el componente Function Caller. No puede estar vacío."validarCliente"

Comportamiento en caso de error: si name no se informa o está vacío, el flujo falla al iniciar, con el error correspondiente. Si ya existe una función con el mismo nombre registrada, la nueva simplemente reemplaza a la anterior (se registra un aviso en el log, pero no es un error).

Este componente recibe la entrada exactamente como fue enviada por el Function Caller que lo llamó — el cuerpo recibido es el cuerpo de salida de la llamada.

5. Ejemplos Prácticos​

Ejemplo simple: una función llamada "formatarEndereco" recibe una dirección en bruto y devuelve la dirección formateada. Queda disponible para ser llamada desde cualquier lugar del flujo por el Function Caller usando ese nombre.

Configuración del componente (inicio del subflujo de la función):

{
"componentName": "function",
"configurations": { "name": "formatarEndereco" }
}

Entrada recibida por esta función cuando alguien la llama (proveniente del Function Caller):

{
"logradouro": "av paulista",
"numero": "1000",
"cidade": "sao paulo"
}

Respuesta producida por el subflujo de la función (después de ser procesada por los componentes siguientes dentro de ella):

{
"enderecoFormatado": "Av. Paulista, 1000 - São Paulo"
}

Ejemplo avanzado: varias partes de un flujo grande (por ejemplo, alta de cliente, actualización de datos e importación por lotes) necesitan validar el mismo conjunto de reglas de negocio. En lugar de repetir los mismos componentes de validación tres veces, se crea una única función "validarCliente", y cada uno de los tres puntos del flujo simplemente llama a esa función por el Function Caller, garantizando que la regla de validación sea siempre la misma.

Configuración del componente:

{
"componentName": "function",
"configurations": { "name": "validarCliente" }
}

Entrada recibida por esta función:

{
"nome": "Maria Silva",
"cpf": "123.456.789-00",
"email": "maria@ejemplo.com"
}

Respuesta producida por el subflujo de la función:

{
"valido": true,
"pendencias": []
}

6. Puntos de atención​

  • El nombre de la función es único dentro del contexto del flujo — configurar el mismo nombre en dos componentes Function hace que el más reciente reemplace al anterior.
  • La función solo existe mientras el flujo que la contiene esté activo; al detener el flujo, deja de poder ser llamada.
  • Funciona solo como punto de entrada (disparador) — no sirve para enviar datos fuera del flujo.

7. Errores Comunes y Troubleshooting​

Error / SíntomaCausa probableCómo resolverlo
"Function 'name' is required in configuration"El campo name no fue completado.Completar el nombre de la función en la configuración.
"Function 'name' cannot be empty"El campo name fue completado solo con espacios en blanco.Informar un nombre válido, sin dejarlo vacío.
Function Caller no encuentra la funciónEl nombre usado en el Function Caller no corresponde exactamente al nombre configurado aquí, o la función todavía no fue iniciada.Comprobar que los nombres sean idénticos y que el flujo que contiene la función esté activo.