Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

Aproveche al máximo los valores y variables globales

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Referenciar los campos del usuario que ejecuta en Flow Builder.
  • Referenciar las funciones y la información del perfil del usuario que ejecuta en Flow Builder.
  • Referenciar etiquetas personalizadas en Flow Builder.
  • Referenciar metadatos personalizados en Flow Builder.
Nota

Esta insignia es un paso más en el proceso de dominar Flow Builder. De principio a fin, la ruta Crear flujos con Flow Builder lo guía por todos los conceptos sobre Flow Builder. Siga esta secuencia recomendada de insignias para desarrollar capacidades sólidas de automatización de procesos y convertirse en experto de Flow Builder.

¿Qué es una variable global?

Las variables globales existen en todos los flujos. Usted no las crea ni tiene la posibilidad de cambiar su valor en el flujo, pero le dan acceso a su flujo a todos los datos útiles que pueden variar cada vez que se ejecuta el flujo.

Puede utilizar variables globales en campos que le permiten seleccionar un recurso. Ese tipo de campos, por lo general, contienen textos de marcador como "Enter value or search resources…" (Introduzca valor o busque recursos…) o "Insert a resource…" (Introduzca un recurso…). 

La ventana New Screen (Nueva pantalla) muestra un componente de texto. El campo Default Value (Valor predeterminado) contiene "Enter value or search resources" (Introduzca valor o busque recursos) como texto del marcador encima de una lista de selección de variables globales.

En Flow Builder, las variables globales se comportan de manera similar a los objetos y campos: cada variable contiene múltiples valores. Para utilizar una variable global en un flujo, siga los siguientes pasos.

  1. Al crear o editar un elemento, haga clic en un campo que le permita seleccionar un recurso. Flow Builder muestra los recursos que puede usar en ese campo.
  2. En Global Variables (Variables globales), seleccione una variable que comience con $. Flow Builder muestra los campos disponibles para la variable seleccionada.
Nota

En algunos elementos, las variables globales tienen nombres diferentes y no comienzan con $. Sin embargo, se mantienen ubicadas en la sección Global Variables (Variables globales) del campo. Los equipos de desarrollo de Flow Builder están actualmente actualizando cada elemento para utilizar esta nueva nomenclatura. Hasta que este proceso termine, proporcionaremos ambos nombres para cada variable global que tratemos.

  1. Seleccione el campo que contiene el valor que quiere utilizar.
    Al seleccionar la variable global $Flow, se muestra una lista de los campos disponibles: CurrentDate, CurrentDateTime e InterviewStartTime.
Nota

Tenga en cuenta que el formato de datos del campo de la variable global debe ser compatible con el formato de datos del campo. Por ejemplo, para establecer el valor predeterminado del campo fecha/hora, debe seleccionar un campo de variable global de fecha o fecha/hora. O, para establecer el valor de un campo de divisa, debe seleccionar un campo de variable global de número o divisa.

Obtener los valores de campo del usuario que ejecuta

La variable global $User (o, en algunos elementos, la variable global Running User [Usuario que ejecuta]) le permite a su flujo tener una visión del usuario que está detrás del teclado. No en sentido literal, por supuesto. Pero le da acceso a su flujo a información del usuario que lo ejecuta. Utilice la variable global $User para acceder a información como el Id. del usuario que ejecuta, el nombre, el Id. del gerente, la dirección de correo electrónico y mucho más.

La lista de selección de la variable global $User muestra los campos en el objeto User (Usuario).

Los gerentes de ventas de Pyroclastic quieren recibir una notificación cada vez que un miembro del equipo cierre una oportunidad de mucho valor como perdida. Flo le pide que automatice esa notificación mediante una publicación de Chatter dirigida al gerente del propietario de la oportunidad. Es posible que la persona que ha cerrado esa oportunidad no sea su propietaria, por lo que la notificación debería indicar quién hizo el cambio.

Ya tiene un flujo que se ejecuta cada vez que el StageName de una oportunidad cambia a Closed Lost: Create Follow-Up with Decision Maker (Cerrada perdida: Crear seguimiento con el responsable de la toma de decisiones). Añada una acción en ese flujo para crear una publicación de Chatter dirigida al gerente del propietario de la oportunidad.

Primero, tiene que identificar al gerente del propietario. Tal como hizo en la segunda unidad, utilice el elemento Get Records (Obtener registros) para recuperar información que utilizará después en un elemento Action (Acción).

Recuperar el gerente del propietario

  1. Abra el flujo Create Follow-Up with Decision Maker (Crear seguimiento con el responsable de la toma de decisiones).
  2. En el lienzo del flujo, después del elemento Get Decision Maker (Obtener responsable de la toma de decisiones), haga clic en Agregar elemento. Seleccione Get Records (Obtener registros).
  3. En Label (Etiqueta), introduzca Get Owner Manager (Obtener gerente del propietario).
    Recuerde que este nombre se utiliza para etiquetar la variable generada, por lo que es una buena idea utilizar un nombre descriptivo.
  4. En Object (Objeto), seleccione User (Usuario).
  5. En Condition Requirements (Requisitos de condición), seleccione All Conditions Are Met (AND) (Se cumplen todas las condiciones [Y]).
  6. En la sección Filter Records (Filtrar registros), establezca las condiciones que indiquen al elemento qué registros debe recuperar:
    • Field (Campo): Id.
    • Operator (Operador): Es igual a
    • Value (Valor): $Record> Owner> ManagerId
  1. Haga clic en  en el panel New Get Records (Nuevo elemento Obtener registros) para cerrarlo.

El panel New Get Records (Nuevo elemento Obtener registros) correspondiente a los pasos anteriores.

Ahora ya tiene una variable de registro que contiene todos los campos del gerente del propietario de la oportunidad, incluyendo su nombre y dirección de correo electrónico. Lo siguiente es utilizar un elemento Action (Acción) para crear una publicación en Chatter.

Crear una plantilla de texto

  1. En Flow Builder, si la caja de herramientas no está abierta todavía, haga clic en Mostrar u ocultar la caja de herramientas para abrirla.
  2. Haga clic en New Resource (Nuevo recurso).
  3. En Resource Type (Tipo de recurso), seleccione Text Template (Plantilla de texto).
  4. En API Name (Nombre de API), introduzca ChatterPostManager.
  5. Junto al campo Resource Picker (Selector de recursos), cambie View as Rich Text (Ver como texto enriquecido) a View as Plain Text (Ver como texto plano).
  6. En el campo Resource Picker (Selector de recursos), seleccione User from Get_Owner_Manager (Usuario de Get_Owner_Manager) > Id.
    Se ha insertado un campo combinado para el nombre del gerente al comienzo del cuerpo del mensaje.
  7. Añada corchetes [ ] alrededor del campo combinado, de esta manera:
    [{Get_Owner_Manager.Id}]
  8. Añada un símbolo @ al principio y dos puntos (:) al final, así:
    @[{Get_Owner_Manager.Id}]:
Nota

Recuerde que, cuando va seguido de un valor entre corchetes, el símbolo @ inserta el valor como una mención en la publicación de Chatter.

  1. Después de los dos puntos, empiece una nueva línea e introduzca:
    This opportunity was marked Closed Lost.
    Closed by:
  2. Deje un espacio y, a continuación, añada tres campos combinados más utilizando la variable global $User que encontrará en la sección Global Variables (Variables globales). Asegúrese de añadir un espacio entre ellos para que no se ejecute a la vez:
    • $User> FirstName
    • $User> LastName
    • $User> Email

      (Texto alternativo: La ventana New Resource [Nuevo recurso] correspondiente a los pasos anteriores).
  1. Haga clic en Done (Listo).

Lo siguiente es utilizar una plantilla de texto en un elemento Action (Acción) para crear una publicación en las noticias en tiempo real de Chatter de la oportunidad.

Notificar al gerente con una publicación de Chatter

  1. Después del elemento Get Owner Manager (Obtener gerente del propietario), haga clic en Agregar elemento. Escriba post (publicar) en la barra de búsqueda.
  2. Seleccione Post to Chatter (Publicar en Chatter).
  3. En Label (Etiqueta), introduzca Chatter Post to Manager (Publicación de Chatter para el gerente).
  4. En Message (Mensaje), seleccione la plantilla de texto ChatterPostManager.
  5. En el campo Target Name or ID (Id. o nombre de destino), seleccione Triggering Opportunity (Oportunidad desencadenante) > Owner ID (Id. de propietario).
  6. Haga clic en Done (Listo).
  7. Guarde el flujo.

Obtener los valores de perfil y función del usuario que ejecuta

Al crear flujos, evite codificar de forma rígida los identificadores. El codificado de forma rígida consiste en introducir manualmente un Id. de Salesforce en un flujo o código. Un ejemplo de codificado de forma rígida en un elemento Update Records (Actualizar registros) es establecer criterios para verificar "005i000006rZRFU". En su lugar, debe recuperar el Id. con un elemento Get Records (Obtener registros) y, a continuación, comprobar el Id. almacenado en la variable de registro de ese mismo elemento.

Nota

¿Por qué debe evitar el codificado de forma rígida? Los Id. de Salesforce pueden cambiar en cualquier momento. Si crea un flujo con un Id. codificado de forma rígida en un sandbox, es probable que el registro que está intentando referenciar tenga un Id. diferente en otros sandboxes y en producción. Además, es difícil entender o solucionar un problema en un flujo cuando no puede identificar fácilmente qué registro representa un Id.

¿Qué tiene que ver esto con las variables globales? En algún momento, es posible que quiera acceder al perfil o función del usuario. Supongamos que su organización está dividida por territorios, asignados como funciones de usuario a los vendedores. Los territorios del oeste (Sales-West1, Sales-West2 y Sales-West3) utilizan un cálculo de descuentos diferentes al de otros territorios. Para calcular correctamente los descuentos, un flujo necesita conocer la función del usuario que ejecuta para confirmar si está asignado a uno de los territorios del oeste.

Flo intenta utilizar una variable global $User para conocer la función del usuario que ejecuta, pero el único valor de función que encuentra es el Id. de la función. Ella sabe que no debe codificar de forma rígida un Id. en su flujo. Afortunadamente, existe otra forma de acceder a la información sobre la función del usuario que ejecuta: la variable global $UserRole (o, en algunos elementos, la variable global Running User Role [Función del usuario que ejecuta]). Puede acceder a muchos valores en la función del usuario que ejecuta.

Además, la variable global $Profile (o, en algunos elementos, la variable global Running User Profile [Perfil del usuario que ejecuta]) se debería utilizar en situaciones parecidas en las que el flujo necesita acceder a los valores del perfil del usuario que ejecuta. El único valor de perfil en $User es el Id. del perfil; pero, al igual que $UserRole para las funciones, $Profile permite el acceso al resto de los valores de perfil.

Para evitar el codificado de forma rígida al comprobar la función del usuario que ejecuta, seleccione $UserRole > DeveloperName. Para el perfil, seleccione $Profile > Name.

Los campos de criterios en la ventana New Decision (Nueva decisión) con Resource (Recurso) establecido en $UserRole > DeveloperName, Operator (Operador) en Contains (Contiene) y Value (Valor) en West (Oeste).

Nota

Tras descubrir que el usuario está asignado al territorio del oeste, Flo utiliza un elemento Decision (Decisión) para que el flujo pueda aplicar el descuento asociado al territorio del oeste en lugar del descuento estándar que utilizan los demás territorios. Ha conocido el elemento Decision (Decisión) en Lógica de Flow Builder, la insignia anterior a esta en la ruta Crear flujos con Flow Builder, por lo que no tiene que dar un salto adelante; puede simplemente terminar esta insignia primero.

Recuperar etiquetas personalizadas

Si los usuarios de su organización trabajan en diferentes idiomas, las etiquetas personalizadas son muy útiles. Las etiquetas personalizadas contienen una cadena de texto que puede traducir a múltiples idiomas. Después de establecer las traducciones, Salesforce muestra las etiquetas personalizadas a cada usuario en su lengua materna. Puede utilizar estas etiquetas personalizadas incluso en los flujos.

En Flow Builder, utilice la variable global $Label (o, en algunos elementos, la variable global Custom Label [Etiqueta personalizada]) para colocar una etiqueta personalizada en cualquier lugar que admita un recurso de texto, como componentes de pantalla, valores predefinidos para campos o fórmulas de texto. En este ejemplo, al crear un registro de tarea, el valor del campo Subject (Asunto) se establece en la variable global TaskPrintLabels. Ahora, cuando los usuarios vean esa tarea, el asunto se mostrará en su propia lengua.

Una sección de la ventana Create Records (Crear registros) correspondiente a la descripción anterior.

El siguiente ejemplo es un componente Display Text (Mostrar texto) en una pantalla de flujo. En el campo Resource Picker (Selector de recursos), cuando $Label está seleccionado, se indican las etiquetas personalizadas disponibles. Si selecciona una de ellas, se añade al área de texto en el componente.

La ventana New Screen (Nueva Pantalla) correspondiente a la descripción anterior.

Otras variables globales importantes

Existen otras pocas variables globales que pueden ser útiles al crear flujos.

Variable global

Función

$Flow.CurrentDate

(o Running Flow Interview > CurrentDate)

Recupera la fecha en la que se ejecuta el elemento

$Flow.CurrentDateTime

(o Running Flow Interview > CurrentDateTime)

Recupera la fecha/hora en la que se ejecuta el elemento

$Flow.InterviewStartTime

(o Running Flow Interview > InterviewStartTime)

Recupera la fecha/hora en la que se ejecuta por primera vez el flujo

$Flow.FaultMessage

(o Running Flow Interview > FaultMessage)

Recupera el mensaje de error cuando un flujo se para debido a un error

$Organization

(o Running Org)

Recupera la información que encuentra en la página de información de la empresa en Configuración, como el nombre y la dirección de su empresa

$Record

(o Triggering [nombre del objeto])

En un flujo desencadenado por un registro, $Record recupera la información del registro que desencadenó el flujo. (Usted utilizó esta variable global en un reto práctico para obtener la compañía y el Id. de un nuevo candidato creado).

También puede utilizar $Record para:

  • Actualizar la información del registro que desencadena el flujo.
  • Actualizar un grupo de registros relacionado con el registro desencadenante.

Obtenga más información sobre $Record en la insignia Flujos desencadenados por registro.

Recuperar valores de metadatos personalizados

Los metadatos personalizados no son una variable global, pero sí son un conjunto de valores a los que puede acceder globalmente: en Flow Builder o a través su organización de Salesforce. Por ejemplo, un tipo de metadatos personalizados se puede utilizar en flujos, códigos, reglas de validación, etc.

En Flow Builder, usted recupera metadatos personalizados de la misma manera que recupera registros de objetos: utilizando el elemento Get Records (Obtener registros). Al seleccionar el objeto, seleccione un tipo de metadatos personalizados.

La lista de objetos que se pueden seleccionar del campo Object (Objeto) en la pantalla New Get Records (Nuevo elemento Obtener registros), con un tipo de metadatos resaltado.

Nota

¿Está buscando sus tipos de metadatos personalizados? Busque los elementos con un nombre de API que contenga __mdt al final.

Para más información y ejemplos de casos de uso, consulte el módulo de Trailhead Conceptos básicos sobre los tipos de metadatos personalizados, en particular la unidad de Flow "Uso de los tipos de metadatos personalizados".

Recursos

Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios