Okta Workflows: Como configurar um fluxo auxiliar de Workflows

Aprenda como processar registros usando o cartão "Para cada" e a opção "Stream Matching Records".

Sobre o 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 dezembro 2022 Tempo de leitura: ~

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

Okta Workflows é uma plataforma no-code para automatizar processos de identidade. 

Este artigo no blog é baseado em uma pergunta feita durante o horário de atendimento ou no canal #okta-workflows do Slack do MacAdmins: Como configurar um fluxo auxiliar do Workflows (com For-Each e cartões de streaming)?

Para começar

Workflows possuem diversos cartões que podem realizar uma busca por registros. Por exemplo, o Okta – List Users with Filter lista os usuários por status:

Okta Workflows "List Users with Filter" card configured to filter ACTIVE users and stream records to a helper flow. Buscando cartão do usuário

Um cartão de pesquisa criará uma lista de registros. Em seguida, um fluxo auxiliar é usado para processar cada registro da lista. Usando o exemplo acima, depois de ter uma lista de usuários, pode-se querer verificar quando foi a última vez que um usuário fez login no sistema.

Existem duas maneiras de enviar os registros para um fluxo auxiliar:

  1. Uma lista de registros é passada para um cartão Lista – Para Cada. O cartão Para cada chama então um fluxo auxiliar para cada registro na lista.
  2. Um cartão de pesquisa utiliza a opção Stream Matching Records. A opção de streaming transmite diretamente cada registro para o fluxo auxiliar selecionado.

Em geral, a opção de streaming é mais escalável e permite o processamento de um número significativamente maior de registros. Saiba mais sobre streaming de dados com cartões de ação.

Vejamos exemplos usando loops "for-each" e opções de streaming.

Usando a lista – Para cada cartão

Nesta seção, você aprenderá como configurar o fluxo principal e o fluxo auxiliar usando o cartão Lista – Para Cada.

Configurando um fluxo auxiliar

Um fluxo auxiliar é um fluxo que é chamado a partir de outro fluxo (fluxo principal). Um fluxo se torna um fluxo auxiliar quando o primeiro cartão é Sob Demanda — fluxo auxiliar:

Okta Workflows "My Connected Apps" dashboard with an orange arrow pointing to the "Helper Flow" icon under Okta Apps. Seleção do evento Helper fluxo
Okta Workflows "On Demand Helper Flow" card showing context variables. Primeiro cartão do fluxo auxiliar

Um fluxo auxiliar terá uma ou mais entradas que lhe são passadas pelo fluxo principal (ou fluxo de chamada). No exemplo abaixo, um fluxo auxiliar possui duas entradas: Usuário (tipo Objeto) e e-mail (tipo Texto):

Okta Workflows "On Demand Helper Flow" card showing configured input and context parameters. Fluxo auxiliar com duas entradas (Usuário, e-mail)

Analisando o fluxo auxiliar completo, ele recebe dois valores de entrada: Usuário e e-mail:

Okta Workflows interface showing a helper flow titled Helper_Check user (for each) extracting a user email object. Fluxo de ajuda

Esse fluxo não faz muita coisa além de ler os valores que lhe são passados. Mas não tem problema, o objetivo deste artigo no blog é mostrar como configurar um fluxo auxiliar/fluxo principal.

Usando o cartão Obter Objeto, é possível recuperar (obter) um valor específico de um objeto. Neste exemplo, o e-mail é recuperado.

O cartão Controle de Fluxo – Atribuir pega o e-mail inserido, envia para o fluxo auxiliar e o atribui a outro valor (também chamado de e-mail). Isso pode ser útil se você precisar usar o e-mail posteriormente em um fluxo de trabalho.

Vamos analisar o fluxo principal.

Configurar o fluxo principal

O fluxo principal é um fluxo regular, e chamaremos de fluxo auxiliar. Para começar, é necessário um cartão de pesquisa que retorne uma lista de registros. O fluxo abaixo utiliza o cartão Listar usuários com filtro. O campo Opções está definido como Primeiros 200 Registros Correspondentes:

Okta Workflows "List Users with Filter" card with an orange arrow pointing to the Options section. Opções de cartão
Okta Workflows "List Users with Filter" options dialog set to return the first 200 matching records. Opção para retornar as primeiras 200 correspondências

A lista é então passada para Lista – Para cada Cartão:

Okta Workflows interface displaying a List Users card passing filtered user data into a For Each card. Usuários desprovisionados sendo encaminhados para um fluxo auxiliar

Em seguida, seleciona-se um fluxo auxiliar para executar em cada registro.

Isto é importante. Depois de selecionar um fluxo auxiliar, suas entradas serão carregadas no cartão Para cada.

Para cada campo de entrada do fluxo auxiliar, clique na seta (à direita do campo) e selecione um valor e um tipo para passar para o fluxo auxiliar. O tipo precisa corresponder ao tipo esperado pelo fluxo auxiliar.

Okta Workflows interface listing deprovisioned users and configuring a For Each card. Selecionar um fluxo auxiliar e definir suas entradas.

Isso também é importante. Se você atualizar as entradas do fluxo auxiliar, precisará selecionar um fluxo auxiliar novamente (sim, é um pouco irritante). Após selecionar o fluxo auxiliar, as entradas no cartão Para cada serão atualizadas com base nas alterações realizadas.

Aqui está outra perspectiva sobre como definir os valores passados para o fluxo auxiliar.

Primeiro, está passando: usuário ➡️(Item, tipo Objeto):

Okta Workflows "List - For Each" card mapping a user item list to a helper flow. Selecionando valores para passar para o fluxo auxiliar (Usuário)

Então está enviando: e-mail ➡️ (e-mail, digite texto):

Okta Workflows interface showing user field mapping options for a helper flow. Selecionando valores para passar para o fluxo auxiliar (e-mail)

É assim que o fluxo principal e o fluxo auxiliar se apresentam juntos e como os dados são transmitidos:

Okta Workflows interface showing data mapping lines connecting a main flow's "For Each" card to inputs in a helper flow. Passando dados do fluxo principal para o fluxo auxiliar.

Executando o fluxo principal:

Okta Workflows execution history view showing the execution results of a "List users (for each)" flow. Testando o fluxo principal

As invocações do fluxo auxiliar serão iguais ao número de registros na lista (no exemplo abaixo, a lista continha três usuários):

Okta Workflows execution history view showing the helper flow output extracting a user email address. Executando um fluxo auxiliar (3 vezes)

Opção de registros de correspondência streaming

Nesta seção, aprenderá como configurar o fluxo principal e um fluxo auxiliar usando a opção de streaming. Assim como na primeira parte, começará pelo fluxo auxiliar.

Configurando o fluxo auxiliar

Assim como na seção anterior, um fluxo auxiliar é um fluxo que é chamado a partir de outro fluxo (fluxo principal). Um fluxo se torna um fluxo auxiliar quando o primeiro cartão é Sob Demanda — fluxo auxiliar:

Okta Workflows "On Demand Helper Flow" card showing context variables. Fluxo de ajuda

Com a opção de streaming, também se definem entradas de fluxo auxiliares. Mas os parâmetros de entrada são um pouco diferentes.

Você precisa criar duas entradas de fluxo auxiliares:

  • Registro (tipo Objeto)
  • Estado (tipo Objeto)
Okta Workflows "On Demand Helper Flow" card configured with Record and State inputs. Fluxo auxiliar com entradas para streaming

O registro é o item atual, em nosso exemplo, usuário. Este é o item que está sendo transmitido (enviado) para o fluxo auxiliar. O usuário tem acesso a todas as suas propriedades.

Com State, o senhor pode definir quaisquer entradas adicionais para passar para o fluxo auxiliar.

Você retornará ao assistente para criar entradas de fluxo. Em seguida, será configurado o fluxo principal.

Configurar o fluxo principal

Se um cartão de pesquisa tiver a opção correspondência de registros de fluxo, não será necessário usar um cartão para cada. A opção de streaming enviará registros para um fluxo auxiliar automaticamente.

Este é um bom lugar para Saiba mais sobre streaming de dados com cartões de ação.

Vamos voltar ao nosso exemplo. Usaremos o mesmo cartão, Listar Usuários com Filtro.

Antes de ativar as opções de streaming, defina as opções do cartão para Primeiros 200 registros correspondentes. Isso ajudará o usuário a testar e configurar as entradas para o fluxo auxiliar.

Okta Workflows "List Users with Filter" options panel set to return the first 200 matching records. Ao realizar os testes, defina as opções para "Primeiros 200 registros correspondentes".

Com o status definido como DESPROVISIONADO:

Okta Workflows "List Users with Filter" card set to filter DEPROVISIONED users with result output fields expanded. Lista de usuários desativados

Clique para testar o cartão e expandir um dos itens da lista. No lado esquerdo, o usuário verá o objeto JSON do usuário (mostrado como raiz) que será passado para o fluxo auxiliar. Todas as propriedades estarão disponíveis para o fluxo auxiliar.

Okta Workflows user account details modal displaying user properties and JSON data. Teste da Lista de Usuários com Cartão de Filtro

Agora que já sabe como o JSON se apresenta, é possível configurar as entradas do fluxo auxiliar.

Finalizando o fluxo auxiliar

Voltando ao fluxo auxiliar, define-se as entradas.

O registro é o item atual e, para este fluxo específico, está sendo passado o ID e o e-mail. Esses valores estão disponíveis porque fazem parte do objeto JSON (acima).

Okta Workflows interface showing an "On Demand Helper Flow" card connected to an "Assign" card. Entradas do fluxo auxiliar conectadas a outro cartão

E quanto ao e-mail do administrador – de onde vem esse valor? Na seção Estado, você pode passar quaisquer valores adicionais para o fluxo auxiliar. Vamos terminar de configurar o fluxo principal, e o senhor verá como inserir o e-mail do administrador.

Finalizando o fluxo principal

Para finalizar o fluxo principal, volte para Opções e escolha Registros Correspondentes:

Okta Workflows "List Users with Filter" options dialog set to stream matching records. Opção de Configuração de Registros Correspondentes de Transmissão

Em seguida, escolha o fluxo auxiliar. Devido ao funcionamento do streaming, as entradas do fluxo auxiliar não são exibidas, pois o objeto inteiro é enviado para o auxiliar.

Okta Workflows "List Users with Filter" card configured to stream deprovisioned user records to a helper flow. Crie um valor adicional para passar para o fluxo auxiliar.

Para passar o valor adicional (Admin e-mail), clique para criar um novo campo dentro do retângulo laranja.

O nome do campo (Admin email) e o tipo (Texto) devem corresponder exatamente ao nome e ao tipo do campo no fluxo auxiliar (Admin email, Texto). Pode-se passar mais de um valor dessa forma.

Okta Workflows "List Users with Filter" card streaming deprovisioned users to a helper flow with an Admin email parameter. Passando valor adicional para o fluxo auxiliar (e-mail do administrador)

Agora tudo está pronto para executar os fluxos.

Abaixo, segue uma captura de tela da execução do fluxo principal. Observe que, em Resultados, é exibido o número de registros transmitidos para o fluxo auxiliar:

Okta Workflows execution history view showing successful record streaming for deprovisioned users. Testando o fluxo principal

E é uma execução de fluxo auxiliar (total de 3 execuções):

Okta Workflows execution history view showing helper flow execution with streamed user record and state variables mapped to an Assign card. Executando o fluxo auxiliar

Eis como os fluxos se apresentam em conjunto:

Okta Workflows overview diagram showing record streaming from a main flow to a helper flow. Visão geral do fluxo principal e do fluxo auxiliar

Resumo

Neste artigo no blog, aprendeu-se como configurar um fluxo auxiliar com um cartão For Each e uma opção de streaming.

Esclareça suas dúvidas sobre os Workflows.

Você tem alguma dúvida sobre o Okta Workflows? Não tem certeza de como criar um fluxo? Participe do horário semanal de atendimento da comunidade para obter ajuda. 

Sobre o 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. 

Continue sua jornada de identidade