Aproveitar variáveis globais e valores ao máximo
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Referenciar os campos do usuário em execução no Flow Builder.
- Referenciar as informações de função e perfil do usuário em execução no Flow Builder.
- Referenciar rótulos personalizados no Flow Builder.
- Referenciar metadados personalizados no Flow Builder.
O que é uma variável global?
As variáveis globais existem em todos os fluxos. Você não cria essas variáveis nem pode mudar seus valores no fluxo, mas elas dão ao seu fluxo acesso a dados muito úteis que podem ser diferentes sempre que o fluxo é executado.
Você pode usar variáveis globais em campos que te permitem selecionar um recurso. Esses campos costumam conter um texto de espaço reservado, como "Insira um valor ou pesquise recursos..." ou "Insira um recurso...".
No Flow Builder, as variáveis globais se comportam de maneira semelhante a objetos e campos: cada variável global contém vários valores. Para usar uma variável global em um fluxo, siga estas etapas.
- Ao criar ou editar um elemento, clique em um campo em que você pode escolher um recurso. O Flow Builder exibe os recursos que você pode colocar nesse campo.
- Em Variáveis globais, escolha uma variável que comece com $. O Flow Builder exibe os campos disponíveis para a variável selecionada.
- Selecione o campo que contém o valor que você deseja usar.
Obter os valores de campo do usuário em execução
A variável global $User (ou, em alguns elementos, a variável global Running User [Usuário em execução]) dá ao seu fluxo uma visão do usuário por trás do teclado. Não literalmente, claro. Mas ela dá ao seu fluxo acesso aos dados do usuário que está executando o fluxo. Use a variável global $User para acessar dados como a ID do usuário, o nome, a ID do gerente, o endereço de email e muito mais.
Os gerentes de vendas da Pyroclastic querem saber quando um membro da equipe fecha uma oportunidade de alto valor como perdida. Flo pede a você para automatizar essa notificação com uma postagem do Chatter para o gerente do proprietário da oportunidade. A pessoa que fecha a oportunidade pode não ser o proprietário da oportunidade, ou seja, a notificação deve indicar quem fez a alteração.
Você já tem um fluxo que é executado quando o StageName de uma oportunidade é alterado para Fechada Perdida: Criar acompanhamento com tomador de decisão. Adicione uma ação no fluxo para criar uma postagem do Chatter para o gerente do proprietário da oportunidade.
Primeiro, você precisa identificar o gerente do proprietário. Assim como na unidade 2, use um elemento Get Records (Obter registros) para recuperar informações e use essas informações em um elemento Action.
Recuperar o gerente do proprietário
- Abra o fluxo Criar acompanhamento com tomador de decisão.
- Na tela do fluxo, depois do elemento Get Decision Maker (Obter tomador de decisão), clique em . Selecione Get Records (Obter registros).
- Em Label (Rótulo), insira
Get Owner Manager
(Obter gerente do proprietário).
Lembre-se, esse nome é usado para rotular a variável gerada, ou seja, é uma boa ideia usar um nome descritivo.
- Em Object (Objeto), selecione User (Usuário).
- Em Condition Requirements (Requisitos de condição), selecione All Conditions Are Met (AND) (Todas as condições são atendidas (AND)).
- Na seção Filter Records (Filtrar registros), defina as condições que indicam ao elemento quais registros devem ser recuperados:
- Campo: Id
- Operador: Igual a
- Valor: $Record> Owner> ManagerId
- Clique em no novo painel Get Records (Obter registros) para fechá-lo.
Agora você tem uma variável de registro que contém todos os campos do gerente do proprietário da oportunidade, incluindo seu nome e endereço de email. Em seguida, use um elemento Action para criar a postagem do Chatter.
Criar um modelo de texto
- No Flow Builder, se a Caixa de ferramentas ainda não estiver aberta, clique em para abri-la.
- Clique em New Resource (Novo recurso).
- Em Tipo de recursos, selecione Text Template (Modelo de texto).
- No nome da API, insira
ChatterPostManager
.
- Ao lado do campo Seletor de recursos, mude View as Rich Text (Exibir como Rich Text) para View as Plain Text (Exibir como texto sem formatação).
- No campo Resource Picker (Seletor de recursos), selecione User from Get_Owner_Manager (Usuário de Get_Owner_Manager) > Id.
Um campo de mesclagem para o nome do gerente é inserido no início do corpo da mensagem.
- Adicione colchetes [ ] em volta do campo de mesclagem, assim:
[{Get_Owner_Manager.Id}]
- Adicione um símbolo de @ no início e dois pontos no final, assim:
@[{Get_Owner_Manager.Id}]:
- Após os dois pontos, inicie uma nova linha e insira:
This opportunity was marked Closed Lost. Closed by:
- Deixe um espaço e insira três outros campos de mesclagem usando a variável global $User, encontrada na seção Variáveis globais. Adicione um espaço entre eles para não serem executados juntos:
-
$User> FirstName
-
$User> LastName
-
$User> Email
[Alt text: A janela New Resource (Novo recurso) correspondente às etapas anteriores.]
- Clique em Done (Concluído).
Em seguida, use o modelo de texto em um elemento Action para publicar no feed do Chatter da oportunidade.
Notificar o gerente em uma postagem do Chatter
- Depois do elemento Get Owner Manager (Obter gerente do proprietário), clique em . Insira
post
(publicar) na barra de pesquisa.
- Em seguida, selecione Post to Chatter (Publicar no Chatter).
- Insira
Chatter Post to Manager
(Publicar no Chatter para gerente) como rótulo.
- Selecione o modelo de texto ChatterPostManager como mensagem.
- Em Target Name or ID (Nome ou ID de destino), selecione Triggering Opportunity (Oportunidade de acionamento) > Owner ID (ID do proprietário).
- Clique em Done (Concluído).
- Salve o fluxo.
Obter o perfil e os valores de função do usuário em execução
Ao criar fluxos, evite colocar IDs no código. Colocar no código é quando você insere manualmente uma ID do Salesforce nos fluxos ou no código. Um exemplo de colocação no código em um elemento Update Records (Atualizar registros) é definir os critérios para verificarem "005i000006rZRFU". Em vez disso, você deve recuperar a ID com um elemento Get Records (Obter registros) e verificar a ID armazenada na variável de registro do elemento Get Records.
E o que isso tem a ver com variáveis globais? Em algum momento, você poderá querer acessar o perfil ou a função do usuário. Digamos que sua organização seja dividida em territórios, atribuídos como funções de usuário a representantes de vendas. Os territórios ocidentais (Sales-West1, Sales-West2 e Sales-West3) usam um cálculo de desconto diferente dos de outros territórios. Para calcular os descontos corretamente, um fluxo precisa obter a função do usuário em execução para confirmar se ele está atribuído a um dos territórios ocidentais.
Flo tenta usar a variável global $User para encontrar a função do usuário em execução, mas o único valor de função existente é a ID da função. Ela sabe muito bem que não deve colocar uma ID no seu fluxo. Felizmente, existe outra forma de acessar informações com base na função do usuário em execução: a variável global $UserRole (ou, em alguns elementos, a variável global Running User Role [Função do usuário em execução]). Ela pode acessar vários valores na função do usuário em execução.
Da mesma forma, a variável global $Profile (ou, em alguns elementos, a variável global Running User Profile [Perfil do usuário em execução]) deve ser usada em situações semelhantes em que o fluxo precisa acessar os valores de perfil do usuário em execução. O único valor do perfil em $User é a ID do perfil, mas assim como $UserRole em funções, $Profile concede acesso ao restante dos valores do perfil.
Para evitar colocar no código durante a verificação da função do usuário em execução, referencie $UserRole > DeveloperName. No perfil, referencie $Profile > Name.
Recuperar rótulos personalizados
Se os usuários da sua organização trabalham em vários idiomas, os rótulos personalizados são bem valiosos. Os rótulos personalizados contêm sequências de caracteres de texto que você pode traduzir em vários idiomas. Depois de definir as traduções, o Salesforce exibe rótulos personalizados para cada usuário na língua nativa do usuário. Você pode até usar rótulos personalizados nos fluxos.
No Flow Builder, use a variável global $Label (ou, em alguns elementos, a variável global Custom Label [Rótulo personalizado]) para colocar um rótulo personalizado em qualquer lugar que aceite um recurso de texto, como componentes de tela, valores padrão para campos e fórmulas de texto. Neste exemplo de criação de registro de tarefa, o valor do campo Assunto é definido com a variável global TaskPrintLabels. Agora, quando os usuários veem a tarefa, o assunto está no seu próprio idioma.
O próximo exemplo é um componente Display Text (Exibir texto) em uma tela de fluxo. No campo de seletor de recursos, quando $Label estiver selecionada, os rótulos personalizados disponíveis são listados. A escolha de um o adiciona à área de texto no componente.
Outras variáveis globais importantes
Existem outras variáveis globais que podem ser úteis na hora de se criar fluxos.
Variável global |
O que faz |
---|---|
$Flow.CurrentDate (ou Running Flow Interview [Entrevista de fluxo em execução] > CurrentDate)
|
Recupera a data em que o elemento é executado |
$Flow.CurrentDateTime (ou Running Flow Interview [Entrevista de fluxo em execução] > CurrentDateTime)
|
Recupera a data/hora em que o elemento é executado |
$Flow.InterviewStartTime (ou Running Flow Interview [Entrevista de fluxo em execução] > InterviewStartTime)
|
Recupera a data/hora em que o fluxo começou a ser executado |
$Flow.FaultMessage (ou Running Flow Interview [Entrevista de fluxo em execução] > FaultMessage)
|
Recupera a mensagem de erro quando um fluxo é interrompido devido a um erro |
$Organization (ou Running Org [Organização em execução])
|
Recupera informações encontradas na página Company Information (Informações da empresa) em Setup (Configuração), por exemplo, o nome ou endereço da sua organização |
$Record (ou Triggering [object name] (Acionando [nome do objeto]))
|
Em um fluxo acionado por registro, $Record recupera dados do registro que acionou o fluxo. (Você usou essa variável global em um desafio prático para obter a empresa e a ID de um lead recém-criado.) Você também pode usar $Record para:
Saiba mais sobre $Record no emblema Fluxos acionados por registro. |
Recuperar valores de metadados personalizados
Metadados personalizados não é uma variável global, mas é um conjunto de valores que você pode acessar globalmente no Flow Builder e em toda a sua organização do Salesforce. Por exemplo, um tipo de metadados personalizado pode ser usado em fluxos, código, regras de validação e outros.
No Flow Builder, você recupera metadados personalizados da mesma forma que recupera registros de objeto: usando o elemento Get Records (Obter registros). Ao escolher o objeto, selecione o tipo de metadados personalizados.
Para saber mais e encontrar casos de uso de exemplo, confira o módulo do Trailhead Noções básicas de tipos de metadados personalizados, especialmente a unidade Como usar tipos de metadados personalizados no fluxo.
Recursos
- Blog dos administradores do Salesforce: Por que você deveria evitar colocar no código e três soluções alternativas
- Administradores do Salesforce, vamos automatizar! Vídeo: Vamos automatizar! – Enviar notificações de caso automagicamente com fluxos
- Trailhead: Noções básicas de tipos de metadados personalizados