Combine variables y elementos de datos
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Utilizar las variables que generan algunos elementos.
- Recuperar los datos de los registros de Salesforce para utilizarlos en sus flujos.
- Utilizar las variables de registro en los elementos Create Records (Crear registros) y Update Records (Actualizar registros).
Variables generadas por elementos
Las variables son increÃblemente útiles en los flujos, pero acabará harto de ellas si tiene que crear una variable para cada uno de los datos en un flujo. Por suerte, algunos elementos del flujo crean variables por sà mismos, por lo que no tendrá que hacerlo usted. Estas variables tienen etiquetas que coinciden con su elemento de origen, por lo que en todo momento sabrá de dónde vienen: [Record type] from [API name]
.
Por ejemplo, si tiene un elemento Get Records (Obtener registros) que recupera un registro de contacto y su nombre de API es Get_Latest_Contact, ese elemento crea una variable de registro con una etiqueta Contact from Get_Latest_Contact
.
Veamos el elemento Get Records (Obtener registros), cómo funciona y cómo crea esa variable por usted.
Recuperar valores de un único registro
Para cualquier cosa que quiera hacer en Flow Builder, necesita datos. Los flujos pueden acceder a sus datos de registro de Salesforce, pero tiene que decirle al flujo qué datos debe obtener. El flujo almacena de manera temporal los valores de un registro para que pueda utilizarlos más adelante.
Para recuperar datos de un registro de Salesforce, utilice el elemento Get Records (Obtener registros). Eche un vistazo a este vÃdeo sobre el funcionamiento del elemento Get Records (Obtener registros):
Al recuperar los valores de registro, puede obtener todos los valores de los campos de un único registro o de una colección completa de registros. El flujo almacena los valores recuperados en una única variable.
Veamos un ejemplo. Pyroclastic registra contactos clave en una oportunidad en el objeto relacionado Opportunity Contact Role (Función de contacto de oportunidad). El departamento de ventas quiere que los propietarios de las oportunidades se pongan en contacto con la persona que tiene la función Decision Maker (Responsable de la toma de decisiones) cada vez que se pierda una oportunidad. Flo le solicita que cree un flujo que genere una tarea cada vez que se pierda una oportunidad de mucho valor. El responsable de la toma de decisiones no está guardado en la oportunidad, sino en otro objeto diferente: Opportunity Contact Role (Función de contacto de oportunidad). Necesita que el flujo recupere el nombre del responsable de la toma de decisiones desde la función de contacto de la oportunidad antes de crear la tarea.
Describamos el flujo antes de empezar a construirlo.
Primero, el flujo se activa cada vez que se pierde una oportunidad con un importe superior a 100 000. Esto se hace con un flujo desencadenado por un registro que se activa cuando se actualiza una oportunidad y con un requisito de condición: StageName = Closed Lost (Cerrada perdida).
Segundo, el flujo recupera los registros de la función de contacto de la oportunidad cuya función es Decision Maker (responsable de la toma de decisiones). Esto se hace con un elemento Get Records (Obtener registros) para el objeto Opportunity Contact Role (Función de contacto de oportunidad). En el elemento Get Records (Obtener registros), establezca dos filtros en la función de contacto de oportunidad: (1) Opportunity (Oportunidad) = Id. de la oportunidad desencadenante; y (2) Role (Función) = Decision Maker (Responsable de la toma de decisiones).
Tercero, quiere almacenar solamente los responsables de la toma de decisiones más recientes. Esto se hace con tres ajustes en el elemento Get Records (Obtener registros): (1) How many records to store (Registros para almacenar): Only the first record (Solo el primer registro); (2) Sort by (Ordenar por): CreatedDate; y (3) Sort Order (Orden de clasificación): Descending (Descendente).
Por último, el flujo crea una tarea que le recuerda al propietario de la oportunidad que haga un seguimiento con el responsable de la toma de decisiones. Esto se hace con un elemento Create Records (Crear registros) en el objeto Task (Tarea). Debe establecer los valores de campo para la tarea utilizando el Id. del propietario de la oportunidad, el Id. de la oportunidad y el Id. de contacto de la función de contacto de la oportunidad.
¡Ya está preparado para empezar a construir el flujo!
- Cree un flujo desencadenado por un registro:
- Object (Objeto): Opportunity (Oportunidad)
- Trigger the Flow When (Active el flujo cuando): Se actualiza un registro
- Condition Requirements (Requisitos de condición): All Conditions Are Met (Se cumplen todas las condiciones) (AND)
- Condition (Condición):
- Field (Campo): StageName
- Operator (Operador): Es igual a
- Value (Valor): Closed Lost (Cerrada/perdida)
- Field (Campo): StageName
- Haga clic en +Add Condition (Añadir condición):
- Field (Campo): Amount (Importe)
- Operator (Operador): Greater Than or Equal (Mayor o igual que)
- Value (Valor):
100000
(100,00)
- Field (Campo): Amount (Importe)
- When to Run the Flow for Updated Records (Cuándo ejecutar el flujo para registros actualizados): Only when a record is updated to meet the condition requirements (Solo cuando un registro se actualiza para cumplir los requisitos de condición)
- Optimize the Flow for (Optimizar el flujo para): Actions and Related Records (Acciones y registros relacionados)
- Object (Objeto): Opportunity (Oportunidad)
- En el lienzo del flujo, en la ruta que sigue al elemento Start (Iniciar), haga clic en
. Seleccione Get Records (Obtener registros).
- En Label (Etiqueta), introduzca
Get Decision Maker
(Obtener responsable de la toma de decisiones).
Recuerde que este nombre se utiliza para etiquetar la variable generada, por lo que es una buena idea utilizar un nombre descriptivo.
- En Object (Objeto), seleccione Opportunity Contact Role (Función de contacto de oportunidad).
- En Condition Requirements (Requisitos de condición), seleccione All Conditions Are Met (AND) (Se cumplen todas las condiciones [Y]).
- En la sección Filter Records (Filtrar registros), establezca las condiciones que indiquen al elemento qué registros recuperar.
- Primera condición:
- Field (Campo): OpportunityId (Id. de la oportunidad)
- Operator (Operador): Es igual a
- Value (Valor): $Record> Id
- Field (Campo): OpportunityId (Id. de la oportunidad)
- Segunda condición:
- Field (Campo): Función
- Operator (Operador): Es igual a
- Value (Valor): Decision Maker (Responsable de la toma de decisiones)
- Field (Campo): Función
- Primera condición:
- En Sort Order (Orden de clasificación), seleccione Descending (Descendente).
- En Sort By (Ordenar por), seleccione CreatedDate (Fecha de creación).
- En How many records to store (Registros para almacenar), seleccione Only the first record (Solo el primer registro).
Si selecciona Only the first record (Solo el primer registro), el elemento almacena solamente un registro en la variable de salida.
Si selecciona All records (Todos los registros), se devuelven todos los registros que cumplen con las condiciones del filtro.
- En How to Store Record Data (Cómo almacenar los datos del registro), seleccione Automatically store all fields (Almacenar automáticamente todos los campos).
Esta opción es la predeterminada, y por una buena razón. Con esta opción habilitada, el elemento automáticamente crea una variable de registro por usted y almacena los datos en ella. No se preocupe: aunque el registro completo se almacene en una única variable, usted podrá recuperar los valores individuales de los campos cuando lo necesite.
- Guarde el flujo. En Flow Label (Etiqueta de flujo), introduzca
Create Follow-Up with Decision Maker
(Crear seguimiento con el responsable de la toma de decisiones).
Combinación de How Many Records to Store (Registros para almacenar) y ajustes del orden
En el elemento Get Decision Maker (Obtener responsable de la toma de decisiones), querÃa encontrar un responsable de la toma de decisiones, por lo que optó por almacenar solamente el primer registro. Si varios registros coinciden con las condiciones del filtro, ¿cómo sabe cuál se almacenará? Puede utilizar los ajustes Sort Order (Orden de clasificación) y Sort By (Ordenar por) para establecer qué registros van primero. Los clasificó por orden descendente según su fecha de creación para que el flujo devolviese la función Decision Maker (Responsable de la toma de decisiones) creada más recientemente.
Ahora su flujo puede obtener la información que necesita para crear la tarea de recordatorio. A continuación, añada un elemento Create Records (Crear registros) para crear esa tarea.
Utilizar los valores recuperados
Una vez ejecutado el elemento Get Records (Obtener registros), su variable contiene todos los datos que necesita. Ahora los elementos de su flujo pueden obtener esos datos para cualquier cosa que necesiten.
Volvamos a nuestro ejemplo. El flujo recupera los datos para la función de contacto Decision Maker (Responsable de la toma de decisiones), pero todavÃa necesita crear la tarea. Creemos un elemento Create Records (Crear registros). Utilice la variable creada por el elemento Get Records (Obtener registros) (Opportunity Contact Role from Get Decision Maker [Función de contacto de oportunidad desde Obtener responsable de la toma de decisiones]) para establecer el contacto de la tarea (Id. de nombre).
- En el flujo Create Follow-Up with Decision Maker (Crear seguimiento con el responsable de la toma de decisiones), añada un elemento Create Records (Crear registros) después del elemento Get Decision Maker (Obtener responsable de la toma de decisiones):
- Label (Etiqueta):
Create Task
(Crear tarea) - How to set record field values (Cómo configurar valores de campo de registro): Manually (De forma manual).
- Object (Objeto): Tarea
- Label (Etiqueta):
- Define the field values for the new task record (Definir los valores de campo para un nuevo registro de tarea).
- Field (Campo): Assigned To ID (Asignado al Id.), Value (Valor): Triggering Opportunity (Oportunidad desencadenante)> Owner ID (Id. del propietario) (DeslÃcese hacia abajo y seleccione el campo Owner ID [Id. del propietario] que no contenga > al final de la lÃnea).
- Field (Campo): Priority (Prioridad), Value (Valor): Normal (Normal)
- Field (Campo): Status (Estado), Value (Valor): No iniciada
- Field (Campo): Subject (Asunto), Value (Valor):
Closed Lost Follow-Up
(Seguimiento de cerrada perdida)
- Field (Campo): Related To ID (Id. de relacionado con), Value (Valor): Opportunity ID (Id. de oportunidad)
- Field (Campo): Name ID (Id. de nombre), Value (Valor): Opportunity Contact Role from Get Decision Maker (Función de contacto de oportunidad desde Obtener responsable de la toma de decisiones) > Contact ID (Id. de contacto) (DeslÃcese hacia abajo y seleccione el campo Contact ID [Id. de contacto] que no contenga > al final de la lÃnea).
- Field (Campo): Assigned To ID (Asignado al Id.), Value (Valor): Triggering Opportunity (Oportunidad desencadenante)> Owner ID (Id. del propietario) (DeslÃcese hacia abajo y seleccione el campo Owner ID [Id. del propietario] que no contenga > al final de la lÃnea).
- Guarde el flujo.
Una vez activado el flujo, cuando una oportunidad se establece como Closed Lost (Cerrada perdida), el flujo crea una tarea de seguimiento en la oportunidad y en el contacto más reciente con la función Decision Maker (Responsable de la toma de decisiones).
En la siguiente unidad, conocerá otros elementos que se comunican con sus usuarios.
Recursos
- Recurso de vÃdeo sobre flujos: Obtener registros
- Trailhead: Personalización de Lightning Experience
- Trailhead: Informes y paneles de Lightning Experience