Okta Workflows es una plataforma sin código para automatizar los procesos de identidad.
Esta publicación de blog se basa en una pregunta formulada durante horas de oficina o en el canal #okta-workflows de MacAdmins Slack: ¿Cómo configurar un flujo auxiliar de Workflows (con For-Each y tarjetas de streaming)?
Primeros pasos
Workflows cuentan con varias tarjetas que permiten realizar búsquedas de registros. Por ejemplo, Okta – lista de usuarios con filtro muestra los usuarios por estado:
Buscando tarjetas de usuarios
Una tarjeta de búsqueda creará una lista de registros. A continuación, se utiliza un flujo auxiliar para procesar cada registro de la lista. Siguiendo el ejemplo anterior, una vez que tenga una lista de usuarios, es posible que desee comprobar cuándo fue la última vez que un usuario inició sesión en un sistema.
Hay dos maneras de enviar los registros a un flujo auxiliar:
- Se pasa una lista de registros a una tarjeta Lista – para cada. La tarjeta For Each llama entonces a un flujo auxiliar para cada registro de la lista.
- Una tarjeta de búsqueda utiliza la opción Registros de flujo coincidentes. La opción de transmisión en directo envía directamente cada registro al flujo auxiliar seleccionado.
En general, la opción de transmisión en tiempo real es más escalable y permite procesar un número significativamente mayor de registros. Obtén más información sobre la transmisión de datos con tarjetas de acción.
Veamos ejemplos que utilizan opciones de bucle for-each y streaming.
Usando la lista – para cada tarjeta
En esta sección, aprenderá cómo configurar el flujo principal y el flujo auxiliar utilizando la tarjeta Lista – para cada.
Configurar un flujo auxiliar
Un flujo auxiliar es un flujo al que se llama desde otro flujo (flujo principal). Un flujo se convierte en un flujo auxiliar cuando la primera tarjeta es a pedido – Helper Flow:
Seleccionar evento flujo Helper
Flujo de ayuda primera tarjeta
Un flujo auxiliar tendrá una o más entradas que se le pasan desde el flujo principal (o flujo que realiza la llamada). En el siguiente ejemplo, un flujo auxiliar tiene dos entradas: usuario (tipo Objeto) y correo electrónico (tipo Texto):
Flujo auxiliar con dos entradas (usuario, correo electrónico)
Observando el flujo completo del asistente, se le pasan dos valores de entrada: Usuario y correo electrónico:
Flujo de ayuda
Este flujo no hace mucho más que leer los valores que se le pasan. Pero no hay problema, el objetivo de esta publicación de blog es mostrarte cómo configurar un flujo auxiliar/flujo principal.
Mediante la tarjeta Objeto – obtener, puede recuperar (obtener) un valor específico de un objeto. En este ejemplo, se recupera el correo electrónico.
La tarjeta Control de flujo – asignar toma la entrada correo electrónico del flujo auxiliar y la asigna a otro valor (también llamado correo electrónico). Esto puede resultar útil si necesita utilizar el correo electrónico más adelante en un flujo.
Analicemos el flujo principal.
Configurando el flujo principal
El flujo principal es un flujo regular, y llamaremos flujo auxiliar al flujo de ayuda. Para empezar, necesitas una tarjeta de búsqueda que devuelva una lista de registros. El siguiente flujo utiliza la tarjeta Lista de usuarios con filtro. El campo Opciones está configurado en Primeros 200 registros coincidentes:
Opciones de tarjeta
Opción para devolver las primeras 200 coincidencias
La lista se pasa luego a lista – para cada tarjeta:
Pasar usuarios desaprovisionados a un flujo auxiliar
A continuación, elige un flujo auxiliar que se ejecutará para cada registro.
Esto es importante. Una vez que elija un flujo auxiliar, sus entradas se cargarán en la tarjeta Para cada.
Para cada campo de entrada del flujo auxiliar, haga clic en la flecha (situada a la derecha del campo) y seleccione un valor y un tipo para pasar al flujo auxiliar. El tipo debe coincidir con el tipo que espera el flujo auxiliar.
Elegir un flujo auxiliar y configurar sus entradas
Esto también es importante. Si actualizas las entradas del flujo auxiliar, tendrás que volver a seleccionar un flujo auxiliar (sí, es un poco molesto). Una vez que seleccione el flujo auxiliar, las entradas de la tarjeta For Each se actualizarán en función de los cambios que haya realizado.
Aquí vemos otra forma de configurar los valores que se pasan al flujo auxiliar.
Primero, estás pasando: Usuario ➡️(Elemento, tipo Objeto):
Seleccionar valores para pasar al flujo auxiliar (usuario)
Entonces estás pasando: correo electrónico ➡️ (correo electrónico, tipo texto):
Seleccionar los valores que se pasarán al flujo auxiliar (correo electrónico).
Así es como se ven juntos el flujo principal y el flujo auxiliar, y cómo se pasan los datos:
Transferencia de datos del flujo principal al flujo auxiliar.
Ejecutando el flujo principal:
Probando el flujo principal
Las invocaciones del flujo auxiliar serán iguales al número de registros en la lista (en el ejemplo siguiente, la lista contenía tres usuarios):
Ejecutando un flujo auxiliar (3 veces)
Utilizando la opción de registros coincidentes en flujo
En esta sección, aprenderá cómo configurar el flujo principal y un flujo auxiliar utilizando la opción de transmisión en tiempo real. Al igual que en la primera parte, comenzará con el flujo auxiliar.
Configurar el flujo de ayuda
Al igual que en la sección anterior, un flujo auxiliar es un flujo al que se llama desde otro flujo (flujo principal). Un flujo se convierte en un flujo auxiliar cuando la primera tarjeta es a pedido – Helper Flow:
Flujo de ayuda
Con la opción de transmisión en tiempo real, también puede definir entradas de flujo auxiliares. Pero los datos de entrada son un poco diferentes.
Necesitas crear dos entradas de flujo auxiliares:
- Registro (tipo Objeto)
- Estado (tipo Objeto)
Flujo auxiliar con entradas para transmisión
El registro es el elemento actual, en nuestro ejemplo Usuario. Este es el elemento que se está transmitiendo (enviando) al flujo auxiliar. Tiene acceso a todas sus propiedades.
Con State, puedes definir cualquier entrada adicional que se pase al flujo auxiliar.
Deberá volver a la herramienta de ayuda para crear las entradas del flujo. A continuación, va a configurar el flujo principal.
Configurando el flujo principal
Si una tarjeta de búsqueda tiene la opción Registros que coinciden con el flujo, entonces no es necesario utilizar una tarjeta Para cada. La opción de transmisión enviará automáticamente los registros a un flujo auxiliar.
Este es un buen lugar para Más información sobre la transmisión de datos con tarjetas de acción.
Volvamos a nuestro ejemplo. Usaremos la misma tarjeta, lista de usuarios con filtro.
Antes de habilitar las opciones de transmisión, configure las opciones de la tarjeta en primeros 200 registros coincidentes. Le ayudará a probar y configurar las entradas para el flujo auxiliar.
Al realizar la prueba – configure las opciones en primeros 200 registros coincidentes.
Con el estado establecido en Desprovisionado:
Listado de usuarios desaprovisionados
Haz clic para probar la tarjeta y expandir uno de los elementos de la lista. En el lado izquierdo, verá el objeto JSON del usuario (mostrado como raíz) que se pasará al flujo auxiliar. Todas las propiedades estarán disponibles para el flujo auxiliar.
Probando la lista de usuarios con tarjeta de filtro
Ahora que ya sabes cómo se ve el JSON, puedes configurar las entradas del flujo auxiliar.
Finalizando el flujo de ayuda.
Volviendo al flujo de ayuda, define las entradas.
El registro es el elemento actual, y para este flujo en particular, se pasan el ID y el correo electrónico. Estos valores están disponibles porque forman parte del objeto JSON (arriba).
Entradas de flujo auxiliar conectadas a otra tarjeta
¿Y qué hay del correo electrónico del administrador — dónde proviene este valor? En la sección estado, puede pasar cualquier valor adicional al flujo auxiliar. Terminemos de configurar el flujo principal y verás cómo pasar el correo electrónico del administrador.
Finalizando el flujo principal
Para finalizar el flujo principal, vuelva a Opciones y elija registros de transmisión coincidentes:
Configuración de la opción de registros coincidentes en el stream
A continuación, elige el flujo auxiliar. Debido a cómo funciona el proceso de transmisión de datos, las entradas del flujo auxiliar no se muestran, ya que el objeto completo se envía al auxiliar.
Crea un valor adicional para pasarlo al flujo auxiliar.
Para pasar el valor adicional (correo electrónico del administrador), haga clic para crear un nuevo campo dentro del rectángulo naranja.
El nombre del campo (Correo electrónico del administrador) y el tipo ( Texto) deben coincidir exactamente con el nombre yel tipo del campo enel flujo auxiliar ( Correo electrónico del administrador, Texto). De esta forma se pueden pasar varios valores.
Pasar valor adicional al flujo auxiliar (correo electrónico del administrador)
Ahora todo está listo para ejecutar los flujos.
A continuación se muestra una captura de pantalla del flujo principal en ejecución. Observe que en Resultados se muestra el número de registros transmitidos al flujo auxiliar:
Probando el flujo principal
Y es una ejecución de flujo auxiliar (3 ejecuciones en total):
Ejecutando el flujo auxiliar
Así es como se ven los flujos en conjunto:
Descripción general del flujo principal y del flujo auxiliar
Resumen
En esta entrada del blog, aprendiste cómo configurar un flujo auxiliar con una tarjeta For Each y con una opción de transmisión.
Obtén respuesta a tus preguntas sobre Workflows.
¿Tienes alguna pregunta sobre Okta Workflows? ¿No sabes cómo crear un flujo? Únase a las horas de atención comunitaria semanales para obtener ayuda.