- Primeros pasos
- Para administradores
- Proyectos de flujo de trabajo de RPA
- Crear un flujo de trabajo RPA a partir de una idea
- Creación de un proyecto
- Cómo iniciar un flujo de trabajo de RPA
- Gestionar archivos y carpetas de proyecto
- Conectar flujos de trabajo de RPA a tus cuentas
- Configurar actividades
- Gestionar las actividades de un proyecto
- Transferir valores entre actividades
- Iterar a través de los elementos
- Gestionar los datos en un proyecto
- Configurar un proyecto para usar tus datos
- Usar recursos de archivos y carpetas
- Proyectos de aplicación
- Aplicaciones en Studio Web
- Diseñar proyectos de aplicación
- Depuración de proyectos de aplicación
- Publicar, implementar y actualizar proyectos de aplicaciones
- Importar y exportar proyectos de aplicación
- Trabajar con entidades en un proyecto de aplicación
- Crear aplicaciones accesibles
- Añadir descriptores accesibles
- La etiqueta Accesible
- Uso del control Pestaña para la accesibilidad
- Diseñar listas y encabezados accesibles
- Diseño de aplicaciones receptivas
- Relación de contraste de color
- Estilos preestablecidos y asignaciones a nivel de aria para el control Encabezado
- Limitaciones conocidas
- Visión general de los controles
- Botón
- Casilla de verificación
- HTML personalizado
- Selector de fechas
- Lista desplegable
- Cargador de archivos
- Cargador de archivos múltiples
- Lista desplegable de selección múltiple
- Botón de radio
- Editor de texto enriquecido
- Control deslizante
- Interruptor
- Área de texto
- Cuadro de texto
- Cuadro de texto (correo electrónico)
- Cuadro de texto (Número)
- Controles de iconos
- Establecer un contexto externo utilizando parámetros de consulta
- Establecer un contexto externo utilizando eventos externos
- Utilizar matrices para rellenar controles desplegables, desplegables de selección múltiple y botones de opción
- Utilizar controles tabulares con entidades de Data Service en proyectos de aplicación
- Insertar agentes conversacionales
- Actividades de la aplicación
- Procesos de agente
- Agents
- Soluciones
- Flujos de trabajo de API
- Pruebas

Guía del usuario de Studio Web
Extraer la jerarquía de trabajadores de Workday
El siguiente tutorial demuestra cómo utilizar de forma efectiva las características clave de los flujos de trabajo de la API:
- Esquemas de entrada y salida
- Actividades del conector
- Actividades HTTP del conector
- Expresiones JavaScript
- Formatear y transformar respuestas
- Publicar flujos de trabajo en Orchestrator
Workday contiene datos extensos y confidenciales de los empleados. Al utilizar un flujo de trabajo de API, puedes extraer y transformar información específica. En este tutorial, el flujo de trabajo recupera una jerarquía de empleados basada en las solicitudes de nombre y apellido.

Se requiere una conexión válida a Workday.
- Crea un flujo de trabajo de API.
- Abre Data Manager y añade las propiedades de nombre y apellido como entrada. Puedes hacer referencia a estas propiedades más tarde a través del objeto
$workflow.input. - Añade un conector y configúralo para utilizar la siguiente actividad de Workday (Rest) : Buscar trabajadores por nombre o ID.
- Para el campo Buscar cadena o ID , abre el Editor de expresiones y escribe lo siguiente:
$workflow.input.firstName + " " + $workflow.input.lastName$workflow.input.firstName + " " + $workflow.input.lastName
- Para el campo Buscar cadena o ID , abre el Editor de expresiones y escribe lo siguiente:

-
Depura tu flujo de trabajo y observa la respuesta correcta. Sin embargo, no se encontraron trabajadores.
-
Añade una actividad Si y utiliza el siguiente fragmento como Condición:
$context.outputs.Workers_1.content.length <= 0$context.outputs.Workers_1.content.length <= 0 -
Para la rama Entonces de la actividad Si , añade una actividad Respuesta y configúrala de la siguiente manera:
- Tipo : error
- Detalles—
{ "notFound": "No workers found for given input" }{ "notFound": "No workers found for given input" }
-
Vuelve a depurar tu flujo de trabajo. Como no proporcionaste la entrada requerida, el flujo de trabajo procede automáticamente a esta respuesta y establece el estado del flujo de trabajo como Erróneo.
-
Define una configuración de depuración con la siguiente carga útil:
{ "firstName": "Betty", "lastName": "Liu" }{ "firstName": "Betty", "lastName": "Liu" } -
Depura tu flujo de trabajo hasta que comiences a ver resultados en la propiedad de contenido del esquema de salida .

-
Para la rama Else de la actividad Si , añade una actividad Bucle > Para cada , y configúrala de la siguiente manera:
- En :
$context.outputs.Workers_1.content$context.outputs.Workers_1.content - Nombre del elemento : elemento actual
- Acumular resultados : activado
- En :
-
En el cuerpo de la actividad Para cada, añade tres actividades Workday REST para el conector Workday (REST):
- Solicitud 1 de Workday REST HTTP: Buscar informes directos
- Solicitud 2 de Workday REST HTTP: Buscar detalles de la organización
- Solicitud 2 de Workday REST HTTP: Buscar compañeros Esto significa que para cada trabajador en el bucle, la actividad devuelve los detalles mencionados: informes directos, detalles de la organización y compañeros.
-
Configura la actividad Solicitud 1 de Workday REST HTTP: Buscar informes directos de la siguiente manera:
- Método—GET
- Solicitar URL :
"/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports""/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports"
Donde
uipath_dpt1/workersforma parte de la definición del Sandbox. -
Configura la actividad Solicitud 2 de Workday REST HTTP: Buscar detalles de la organización de la siguiente manera:
- Método—GET
- Solicitar URL :
"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id
Donde
uipath_dpt1/supervisoryOrganizationsforma parte de la definición del Sandbox. -
Configura la actividad Solicitud 3 de Workday REST HTTP: Buscar compañeros de la siguiente manera:
- Método—GET
- Solicitar URL :
"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers""/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers"
Donde
uipath_dpt1/supervisoryOrganizationsforma parte de la definición del Sandbox. -
Vuelve a depurar tu flujo de trabajo. Observa que el flujo de trabajo repite con éxito un número especificado de veces (basado en el número de resultados de la primera actividad) sobre estas tres solicitudes HTTP.
-
En el cuerpo de la actividad Para cada, añade una actividad Script después de las tres actividades anteriores Workday REST HTTP Request.
-
Para configurar la actividad Script , utiliza el generador de Autopilot en el editor de expresiones y proporciona la siguiente solicitud:
"A partir de las 3 actividades anteriores, crea 3 objetos. El objeto 1 es "gestor" y debe devolver el descriptor como nombre y person.email como correo electrónico. El objeto 2 son pares de la tercera solicitud http y debe recorrer todos los resultados y devolver el descriptor como "nombre" y el correo electrónico del trabajo principal como "correo electrónico". Por último, añade un objeto "informes" que recorre todos los primeros resultados http y el nombre del informe (descriptor) y el correo electrónico del trabajo principal como correo electrónico.
El código JavaScript generado debe tener el siguiente aspecto:
return { // Details on the worker manager: { name: $currentItem.descriptor, email: $currentItem.person.email }, // Details for their peers peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({ name: peer.descriptor, email: peer.primaryWorkEmail })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself, // Details for their direct reports reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({ name: report.descriptor, email: report.primaryWorkEmail })) }return { // Details on the worker manager: { name: $currentItem.descriptor, email: $currentItem.person.email }, // Details for their peers peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({ name: peer.descriptor, email: peer.primaryWorkEmail })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself, // Details for their direct reports reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({ name: report.descriptor, email: report.primaryWorkEmail })) } -
Fuera del bucle Para cada , añade una actividad Respuesta y configúrala de la siguiente manera:
- Tipo : Correcto
- Detalles
$context.outputs.For_Each_1.results ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.$context.outputs.For_Each_1.results ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.
-
Depura tu flujo de trabajo de principio a fin. Debes tener una ejecución correcta y el esquema de respuesta debe satisfacer tus necesidades.
-
Genera el esquema de salida de la ejecución correcta de tu flujo de trabajo:
- Ve a la sección Salida del panel Ejecutar salida .
- Selecciona Copiar al portapapeles.
- Ve a la sección Salida del panel Data Manager .
- Selecciona Generar a partir de carga útil.
- Pega la salida copiada desde Salida > Ejecutar salida.
Tu flujo de trabajo de API ahora incluye esquemas de entrada y salida, lo que permite invocarlo en toda la plataforma.
- Publica tu flujo de trabajo de API en Orchestrator.