Skip to main content
Junte-se a nós na TDX em São Francisco ou no Salesforce+ nos dias 5 e 6 de maio e assista à Developer Conference for the AI Agent Era. Registre-se agora.

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)? Comece o desafio em um Trailhead Playground de português (Brasil) e use as traduções fornecidas entre parênteses para navegar. Copie e cole somente os valores em inglês porque as validações dos desafios dependem de dados em inglês. Se você não passar no desafio em sua organização de português (Brasil), recomendamos que (1) mude o local para os Estados Unidos, (2) mude o idioma para inglês, seguindo as instruções aqui, e (3) clique novamente no botão “Validar o desafio”.

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:
    • API Name (Nome da API): userMentionID
    • Disponível para entrada: marcado
  1. Crie outra variável de texto:
    • API Name (Nome da API): postTargetID
    • Disponível para entrada: marcado
  1. Crie mais uma variável de texto:
    • API Name (Nome da API): chatterPostID
    • Disponível para entrada: marcado
  1. Crie um modelo de texto:
    • API Name (Nome da API): chatterBody
    • Corpo: @[{!userMentionID}], please review this record. (@[{!userMentionID}], você pode analisar esse registro, por favor?)
    • 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:
    • Ação: Publicar no Chatter
    • Rótulo: Chatter Mention Post (Postagem de menção no Chatter)
    • Nome da API: Chatter_Mention_Post
    • Message (Mensagem): chatterBody
    • Nome ou ID do destino: postTargetID
    • Em Show advanced options (Mostrar opções avançadas), selecione Manually assign variables (Atribuir variáveis manualmente).
    • 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:
    • Objeto: Caso
    • Acionar o fluxo quando: Um registro é criado ou atualizado
    • Requisitos de condição: Todas as condições são atendidas (AND)
    • Condição: Priority (Prioridade), Equals (igual a), High (Alta)
    • Quando executar o fluxo em registros atualizados: somente quando um registro é atualizado para atender aos requisitos da condição
    • Otimize o fluxo para: Ações e registros relacionados
  1. Adicione um elemento Subflow (Subfluxo):
    • Selecione o fluxo Post to Chatter (Publicar no Chatter).
    • Rótulo: Post to Chatter (Publicar no Chatter)
    • Nome da API: Post_to_Chatter
    • 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.
    • 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).
Nota

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

Desafio prático

+500 pontos

Prepare-se

Você concluirá este(a) unidade em sua própria organização prática. Clique em Iniciar para começar, ou clique no nome da sua organização para escolher uma diferente.

Seu desafio

Simplificar e criar com base no fluxo de produto de oportunidade
No fluxo de criação de produto de oportunidade da unidade 1, substitua os elementos repetidos por um elemento de subfluxo que faça referência a outro fluxo (fluxo filho) várias vezes. Além disso, adicione outro caminho de produto ao fluxo pai.Trabalho preparatório:Se você ainda não concluiu o desafio da unidade 1 (Definir vários caminhos em um fluxo), faça isso agora. Do contrário, você não conseguirá concluir este desafio.
  • Criar um fluxo iniciado automaticamente
  • Crie uma variável de texto:
    • API Name (Nome da API): ProductKW
    • Disponível para entrada marcado

  • Crie outra variável de texto:
    • API Name (Nome da API): OpportunityID
    • Disponível para entrada marcado

  • Crie outra variável de texto:
    • API Name (Nome da API): PricebookID
    • Disponível para entrada marcado

  • Adicione um elemento Get Records (Obter registros):
    • Label (Rótulo): Get Product (Obter produto)
    • API Name (Nome da API): Get_Product
    • Object (Objeto): Product (Produto)
    • Condition Requirements (Requisitos de condição): All Conditions Are Met (Todas as condições são atendidas) (AND)
      • Field (Campo): Name (Nome)
      • Operator (Operador): Contains (Contém)
      • Value (Valor): ProductKW
    • Mantenha os valores padrão para todas as configurações

  • Adicione um elemento Get Records (Obter registros) após o elemento Get Product (Obter produto):
    • Label (Rótulo): Get PBE (Obter PBE)
    • API Name (Nome da API): Get_PBE
    • Object (Objeto): Price Book Entry (Entrada de catálogo de preços)
    • Condition Requirements (Requisitos de condição): All Conditions Are Met (Todas as condições são atendidas) (AND)
    • Adicione um requisito de condição:
      • Field (Campo): Pricebook2Id
      • Operator (Operador): Equals (Igual a)
      • Value (Valor): PricebookID
    • Adicione outro requisito de condição:
      • Field (Campo): Product2Id
      • Operator (Operador): Equals (Igual a)
      • Value (Valor): Product from Get_Product > Id (Produto de Get_Product > Id)
    • Mantenha os valores padrão para todas as configurações

  • Adicione um elemento Create Records (Criar registros) após o elemento Get PBE (Obter PBE):
    • Label (Rótulo): Create Opp Product (Criar produto de oportunidade)
    • API Name (Nome da API): Create_Opp_Product
    • How to set record field values (Como definir valores de campos de registro): Manually (Manualmente)
    • Object (Objeto): Opportunity Product (Produto de oportunidade)
    • Set Field Values (Definir valores de campo):
      • Field (Campo): Opportunity ID (ID da oportunidade), Value (Valor): OpportunityID
      • Field (Campo): Price Book Entry ID (ID de entrada de catálogo de preços), Value (Valor): Price Book Entry from Get PBE > Price Book Entry ID (Entrada de catálogo de preços de Obter PBE > ID de entrada de catálogo de preços)
      • Field (Campo): Quantity (Quantidade), Value (Valor): 1
      • Field (Campo): Total Price (Preço total), Value (Valor): Price Book Entry from Get PBE > List Price (Entrada de catálogo de preços de Obter PBE > Preço de lista)

  • Salve e ative o fluxo.
    • Label (Rótulo): Subflow-Create Generator Opp Product (Subfluxo-Criar produto de oportunidade gerador)
    • API Name (Nome da API): Subflow_Create_Generator_Opp_Product

  • Faça uma nova versão do fluxo Add Generator Product to Named Opps (Adicionar produto gerador a oportunidades nomeadas) (Abra o fluxo e clique em Save As New Version (Salvar como nova versão.)
  • Exclua estes elementos:
    • Create 1500 Opp Product (Criar produto da oportunidade 1500)
    • Create 2000 Opp Product (Criar produto da oportunidade 2000)
    • Get 1500 PBE (Obter PBE 1500)
    • Get 2000 PBE (Obter PBE 2000)
    • Get 1500 Product (Obter produto 1500)
    • Get 2000 Product (Obter produto 2000)

  • No caminho 1500kW, adicione um elemento Subflow (Subfluxo):
    • Selecione o fluxo Subflow-Create Generator Opp Product (Subfluxo-Criar produto de oportunidade gerador)
    • Label (Rótulo): Create 1500 Opp Product (Criar produto de oportunidade 1500)
    • API Name (Nome da API): Create_1500_Opp_Product
    • Inclua o campo OpportunityId e selecione Triggering Opportunity > Opportunity ID (Oportunidade acionadora > ID da oportunidade
    • Inclua o campo PricebookID e selecione Price Book from Get Pricebook > Price Book ID (Catálogo de preços de Obter catálogo de preços > ID de catálogo de preços)
    • Inclua o campo ProductKW e insira 1500

  • No caminho 2000kW, crie um elemento Subflow (Subfluxo):
    • Selecione o fluxo Subflow-Create Generator Opp Product (Subfluxo-Criar produto de oportunidade gerador)
    • Label (Rótulo): Create 2000 Opp Product (Criar produto de oportunidade 2000)
    • API Name (Nome da API): Create_2000_Opp_Product
    • Inclua o campo OpportunityId e selecione Triggering Opportunity > Opportunity ID (Oportunidade acionadora > ID da oportunidade
    • Inclua o campo PricebookID e selecione Price Book from Get Pricebook > Price Book ID (Catálogo de preços de Obter catálogo de preços > ID de catálogo de preços)
    • Inclua o campo ProductKW e insira 2000

  • No elemento Check Opp Name Decision (Verificar decisão do nome da oportunidade), adicione um novo resultado:
    • Label (Rótulo): 1000kW
    • API Name (Nome da API): X1000kW
    • Condition Requirements (Requisitos de condição): All Conditions Are Met (Todas as condições são atendidas) (AND)
    • Resource (Recurso): Triggering Opportunity > Name (Oportunidade acionadora > Nome)
    • Operator (Operador): Contains (Contém)
    • Value (Valor): 1000

  • No caminho 1000kW, crie um elemento Subflow (Subfluxo):
    • Selecione o fluxo Subflow-Create Generator Opp Product (Subfluxo-Criar produto de oportunidade gerador)
    • Label (Rótulo): Create 1000 Opp Product (Criar produto de oportunidade 1000)
    • API Name (Nome da API): Create_1000_Opp_Product
    • Inclua o campo OpportunityId e selecione Triggering Opportunity > Opportunity ID (Oportunidade acionadora > ID da oportunidade
    • Inclua o campo PricebookID e selecione Price Book from Get Pricebook > Price Book ID (Catálogo de preços de Obter catálogo de preços > ID de catálogo de preços)
    • Inclua o campo ProductKW e insira 1000

  • Salve e ative o fluxo
Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback