- Introducción
- Primeros pasos con los agentes de UiPath
- Primeros pasos con los agentes de UiPath utilizando LangGraph
- Crear un agente de código bajo en Studio Web
- Añadir herramientas a tu agente de UiPath
- Primeros pasos con UiPath Maestro Flow
Introducción
Crea un flujo de trabajo para obtener un tipo de cambio de divisa en vivo y envía una alerta si está por debajo de un determinado umbral.
Información general
En este tutorial, crearemos el flujo de trabajo de Observación de precios : un Maestro Flow que obtiene un tipo de cambio de divisa en vivo de una API externa, lo compara con un umbral que establecemos y devuelve una alerta o un resultado de no acción basado en el umbral . Esto muestra cómo un flujo de trabajo puede tener una lógica de ramificación basada en los valores que recupera. El flujo tiene seis nodos de largo, por lo que el enfoque permanece en cómo Flujo conecta los datos entre nodos en lugar de en un flujo de trabajo más complejo con varias ramas lógicas.
Tiempo estimado: 30 minutos.
Qué es Maestro
Maestro es una plataforma de orquestación nativa en la nube que unifica la automatización, los agentes de IA y las interacciones humanas en procesos empresariales simplificados de extremo a extremo. Es un motor con tres superficies de modelado:
- Maestro Flow (
.flow) para la orquestación creada por el desarrollador. - Maestro BPMN (
.bpmn) para diagramas de modelo de proceso empresarial y notación que revisan las partes interesadas empresariales. - Gestión de Maestro Case (
caseplan.json) para trabajo humano con muchas excepciones.
Flow es un modelador diferente creado en el mismo tiempo de ejecución que Maestro BPMN, diseñado para desarrolladores que prefieren una experiencia visual basada en nodos a la notación BPMN. Si has creado flujos de trabajo de automatización de procesos robóticos (RPA) o has leído un diagrama BPMN anteriormente, los conceptos se transfieren directamente; lo que cambia es la ergonomía. Para obtener orientación sobre la elección de una superficie, consulta Elegir un modelador de Maestro.
Qué estás creando
Vamos a crear el resto del flujo de supervisión de precios, que toma tres entradas en su desencadenador manual y devuelve un objeto con el resultado basado en nuestra lógica. Cada nodo del flujo tiene un solo trabajo, y el flujo los conecta para crear el flujo de trabajo completo.
A continuación se muestra un diagrama de texto de los diferentes nodos, cómo están conectados y muestra detalles sobre el propósito de cada uno:
start fetchRate1 reshapeRate1 belowThreshold1
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Manual │─────▶│ HTTP Request │────▶│ Script │────▶│ Decision │
│ trigger │ │ │ │ │ │ │
└──────────────┘ └──────────────┘ └──────────────┘ └──────┬───────┘
baseCurrency GET /v2/rates reads .body rate below
quoteCurrency ?base"es returns pair, threshold?
alertThreshold rate, asOf, │
belowThreshold │
┌──────┴──────┐
true │ │ false
▼ ▼
endAlert1 endNoAction1
┌──────────┐ ┌──────────┐
│ End │ │ End │
└──────────┘ └──────────┘
"alert" "no action"
start fetchRate1 reshapeRate1 belowThreshold1
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Manual │─────▶│ HTTP Request │────▶│ Script │────▶│ Decision │
│ trigger │ │ │ │ │ │ │
└──────────────┘ └──────────────┘ └──────────────┘ └──────┬───────┘
baseCurrency GET /v2/rates reads .body rate below
quoteCurrency ?base"es returns pair, threshold?
alertThreshold rate, asOf, │
belowThreshold │
┌──────┴──────┐
true │ │ false
▼ ▼
endAlert1 endNoAction1
┌──────────┐ ┌──────────┐
│ End │ │ End │
└──────────┘ └──────────┘
"alert" "no action"
Utilizaremos los valores del nodo ID mostrados anteriormente actualizándolos para facilitar la legibilidad a partir de los generados: las instrucciones te mostrarán cómo actualizar cada uno de ellos.
La siguiente es la lista de todos los componentes que formarán el flujo:
| Componente | Detalles |
|---|---|
Entrada: baseCurrency | string, predeterminado USD; la moneda desde la que se va a cotizar |
Entrada: quoteCurrency | string, predeterminado EUR; la moneda en la que se fijará el precio |
Entrada: alertThreshold | number, predeterminado 0.9; alerta cuando la tasa cae por debajo de este valor |
Salida: watchResult | object con pair, rate, asOf y belowThreshold |
Nodo (desencadenador manual): start | Inicia la ejecución bajo demanda y lleva las tres entradas al flujo |
Nodo (solicitud HTTP): fetchRate1 | Envía una solicitud GET a la API de tipo de cambio de la moneda de Fráncfort |
Nodo (script): reshapeRate1 | Lee el cuerpo de la respuesta y devuelve pair, rate, asOf y belowThreshold |
Nodo (decisión): belowThreshold1 | Evalúa belowThreshold y toma la ruta verdadera o la falsa |
Nodo (Fin): endAlert1 | Devuelve watchResult como un objeto con los valores pair, rate, asOf y belowThreshold del nodo reshapeRate1 |
Nodo (Fin): endNoAction1 | Devuelve watchResult como un objeto con los valores pair, rate, asOf y belowThreshold del nodo reshapeRate1 |
API de cambio de divisas
Para obtener valores de tipo de cambio reales, utilizaremos Frankfurter, una API de datos de divisas gratuita y de código abierto que realiza un seguimiento de los tipos de cambio diarios de fuentes institucionales. No necesita clave API, ni cuenta ni encabezado de autenticación, por lo que es una buena opción para crear tu primer flujo.
Un ejemplo de respuesta para el tipo de cambio USD a EUR de la API contiene una matriz JSON con una entrada por moneda cotizada:
[
{
"date": "2026-09-01",
"base": "USD",
"quote": "EUR",
"rate": 0.86111
}
]
[
{
"date": "2026-09-01",
"base": "USD",
"quote": "EUR",
"rate": 0.86111
}
]
La forma de la matriz es importante para el nodo Script que creas más tarde: la tasa no está en una ruta fija, por lo que el script busca la entrada cuya quote coincide con tu entrada quoteCurrency en lugar de leer una clave conocida.
Requisitos previos
- Node.js y npm en tu
PATH: la interfaz de línea de comandos (CLI) de UiPath (uip) se instala con npm. Comprueba connode --versionynpm --version, e instala desde nodejs.org si falta alguno. - Una cuenta de UiPath : regístrate o inicia sesión en UiPath Automation Cloud antes de comenzar.
- Un tenant con Maestro Flow habilitado : las ejecuciones de depuración y la implementación se enrutan a través de tu tenant seleccionado.
- Acceso de red a tu entorno UiPath : el inicio de sesión CLI utiliza un flujo de navegador OAuth con una devolución de llamada en el puerto
localhost8104. - VS Code 1.110.0 o posterior con la extensión UiPath Maestro : necesario para crear en el lienzo y útil en cualquier ruta para ver cómo toma forma el flujo. Comprueba tu versión en Código > Acerca de Visual Studio Code o ejecuta
code --version.
No se requiere experiencia previa en UiPath, y no necesitas Studio Web abierto en ningún momento de este tutorial.
¿Trabajas en un espacio de trabajo remoto? En el subsistema de Windows para Linux (WSL), Secure Shell (SSH), Codespaces y espacios de trabajo de contenedores de desarrollo, la extensión se ejecuta en el host remoto, por lo que UiPath CLI debe instalarse allí en lugar de en tu máquina local.
Si no has instalado los requisitos previos antes, sigue los pasos para configurar tu entorno para los tutoriales de UiPath. Utiliza uip --version y uip login status para verificar que CLI está instalado y que lo has autenticado.
Paso 1: aplicar andamios al flujo de Observación de precios
Una solución es la unidad implementable que contiene uno o más proyectos que utilizaremos para empaquetar e implementar nuestro flujo. Comencemos creando primero la solución y luego el proyecto Flow dentro de ella:
-
Crear la solución: crea un directorio con el nombre que especificas a través de
uip solution init <solution name>.uip solution init tutorial-maestro-flow-price-watchuip solution init tutorial-maestro-flow-price-watch -
Cambia al directorio de soluciones recién creado.
cd tutorial-maestro-flow-price-watchcd tutorial-maestro-flow-price-watch -
Crea el proyecto de flujo dentro de la solución.
uip maestro flow init PriceWatchuip maestro flow init PriceWatchNota:El comando
flow initcrea el directorioPriceWatch/que contienePriceWatch.flow(el único archivo que se edita),project.uiprojyoperate.json. Cuandoflow initse ejecuta desde dentro de un directorio de soluciones, también registra el proyecto con la solución principal e informa"Status": "Registered". También crea una carpetaresources/en la raíz de la solución que contiene el estado generado que el empaquetado regenera cada vez que implementamos, pero no necesitarás editar estos archivos para este tutorial. -
Confirma que el flujo se ha andamiado con un solo nodo desencadenador:
uip maestro flow node list PriceWatch/PriceWatch.flow --output tableuip maestro flow node list PriceWatch/PriceWatch.flow --output tableSolo deberías ver una única línea para
triggeren la salida: tus coordenadasXyYpueden diferir, ya que cambian a medida que mueves los nodos en el lienzo visual:Id | Type | Label | Position ----------------|---------------------|-----------------|---------------------------------- start | core.trigger.manual | Manual trigger | {"X":-192,"Y":0}Id | Type | Label | Position ----------------|---------------------|-----------------|---------------------------------- start | core.trigger.manual | Manual trigger | {"X":-192,"Y":0} -
Abre el archivo
PriceWatch/PriceWatch.flowen VS Code. Con la extensión de UiPath Maestro instalada, el archivo se abre en el lienzo visual en lugar de como texto sin formato, lo que te permite ver la representación visual de tu flujo de trabajo.
Siguiente paso
Ahora estamos listos para crear nuestro flujo.