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.
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.
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.
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.
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
- Crie um fluxo e selecione o tipo Autolaunched Flow (Fluxo iniciado automaticamente).
- Crie uma variável de texto:
- API Name (Nome da API):
userMentionID
- Disponível para entrada: marcado
- Crie outra variável de texto:
- API Name (Nome da API):
postTargetID
- Disponível para entrada: marcado
- Crie mais uma variável de texto:
- API Name (Nome da API):
chatterPostID
- Disponível para entrada: marcado
- 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).
- 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
- Salve o fluxo. Em Flow Label (Rótulo do fluxo), digite
Post to Chatter
(Publicar no Chatter).
- Ative o fluxo.
Criar o fluxo principal com um elemento Subflow (Subfluxo)
- 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
- 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).
- 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).
- 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