> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/es/automatizacion/workflows.md).

# Flujos de trabajo

Encadene scripts e indicaciones de IA en flujos de trabajo de PowerShell Universal de varios pasos utilizando las variables Workflow y PSUItem para pasar datos entre actividades.

> Esta función requiere una [licencia](/powershell-universal/es/licensing.md).

Los flujos de trabajo de PowerShell Universal encadenan scripts e indicaciones de IA en un único flujo de automatización. Utilice los flujos de trabajo para pasar datos entre pasos, enrutar la ejecución en función de un resultado, ejecutar trabajos independientes de forma simultánea y programar el proceso resultante. Las ejecuciones de flujos de trabajo crean trabajos que puede supervisar en el historial de trabajos estándar.

## Crear un flujo de trabajo

1. Vaya a **Build > Workflows** y seleccione **Create Workflow**.
2. Introduzca un nombre y una descripción opcional.
3. Añada parámetros de flujo de trabajo cuando los llamantes deban proporcionar valores como un entorno, un destino de aprobación o un periodo de retención.
4. Guarde el flujo de trabajo y, a continuación, ábralo para utilizar el **Workflow Designer**.

Los parámetros tienen un nombre, un valor predeterminado, una opción de obligatoriedad y un texto de ayuda. Se solicitan cuando el flujo de trabajo se ejecuta manualmente y están disponibles para las expresiones del flujo de trabajo.

## Crear el flujo de trabajo

El diseñador cuenta con una paleta de actividades, un lienzo de secuencia y un panel de propiedades.

1. Añada una actividad arrastrándola desde la paleta a una zona de destino del lienzo, o seleccione el botón **más** situado junto a la actividad para añadirla al final de la secuencia.
2. Seleccione una actividad para configurar sus propiedades en el panel derecho.
3. Arrastre las actividades de la secuencia para reordenarlas.
4. Seleccione **Save Workflow** después de realizar cambios.

Las actividades de script exponen los parámetros de PowerShell definidos en su script de destino. Proporcione un valor literal o seleccione **PowerShell** para una expresión que se evalúe en tiempo de ejecución. Las actividades de indicaciones de IA le permiten seleccionar un agente de IA y proporcionar la indicación que se va a ejecutar.

## Ramas de decisión

Utilice una actividad **Decision** para crear una rama True y otra False. Esto resulta útil para flujos de aprobación, comprobaciones de validación y la gestión del resultado de un trabajo anterior.

1. Añada **Decision** desde la paleta de actividades.
2. Introduzca una condición de PowerShell que devuelva `$true` o `$false`. Si la deja vacía, la decisión evalúa el primer elemento de salida de la actividad anterior.
3. Utilice **Add activity** en cada carril True o False para definir el trabajo correspondiente a ese resultado.
4. Añada cualquier actividad posterior después de la actividad Decision; cada rama completada continúa con la siguiente actividad del flujo de trabajo principal.

Por ejemplo, un script puede devolver si una implementación está aprobada. La actividad Decision puede utilizar la condición predeterminada basada en la salida anterior, o bien una expresión explícita como:

```powershell
$Workflow.Environment -eq 'Production' -and $PreviousActivity.Status -eq 'Completed'
```

`$PreviousActivity` contiene el ID de la actividad anterior, su tipo, nombre, ID de trabajo, estado, horas de inicio y finalización, y la salida de la canalización. Utilícelo cuando la condición de la rama necesite tanto los metadatos del trabajo como su salida.

## Ejecutar actividades en paralelo

Utilice una actividad **Parallel** cuando actividades independientes de script o de indicaciones de IA puedan ejecutarse al mismo tiempo.

1. Añada **Parallel** desde la paleta de actividades.
2. Seleccione **Add activity** en la actividad Parallel y añada cada actividad secundaria que pueda ejecutarse de forma independiente.
3. Configure cada actividad secundaria como de costumbre.
4. Continúe el flujo de trabajo principal una vez que finalice la actividad Parallel.

PowerShell Universal inicia de forma simultánea los trabajos secundarios aptos y espera a que todos finalicen. Si una indicación de IA falla, o si un script secundario está configurado para fallar ante un error de script y finaliza en estado de fallo, error o tiempo de espera agotado, la actividad Parallel falla.

## Pasar datos entre actividades

Las expresiones de flujo de trabajo se evalúan en tiempo de ejecución y pueden utilizar estas variables:

| Variable            | Uso                                                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$Workflow`         | Valores de los parámetros del flujo de trabajo proporcionados al iniciarse la ejecución.                                                                   |
| `$PSUItem`          | La salida sin procesar de la canalización de la actividad anterior. Un script de destino la recibe automáticamente solo si declara un parámetro `PSUItem`. |
| `$Output`           | Valores con nombre generados por un script anterior que devolvió una tabla hash.                                                                           |
| `$PreviousActivity` | Metadatos y salida de la actividad inmediatamente anterior.                                                                                                |

Por ejemplo, pase un parámetro de flujo de trabajo a una propiedad de una actividad de script:

```powershell
$Workflow.Environment
```

Para deconstruir la salida, haga que un script devuelva exactamente una tabla hash:

```powershell
@{
    Server = 'web01'
    Port = 443
}
```

Con **Deconstruct Hashtable Output** activado (valor predeterminado), las expresiones de PowerShell posteriores pueden utilizar los valores con nombre:

```powershell
$Output.Server
```

Si el script devuelve varios objetos, o si el único objeto no es una tabla hash, utilice `$PSUItem` para trabajar con la salida de la actividad anterior.

## Ejecutar y programar flujos de trabajo

Seleccione el icono **Play** en **Build > Workflows** para ejecutar un flujo de trabajo bajo demanda. PowerShell Universal solicita los parámetros configurados y, a continuación, abre el trabajo de flujo de trabajo resultante.

Cree una programación de flujo de trabajo desde la pestaña **Schedules** del flujo de trabajo o desde **Run > Schedules**. Los flujos de trabajo admiten programaciones simples, cron, continuas y de una sola vez. Establezca las mismas opciones de ejecución disponibles para la automatización programada, incluidos el entorno de ejecución, la credencial y la configuración del equipo.

Utilice `Invoke-PSUWorkflow` para iniciar un flujo de trabajo desde PowerShell u otra automatización de PowerShell Universal. Puede proporcionar valores de parámetros al invocarlo.

## Gestionar los flujos de trabajo como configuración

Cuando los flujos de trabajo se mantienen en un repositorio de configuración, utilice la acción **Refresh Configuration > Workflows** del explorador de ficheros de configuración para sincronizar las definiciones de flujo de trabajo actualizadas sin reiniciar PowerShell Universal.

El módulo Universal también proporciona `Get-PSUWorkflow`, `New-PSUWorkflow`, `Set-PSUWorkflow`, `Remove-PSUWorkflow`, `New-PSUWorkflowParameter`, `New-PSUWorkflowActivity` e `Invoke-PSUWorkflow` para escenarios de configuración y automatización.

## Supervisar y solucionar problemas de las ejecuciones

Abra el trabajo del flujo de trabajo desde **Build > Workflows** para revisar su estado, sus flujos, la salida de la canalización y los errores. Los trabajos secundarios de script y de IA están asociados a la ejecución del flujo de trabajo, lo que facilita identificar la actividad que ha fallado.

Al solucionar problemas, compruebe que los nombres de los parámetros del script coinciden con los metadatos del script de destino, utilice una expresión en lugar de un literal para los valores que deban evaluarse en tiempo de ejecución y recuerde que la primera actividad no tiene salida anterior.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/es/automatizacion/workflows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
