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:
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:
- 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.
- 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:
Seleção do evento Helper fluxo
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):
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:
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:
Opções de cartão
Opção para retornar as primeiras 200 correspondências
A lista é então passada para Lista – Para cada Cartão:
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.
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):
Selecionando valores para passar para o fluxo auxiliar (Usuário)
Então está enviando: e-mail ➡️ (e-mail, digite texto):
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:
Passando dados do fluxo principal para o fluxo auxiliar.
Executando o fluxo principal:
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):
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:
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)
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.
Ao realizar os testes, defina as opções para "Primeiros 200 registros correspondentes".
Com o status definido como DESPROVISIONADO:
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.
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).
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:
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.
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.
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:
Testando o fluxo principal
E é uma execução de fluxo auxiliar (total de 3 execuções):
Executando o fluxo auxiliar
Eis como os fluxos se apresentam em conjunto:
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.