Skip to main content

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.
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 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...". 

A janela Nova tela exibe um componente de texto. O campo Valor padrão contém "Insira um valor ou pesquise recursos" como texto de espaço reservado acima de uma lista de opções de Variáveis globais.

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.

  1. 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.
  2. Em Variáveis globais, escolha uma variável que comece com $. O Flow Builder exibe os campos disponíveis para a variável selecionada.
  3. Selecione o campo que contém o valor que você deseja usar.

    A escolha da variável global $Flow exibe uma lista de campos disponíveis: CurrentDate, CurrentDateTime e InterviewStartTime.
Observação

Tenha em mente que o tipo de dados do campo de variável global precisa ser compatível com o tipo de dados do campo. Por exemplo, para definir o valor padrão de um campo data/hora, você precisará escolher um campo de variável global de data ou de data/hora. Ou, para definir o valor de um campo de moeda, você precisará escolher um campo de variável global de moeda.

Obter os valores de campo do usuário em execução

A variável global $User dá ao seu fluxo uma ideia 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.

A lista de opções da variável global $User exibe os campos no objeto User.

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

  1. Abra o fluxo Criar acompanhamento com tomador de decisão.
  2. Na tela do fluxo, depois do elemento Get Decision Maker (Obter tomador de decisão), passe o mouse sobre Adicionar elemento e clique em Adicionar elemento. Selecione Get Records (Obter registros).
  3. 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.
  4. Em Object (Objeto), selecione User (Usuário).
  5. Em Condition Requirements (Requisitos de condição), selecione All Conditions Are Met (AND) (Todas as condições são atendidas (AND)).
  6. 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
  7. Clique em no novo painel Get Records para fechá-lo.

O novo painel Get Records (Obter registros) correspondente às etapas anteriores.

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

  1. No Flow Builder, se a Caixa de ferramentas ainda não estiver aberta, clique em Alternar Caixa de ferramentas para abri-la.
  2. Clique em New Resource (Novo recurso).
  3. Em Tipo de recursos, selecione Text Template (Modelo de texto).
  4. No nome da API, insira ChatterPostManager.
  5. 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).
  6. 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.
  7. Adicione colchetes [ ] em volta do campo de mesclagem, assim:
    [{Get_Owner_Manager.Id}]
  8. Adicione um símbolo @ no início e dois pontos no final, assim:
    @[{Get_Owner_Manager.Id}]:
    Lembre-se, quando acompanhado de um valor entre colchetes, o símbolo @ insere o valor como uma menção na postagem do Chatter.
  9. Depois dos dois pontos, comece uma nova linha e insira:
    This opportunity was marked Closed Lost.
    Closed by:
    (Esta oportunidade foi marcada como Fechada Perdida. Fechada por:)
  10. 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
  11. 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

  1. Após o elemento Get Owner Manager (Obter gerente do proprietário), passe o mouse sobre Adicionar elemento e clique em Adicionar elemento. Insira post na barra de pesquisa.
  2. Em seguida, selecione Post to Chatter (Publicar no Chatter).
  3. Insira Chatter Post to Manager (Publicar no Chatter para gerente) como rótulo.
  4. Selecione o modelo de texto ChatterPostManager como mensagem.
  5. Em Target Name or ID (Nome ou ID de destino), selecione $Record > Id.
  6. Clique em Done (Concluído).
  7. 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.

Observação

Por que você deve evitar colocar no código? As IDs Salesforce podem mudar a qualquer hora. Se você cria um fluxo com uma ID no código em uma sandbox, é provável que o registro que está tentando referenciar tenha uma ID diferente em outras sandboxes e na produção. Além disso, é difícil entender ou solucionar o problema de um fluxo quando não é possível ver facilmente o registro que a ID representa.

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. Ela pode acessar vários valores na função do usuário em execução. 

Da mesma forma, a variável global $Profile deve ser usada em situações semelhantes em que o fluxo precise acessar os valores do 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.

Campos de critérios em uma janela de nova decisão, com Resource definido como $UserRole > DeveloperName, Operator definido como Contains e Value definido como West.

Observação

Depois de descobrir que o usuário foi atribuído a um território ocidental, Flo usa um elemento Decision (Decisão) para que o fluxo possa aplicar o desconto do território ocidental em vez do desconto padrão usado por outros territórios. Você aprende sobre o elemento Decision no emblema Lógica do Flow Builder, logo depois deste na trilha Criar fluxos com o Flow Builder, ou seja, não é necessário pular etapas; você pode terminar este emblema primeiro.

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, coloque um rótulo personalizado em qualquer lugar que aceite recursos de texto, por exemplo, componentes de tela, valores padrão de 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.

Uma seção da janela Criar registros correspondendo à descrição acima.

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.

A janela de nova ação correspondente à descrição anterior.

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

Recupera a data em que o elemento é executado

$Flow.CurrentDateTime

Recupera a data/hora em que o elemento é executado

$Flow.InterviewStartTime

Recupera a data/hora em que o fluxo começou a ser executado

$Flow.FaultMessage

Recupera a mensagem de erro quando um fluxo é interrompido devido a um erro

$Organization

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

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:

  • Atualizar dados no registro que acionou o fluxo.
  • Atualizar um grupo de registros relativo ao registro acionador.

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.

A lista dos objetos que podem ser selecionados no campo Objeto na nova janela de obtenção de registros com um tipo de metadados personalizados em destaque.

Observação

Procurando seus tipos de metadados personalizados? Procure os itens com um nome de API que tenha __mdt no final.

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

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira