Ir al contenido

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.

  1. 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.
  2. Carga los paquetes de actividades que ese proceso necesita y ejecuta su playbook de entrada, pasándole los valores de input.
  3. El proceso invocado corre con su propio espacio de variables: no ve ni modifica las del proceso que lo llamó.
  4. Al terminar, sus salidas se mapean a variables del proceso actual según outputs.
  5. Si el proceso invocado falla, esta actividad falla con el mismo error (capturable con Try / Catch).
ParámetroTipoPor defectoDescripción
processstring—El proceso publicado a ejecutar, por su nombre. Se invoca siempre su versión publicada vigente; no se fija una versión.
ParámetroTipoPor defectoDescripción
inputDictionary—Valores que recibe el proceso invocado, como pares nombre: valor. Los nombres son los argumentos de entrada de su playbook principal.
outputsDictionary—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.

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.

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: facturas
  • input: el proceso invocado recibe usuario como variable de entrada.
  • outputs: la salida page del proceso invocado se guarda en la variable paginaPortal del proceso actual.
MensajeCausa 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.