Skip to main content
O Dreamforce está chegando em São Francisco entre 17 e 19 de setembro. Registre-se agora e economize 20% usando o código DF24TRAIL20

Executar um fluxo dentro de um fluxo

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Minimizar seu trabalho usando o elemento Subflow (Subfluxo).
  • Criar um fluxo que é executado dentro de outro fluxo.
  • Configurar variáveis de um fluxo referenciado para retransmitir os dados para o fluxo principal.
Observação

Observação

Deseja aprender em português (Brasil)? Nesse emblema, as validações dos desafios práticos do Trailhead funcionam em inglês. As traduções são fornecidas entre parênteses como referência No Trailhead Playground, (1) mude a localidade para Estados Unidos, (2) mude o idioma para inglês e (3) copie e cole apenas os valores em inglês. Siga as instruções aqui.

Consulte o emblema Trailhead no seu idioma para saber mais sobre como aproveitar a experiência de Trailhead em outros idiomas.

Observação

Este emblema é uma das paradas no caminho para dominar o Flow Builder. Do início ao fim, a trilha Criar fluxos com o Flow Builder leva você numa jornada de aprendizado sobre tudo o que envolve o Flow Builder. Siga esta sequência recomendada de emblemas para desenvolver habilidades de automação de processos fortes e se tornar um especialista em Flow Builder.

O poder da preguiça

Acredite se quiser, mas uma das qualidades mais importantes em um administrador é a preguiça.

Isso mesmo que você leu! Se você precisa fazer uma mudança na sua organização Salesforce que afete quatro fluxos diferentes, gostaria de atualizar quatro fluxos ou apenas um? Parece mágica, mas você também pode ultrapassar obstáculos, como trabalhos desnecessários, com o poder da preguiça.

Por exemplo, a organização de Flo tem quatro fluxos que postam a mesma mensagem no Chatter. Sempre que alguma coisa muda na postagem do Chatter, ela atualiza o elemento duplicado nos quatro fluxos. Flo faz um muxoxo só de pensar em fazer tanto trabalho duplicado. Felizmente, existe outro elemento, um que ainda não usamos: o elemento Subflow (Subfluxo). 

O uso do elemento Subflow (Subfluxo) em um fluxo (o fluxo principal) permite que você referencie outro fluxo (o fluxo secundário) para executá-lo no fluxo atual (principal). A ideia de fazer alterações em somente um fluxo em vez dos quatro deixou Flo bem empolgada. Além disso, com menos fluxos, existem menos oportunidades de problemas de configuração ou descuidos.

Flo pede a você para criar um fluxo separado para a publicação do Chatter. Ela planeja substituir os elementos duplicados em quatro fluxos separados usando o novo fluxo secundário. Daí, se algo mudar na publicação do Chatter, Flo pode atualizar o único fluxo secundário em vez de atualizar os quatro fluxos separados.

Flo Smith relaxando em uma poltrona chique, sendo refrescada com o vento de uma folha de palmeira, pensando em um fluxo.

Variáveis de entrada e saída

As variáveis em um fluxo secundário são especiais. Você já notou as configurações Available for input (Disponível para entrada) e Available for output (Disponível para saída) ao criar variáveis? Essas configurações permitem que as variáveis levem dados do fluxo principal para o fluxo secundário e retornem com resultados do fluxo secundário para o fluxo principal.

Na janela New Resource (Novo recurso), a seção Availability Outside the Flow (Disponibilidade fora do fluxo) tem duas opções: Available for input (Disponível para entrada) e Available for output (Disponível para saída).

Mas por que enviar dados de e para um fluxo secundário? No exemplo de Flo, o fluxo secundário publica no Chatter no registro acionador do fluxo principal, ou seja, o fluxo secundário precisa da ID do registro acionador. Um fluxo secundário não pode acessar o registro de acionamento no fluxo principal, ou seja, o fluxo principal precisa enviá-lo ao fluxo secundário. E se o fluxo principal precisa saber a ID da publicação do Chatter criada pelo fluxo secundário, este precisa enviar essa ID novamente para o fluxo principal.

Você define variáveis como disponíveis para entrada ou saída no fluxo secundário.

  • Para receber dados de um fluxo principal, o fluxo secundário precisa de uma variável que esteja disponível para entrada.
  • Para enviar dados novamente para o fluxo principal quando o fluxo secundário é concluído, este precisa de uma variável que esteja available for output.
  • Se você não precisar enviar dados em nenhum sentido, não precisará de variáveis de entrada ou saída.

Diagrama correspondente à descrição anterior

Criar um elemento Subflow (Subfluxo)

Para executar um fluxo dentro de outro, primeiro crie os fluxos principal e secundário. Em seguida, adicione um elemento Subflow (Subfluxo) ao fluxo principal.

Criar o fluxo secundário

  1. Crie um fluxo e selecione o tipo Autolaunched Flow (Fluxo iniciado automaticamente).
  2. Crie uma variável de texto:
    1. API Name (Nome da API): userMentionID
    2. Disponível para entrada: marcado
  1. Crie outra variável de texto:
    1. API Name (Nome da API): postTargetID
    2. Disponível para entrada: marcado
  1. Crie mais uma variável de texto:
    1. API Name (Nome da API): chatterPostID
    2. Disponível para entrada: marcado
  1. Crie um modelo de texto:
    1. API Name (Nome da API): chatterBody
    2. Corpo: @[{!userMentionID}], please review this record. (@[{!userMentionID}], você pode analisar esse registro, por favor?)
    3. No editor de corpo, mude View as Rich Text (Exibir como Rich Text) para View as Plain Text (Exibir como texto sem formatação).
  1. Adicione um elemento de ação:
    1. Ação: Publicar no Chatter
    2. Rótulo: Chatter Mention Post (Postagem de menção no Chatter)
    3. Nome da API: Chatter_Mention_Post
    4. Message (Mensagem): chatterBody
    5. Nome ou ID do destino: postTargetID
    6. Em Show advanced options (Mostrar opções avançadas), selecione Manually assign variables (Atribuir variáveis manualmente).
    7. ID do item do feed: chatterPostID
  1. Salve o fluxo. Em Flow Label (Rótulo do fluxo), digite Post to Chatter (Publicar no Chatter).
  2. Ative o fluxo.

Criar o fluxo principal com um elemento Subflow (Subfluxo)

  1. Criar um fluxo acionado por um registro:
    1. Objeto: Caso
    2. Acionar o fluxo quando: Um registro é criado ou atualizado
    3. Requisitos de condição: Todas as condições são atendidas (AND)
    4. Condição: Priority (Prioridade), Equals (igual a), High (Alta)
    5. Quando executar o fluxo em registros atualizados: somente quando um registro é atualizado para atender aos requisitos da condição
    6. Otimize o fluxo para: Ações e registros relacionados
  1. Adicione um elemento Subflow (Subfluxo):
    1. Selecione o fluxo Post to Chatter (Publicar no Chatter).
    2. Label (Rótulo): Post to Chatter (Publicar no Chatter)
    3. Nome da API: Post_to_Chatter
    4. Ative o campo postTargetID e selecione Triggering Case (Caso de acionamento) > Case ID (ID do caso).
      O painel Subflow (Subfluxo), selecionando Triggering Case (Caso de acionamento) e, em seguida, Owner ID (ID do proprietário) no campo userMentionID.
    5. Ative o campo userMentionID e selecione Triggering Case (Caso de acionamento) > Owner ID (ID do proprietário).
      Não deixe de rolar para baixo e selecionar Owner ID (ID do proprietário), não Owner ID (Group) (ID do proprietário - Grupo) nem Owner ID (User) (ID do proprietário - Usuário).
Observação

quando um fluxo referenciado não tem variáveis definidas para ficarem disponíveis para entrada, você não verá a seção Set Input Values (Definir valores de entrada).

  1. Salve o fluxo. Em Flow Label (Rótulo do fluxo), insira Case Priority is High (A prioridade do caso é alta).

Agora, sempre que a criação do registro precisar mudar, Flo atualizará apenas o único fluxo secundário. No jogo entre Preguiça e Excesso de trabalho, 1X0 Preguiça!

Considere as questões abaixo

Tenha isso em mente na hora de trabalhar com subfluxos.

  • O elemento Subflow (Subfluxo) só pode referenciar fluxos de início automático e fluxos de tela.
  • Em um fluxo de tela, você só pode referenciar outro fluxo de tela.
  • Se você referenciar um fluxo inativo, ele será executado somente para usuários que tenham a permissão Manage Flows (Gerenciar fluxos).
  • Se um fluxo secundário tiver várias versões, o fluxo principal executará a versão ativa do fluxo secundário. Se um fluxo secundário não tiver versão ativa, o fluxo principal será executado na versão mais recente.

Recursos