DEV Community

Cover image for Workflows en Microsoft Foundry
Pablito Piova
Pablito Piova

Posted on

Workflows en Microsoft Foundry

¿Qué es un Workflow en Microsoft Foundry?

Cuando pasas de “un agente que responde” a “un sistema que resuelve”, aparecen tareas con varios pasos, decisiones, validaciones y (a veces) intervención humana. Los Workflows en Microsoft Foundry están pensados para resolver eso: una forma visual (UI-based) de definir una secuencia declarativa de acciones donde podés invocar agentes, agregar lógica (if/else, bucles), transformar datos y conversar con el usuario.

En la práctica, esto te permite armar automatizaciones robustas combinando:

  • Agentes (con diferentes roles o especialidades).
  • Lógica de proceso (decisiones, bifurcaciones, validaciones).
  • Mensajes y preguntas para guiar al usuario.
  • Variables y expresiones con Power Fx.

Prerrequisitos

  • Una cuenta de Azure con suscripción activa.
  • Un proyecto creado en Microsoft Foundry.
  • Acceso a la experiencia Foundry (new) con el toggle New Foundry habilitado.

Toggle

Conceptos clave: patrones de orquestación

Al crear un Workflow podés empezar desde cero o desde plantillas que siguen patrones típicos:

  • Human in the loop: el flujo pregunta algo y espera una confirmación o dato humano para continuar.
  • Sequential: encadena pasos en orden (ideal para “pipeline”).
  • Group chat: coordina varios agentes “pasándose la posta” según reglas/contexto (escalamientos, especialistas).

Tip: Si tu caso exige patrones más avanzados (por ejemplo, ejecución paralela), revisá los patrones del Microsoft Agent Framework (por ejemplo Concurrent, Sequential, Group Chat, Handoff).

Crear un Workflow (paso a paso)

  1. Entrá al portal de Microsoft Foundry.
  2. Verificá que New Foundry esté activado.
  3. En el menú superior derecho, elegí Build.
  4. Seleccioná Create new workflow y elegí un template (por ejemplo Sequential).
  5. Asigná agentes a los nodos de agente (podés usar existentes o crear nuevos).
  6. Importante: guardá con Save cada vez que hagas cambios (no se guarda automáticamente).
  7. Probalo con Run Workflow y probá el flujo en el panel de chat.

Ejemplo 1: “Ask a question” + Power Fx (Upper)

Este ejemplo es ideal para entender el flujo mínimo:
1) preguntás algo, 2) guardás la respuesta en una variable, 3) la reutilizás con una fórmula.

Paso 1 — Agregar “Ask a question” y guardar la respuesta

Agregá un nodo Ask a question con un texto como:

“What is your name?”

y guardá la respuesta en una variable local (por ejemplo: Var01).

Nodo

Paso 2 — Enviar un mensaje usando Power Fx

Agregá un nodo Send message y usá esta fórmula para devolver el nombre en mayúsculas:

{Upper(Local.Var01)}

Nodo

Paso 3 — Probarlo en Preview

Ejecutá Preview y probá el flujo desde el panel de chat.

Preview del workflow


Ejemplo 2 - invocar un agente con salida estructurada (JSON Schema)

Cuando tu workflow crece, el texto libre se vuelve difícil de encadenar. Por eso Foundry permite configurar que un agente responda con un JSON Schema (salida estructurada), y luego guardar ese JSON en una variable para usarlo en decisiones o transformaciones.

Paso 1 — Configurar el formato de salida del agente

En la configuración del agente (en el nodo Invoke agent):

  • Ir a Details
  • Abrir el panel de Parameters
  • En Text format, elegir JSON Schema

Seleccionar JSON Schema en Text format

Paso 2 — Pegar el JSON Schema en “Add response format”

Pegá tu schema en el modal Add response format y guardá.

Add response format con JSON Schema

Ejemplo de schema (simple) para un agente que devuelve resultado estructurado:
{
"name": "triage_response",
"schema": {
"type": "object",
"properties": {
"category": { "type": "string" },
"priority": { "type": "string", "enum": ["Low", "Medium", "High", "Critical"] },
"summary": { "type": "string" }
},
"required": ["category", "priority", "summary"],
"additionalProperties": false
},
"strict": true
}

Paso 3 — Probar el workflow en Preview

Una vez configurados los nodos, es momento de ejecutar y validar el flujo sin salir del portal.

  1. En el editor del workflow, hacé clic en Preview (o Run workflow, según la vista).
  2. Se abrirá un panel de chat donde podés interactuar con el flujo.
  3. Respondé a la pregunta inicial (por ejemplo, tu nombre).
  4. Verificá que el resultado refleje correctamente la lógica definida (en este caso, que el nombre se devuelva en mayúsculas usando Power Fx).

Preview del workflow en Microsoft Foundry

Este modo de preview interactivo es clave para iterar rápido: podés ajustar nodos, fórmulas o mensajes, guardar cambios y volver a ejecutar el workflow hasta que el comportamiento sea el esperado.


Ejemplo 3 — Bifurcación del flujo con if/else y System variables

Uno de los puntos más potentes de los Workflows en Microsoft Foundry es la posibilidad de tomar decisiones dentro del flujo usando nodos de if/else. Esto permite crear experiencias dinámicas donde el comportamiento cambia según el contexto, los datos ingresados o el resultado de un agente.

Agregar un nodo if/else

  1. En el canvas del workflow, hacé clic en + y seleccioná Logic → If/else.
  2. En el panel de configuración del nodo, definí la condición que determinará qué rama del flujo se ejecuta.
  3. Al comenzar a escribir una expresión, Foundry sugiere automáticamente variables disponibles.

Uso de System variables

Las System variables exponen información del contexto de ejecución, como:

  • mensajes del usuario,
  • estado de la conversación,
  • resultados previos,
  • metadatos del flujo.

Para acceder a ellas, simplemente comenzá a escribir: System.

El editor mostrará las opciones disponibles para ese contexto.

Condición if/else usando System variables

Ejemplo práctico de decisión

Supongamos que en un paso anterior guardaste la salida de un agente (en formato JSON Schema) en una variable local llamada Local.TriageResult.

Podés usar una condición como: Local.TriageResult.priority = "Critical"

  • Si la condición es verdadera → el flujo puede:

    • pedir confirmación al usuario (human-in-the-loop),
    • escalar a un agente especializado,
    • o redirigir a otro workflow.
  • Si la condición es falsa → el flujo continúa con una respuesta automática o un siguiente paso estándar.

¿Cuándo usar if/else en un workflow?

Este patrón es ideal cuando necesitás:

  • clasificar tickets (alta vs baja prioridad),
  • validar información antes de continuar,
  • aplicar reglas de negocio simples,
  • decidir entre automatización completa o intervención humana.

Con este enfoque, el workflow deja de ser una secuencia rígida y pasa a comportarse como un proceso inteligente, combinando IA, reglas y contexto en tiempo real.


Comparación: workflow visual vs orquestación por código

Para equipos técnicos, una pregunta frecuente es:

¿cuándo conviene usar Workflows visuales en Foundry y cuándo orquestar todo por código?

La respuesta corta es: no compiten, se complementan. Cada enfoque brilla en escenarios distintos.

Workflow visual (Microsoft Foundry)

Ventajas

  • Diseño low-code / no-code, ideal para iterar rápido.
  • Visibilidad clara del flujo completo (canvas visual).
  • Fácil de explicar y mantener por equipos mixtos (devs + negocio).
  • Soporte nativo para:
    • JSON Schema
    • Power Fx
    • if/else
    • human-in-the-loop
  • Versionado automático y vista en YAML.

Cuándo usarlo

  • Procesos bien definidos (triage, approvals, validaciones).
  • Automatizaciones con reglas de negocio claras.
  • Casos donde la transparencia del flujo es clave.
  • Prototipado y evolución rápida sin reescribir código.

Orquestación por código (SDK / Agent Framework)

La orquestación por código es el enfoque más flexible cuando necesitás definir flujos complejos, dinámicos o fuertemente integrados con una aplicación existente. En lugar de un canvas visual, el flujo entre agentes y pasos se describe directamente en código usando el Microsoft Agent Framework.

Este modelo resulta especialmente atractivo para equipos de desarrollo que buscan:

  • control total del ciclo de vida del workflow,
  • versionado y despliegue junto con el código,
  • integración directa con servicios, SDKs y sistemas empresariales.

Ventajas principales

  • Definición explícita del flujo de ejecución.
  • Mayor expresividad para lógica compleja y condicional.
  • Integración nativa con el ecosistema .NET (middleware, DI, logging, testing).
  • Ideal para escenarios donde el workflow es parte del core de la aplicación.

Ejemplo oficial en C# (.NET)

Microsoft ofrece ejemplos donde los workflows se definen de forma declarativa pero expresados en código, combinando claridad estructural con la potencia del lenguaje.

Un ejemplo representativo es el siguiente sample en C# (.NET) del repositorio oficial del Agent Framework:

👉 https://github.com/microsoft/agent-framework/blob/main/dotnet/samples/GettingStarted/Workflows/Declarative/HostedWorkflow/Program.cs#L84

En este ejemplo se puede observar:

  • cómo definir un workflow declarativo directamente en C#,
  • cómo registrar el flujo dentro de una aplicación .NET,
  • cómo ejecutar la orquestación sin depender de una interfaz visual,
  • y cómo este enfoque encaja naturalmente en pipelines de CI/CD y despliegue automatizado.

¿Cuándo elegir orquestación por código?

Este enfoque es recomendable cuando:

  • el flujo de agentes forma parte de una aplicación backend existente,
  • necesitás lógica altamente dinámica o dependiente del runtime,
  • requerís control fino sobre estados, errores o ejecución,
  • o querés aplicar patrones avanzados difíciles de modelar visualmente.

En estos casos, el Agent Framework ofrece la libertad y el control que los desarrolladores esperan, sin renunciar a los conceptos de orquestación y agentes.


Conclusión

Después de trabajar con agentes y distintos modelos de orquestación, los Workflows en Microsoft Foundry se sienten como una evolución natural: pasar de pruebas aisladas a soluciones de IA pensadas para producción.

La combinación de un workflow visual, soporte para JSON Schema y Power Fx permite diseñar flujos claros, fáciles de entender y, sobre todo, mantenibles en el tiempo. En equipos reales —donde conviven desarrollo, arquitectura y negocio— esto marca una diferencia importante.

Desde el lado técnico, lo más interesante es que Foundry no obliga a elegir entre visual o código. Se pueden usar workflows visuales para orquestar procesos y reglas de negocio, y complementar con orquestación por código cuando se necesita mayor control, extensibilidad o integración profunda.

Este enfoque híbrido baja la barrera de entrada sin limitar el crecimiento. El verdadero desafío ya no es cómo usar agentes, sino cómo diseñar flujos de IA que aporten valor real y sostenible.

Si estás explorando agentes en Microsoft Foundry, vale la pena probar Workflows, iterar en Preview y combinar lo visual con código sin miedo. Ahí es donde Foundry empieza a mostrar todo su potencial.


Gracias por leer 🙌 y espero que este recorrido te ayude a diseñar mejores soluciones de IA en tus próximos proyectos 🚀


Referencias

Top comments (0)