Invoke Process
Invoke Process
Sección titulada «Invoke Process»Tipo: invoke-process · Paquete: Core Activities v1.0.8
Ejecuta otro proceso publicado en Zoan Cloud como parte del proceso actual, le pasa datos de entrada y recibe de vuelta sus resultados. Es la forma de reutilizar un proceso completo entre proyectos: el inicio de sesión en un portal, la consulta de un cliente en el ERP o el envío de un reporte se construyen y publican una vez, y los demás procesos los invocan.
El proceso invocado corre dentro de la misma ejecución, no como una ejecución aparte. Por eso lo que devuelve sigue vivo: si el proceso de inicio de sesión devuelve la sesión del navegador ya autenticada, el proceso que lo llamó continúa trabajando en esa misma pestaña.
Cómo funciona
Sección titulada «Cómo funciona»- Busca en Zoan Cloud la versión publicada vigente del proceso indicado en
process, en el mismo ambiente donde corre el robot. La descarga la primera vez y la guarda en la máquina para las siguientes. - Carga los paquetes de actividades que ese proceso necesita y ejecuta su playbook de entrada, pasándole los valores de
input. - El proceso invocado corre con su propio espacio de variables: no ve ni modifica las del proceso que lo llamó.
- Al terminar, sus salidas se mapean a variables del proceso actual según
outputs. - Si el proceso invocado falla, esta actividad falla con el mismo error (capturable con Try / Catch).
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
process | string | — | El proceso publicado a ejecutar, por su nombre. Se invoca siempre su versión publicada vigente; no se fija una versión. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
input | Dictionary | — | Valores que recibe el proceso invocado, como pares nombre: valor. Los nombres son los argumentos de entrada de su playbook principal. |
outputs | Dictionary | — | Mapeo { salidaDelProceso: variableDelLlamador }. Solo cruzan los argumentos de salida (Out o In/Out) del proceso invocado; los nombres que no son variables válidas o que el proceso no devuelve se ignoran. |
Esta actividad no devuelve un valor propio: lo que el proceso invocado produce llega a las variables indicadas en outputs. Como corre en la misma ejecución, una salida puede ser un objeto vivo (una sesión de navegador, una ventana de aplicación) que el proceso actual sigue usando. Al terminar bien queda en el log Proceso '…' completado.
Elegir el proceso en el Designer
Sección titulada «Elegir el proceso en el Designer»Si iniciaste sesión en Zoan Cloud desde el Designer y tienes un ambiente seleccionado, process muestra la lista de procesos publicados en ese ambiente. Al elegir uno, los editores de input y outputs se llenan con las entradas y salidas que ese proceso declara.
Sin sesión, process es un campo de texto libre donde escribes el nombre del proceso: puedes seguir diseñando, y el nombre se resuelve igual cuando el proceso corre en un robot.
Ejemplo
Sección titulada «Ejemplo»Un proceso publicado, Login portal de proveedores, abre el navegador, inicia sesión y devuelve la sesión de página. Otro proceso lo invoca y sigue trabajando en la misma pestaña:
Invoke Process process = "Login portal de proveedores" input = { usuario: "robot01" } outputs = { page: paginaPortal }Page Navigate page = paginaPortal url = "https://proveedores.example.com/facturas"Extract Structured Data page = paginaPortal selector = (#facturas) → output: facturasinput: el proceso invocado recibeusuariocomo variable de entrada.outputs: la salidapagedel proceso invocado se guarda en la variablepaginaPortaldel proceso actual.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
Process not found: '…' | No hay una versión publicada con ese nombre en el ambiente donde corre el robot. Revisa el nombre exacto y que el proceso esté publicado en ese ambiente. |
Process '…' is a Windows process and cannot be invoked from a headless process. … | Un proceso sin interfaz (headless) intentó invocar uno de Windows. Ejecuta el proceso que invoca en un robot Windows, o haz headless el proceso invocado. |
Could not resolve process '…': Zoan Cloud answered HTTP … | Zoan Cloud respondió con un error distinto de “no existe” (por ejemplo, falta de permisos o un fallo del servicio). Revisa los permisos de la cuenta del robot; si es un fallo temporal, envuelve la invocación en un Retry. |
Could not prepare process '…' (…). See the Runner log for details. | El proceso existe, pero no se pudo descargar o preparar en el robot. El detalle queda en el log del Runner; revisa la conexión de la máquina y el espacio en disco. |
invoke-process is not supported in this host (no process resolver configured). | La ejecución no tiene conexión con Zoan Cloud (por ejemplo, el Designer sin sesión iniciada). Inicia sesión en Zoan Cloud desde el Designer y elige un ambiente, o ejecútalo en un robot conectado. |
Recursion detected: … | El proceso invocado ya se está ejecutando más arriba en la misma cadena de invocaciones. Reorganiza la lógica para no invocarlo de nuevo. |
Maximum invocation depth reached (32 levels). | Hay demasiados procesos o playbooks invocándose unos a otros en cadena. Aplana la estructura. |
La salida '…' no se asignó a '…': … | Advertencia: la variable que recibe la salida no está declarada o su tipo no es compatible. Declárala con el tipo correcto. |
Falló el proceso invocado '…'. | El proceso invocado falló sin un mensaje propio. Cuando lo trae, la actividad falla con ese mismo mensaje y su tipo (un error de negocio sigue siendo de negocio). Manéjalo con un Try / Catch. |
'process' es obligatorio. | Falta el nombre del proceso. |
Actividades relacionadas
Sección titulada «Actividades relacionadas»- Invoke Playbook — ejecutar otro playbook del mismo proyecto.
- Try / Catch — manejar el fallo del proceso invocado.
- Publicar un proceso — cómo se publica la versión que se invoca.
- Variables — cómo se pasan entradas y se reciben salidas.