Cómo configurar un flujo de trabajo auxiliar en Okta Workflows

Aprenda a procesar registros utilizando la tarjeta "Para cada elemento" y la opción "Registros coincidentes en flujo".

Acerca del autor

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

05 diciembre 2022 Tiempo de lectura: ~

A person wearing headphones is seated at a table, working on a laptop in a warm and inviting library setting

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:

Okta Workflows "List Users with Filter" card configured to filter ACTIVE users and stream records to a helper flow. 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:

  1. 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.
  2. 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:

Okta Workflows "My Connected Apps" dashboard with an orange arrow pointing to the "Helper Flow" icon under Okta Apps. Seleccionar evento flujo Helper
Okta Workflows "On Demand Helper Flow" card showing context variables. 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):

Okta Workflows "On Demand Helper Flow" card showing configured input and context parameters. 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:

Okta Workflows interface showing a helper flow titled Helper_Check user (for each) extracting a user email object. 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:

Okta Workflows "List Users with Filter" card with an orange arrow pointing to the Options section. Opciones de tarjeta
Okta Workflows "List Users with Filter" options dialog set to return the first 200 matching records. Opción para devolver las primeras 200 coincidencias

La lista se pasa luego a lista – para cada tarjeta:

Okta Workflows interface displaying a List Users card passing filtered user data into a For Each card. 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.

Okta Workflows interface listing deprovisioned users and configuring a For Each card. 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):

Okta Workflows "List - For Each" card mapping a user item list to a helper flow. Seleccionar valores para pasar al flujo auxiliar (usuario)

Entonces estás pasando: correo electrónico ➡️ (correo electrónico, tipo texto):

Okta Workflows interface showing user field mapping options for a helper flow. 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:

Okta Workflows interface showing data mapping lines connecting a main flow's "For Each" card to inputs in a helper flow. Transferencia de datos del flujo principal al flujo auxiliar.

Ejecutando el flujo principal:

Okta Workflows execution history view showing the execution results of a "List users (for each)" flow. 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):

Okta Workflows execution history view showing the helper flow output extracting a user email address. 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:

Okta Workflows "On Demand Helper Flow" card showing context variables. 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)
Okta Workflows "On Demand Helper Flow" card configured with Record and State inputs. 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.

Okta Workflows "List Users with Filter" options panel set to return the first 200 matching records. Al realizar la prueba – configure las opciones en primeros 200 registros coincidentes.

Con el estado establecido en Desprovisionado:

Okta Workflows "List Users with Filter" card set to filter DEPROVISIONED users with result output fields expanded. 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.

Okta Workflows user account details modal displaying user properties and JSON data. 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).

Okta Workflows interface showing an "On Demand Helper Flow" card connected to an "Assign" card. 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:

Okta Workflows "List Users with Filter" options dialog set to stream matching records. 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.

Okta Workflows "List Users with Filter" card configured to stream deprovisioned user records to a helper flow. 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.

Okta Workflows "List Users with Filter" card streaming deprovisioned users to a helper flow with an Admin email parameter. 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:

Okta Workflows execution history view showing successful record streaming for deprovisioned users. Probando el flujo principal

Y es una ejecución de flujo auxiliar (3 ejecuciones en total):

Okta Workflows execution history view showing helper flow execution with streamed user record and state variables mapped to an Assign card. Ejecutando el flujo auxiliar

Así es como se ven los flujos en conjunto:

Okta Workflows overview diagram showing record streaming from a main flow to a helper flow. 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. 

Acerca del autor

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

Continúe con su recorrido de identidad