Combinar variables y elementos de datos
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Usar las variables generadas por algunos elementos.
- Recuperar datos de registros de Salesforce para usar en sus flujos.
- Utilizar 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 si tuviera que crear una para cada valor de datos por separado en un flujo, se cansaría de crear variables bastante rápido. Por suerte, algunos elementos de flujo crean sus propias variables, así no lo tiene que hacer. Estas variables tienen etiquetas que coinciden con su elemento de origen, por lo que siempre sabe de dónde vinieron: [Record type] from [API name]
([Tipo de registro] de [Nombre de API]).
Por ejemplo, si tiene un elemento Get Records (Obtener registros) que recupera un registro de contacto y tiene el nombre de API Get_Latest_Contact, ese elemento crea una variable de registro con Contact from Get_Latest_Contact
como la etiqueta.
Analicemos el elemento Get Records (Obtener registros), y cómo funciona y crea esa variable.
Recuperar valores desde un registro único
Para hacer casi todo en Flow Builder, necesita datos. Los flujos pueden acceder a los datos de registro de Salesforce, pero tiene que decirle al flujo qué datos obtener. El flujo almacena de manera temporal los valores de un registro para que se puedan usar posteriormente en el flujo.
Para recuperar datos de un registro de Salesforce, utilice el elemento Get Records (Obtener registros). Mire este video sobre cómo funciona el elemento Get Records (Obtener registros).
Al recuperar valores de registro, puede obtener todos los valores de campo desde un único registro o desde una colección completa de registros. El flujo almacena los valores recuperados en una única variable.
Observemos un ejemplo. Pyroclastic, Inc. hace el seguimiento de los contactos críticos en una oportunidad en el objeto relacionado con la función del contacto de la oportunidad. El departamento de ventas desea que los propietarios de la oportunidad se comuniquen con el contacto que cumple la función de toma de decisiones cuando se pierde una oportunidad. Flo le pide que cree un flujo que genere una tarea cuando se pierde una oportunidad de alto valor. La persona responsable de la toma de decisiones no está almacenada en la oportunidad, sino en un objeto distinto: la función del contacto de la oportunidad. Usted necesita el flujo para recuperar a la persona responsable de la toma de decisiones de la función del contacto de la oportunidad antes de crear la tarea.
Vamos a esbozar el flujo antes de empezar a crearlo.
Primero, el flujo se ejecuta cuando se pierde una oportunidad con un importe superior a 100.000. (Esto se hace con un flujo activado mediante registro que se ejecuta cuando se actualiza una oportunidad, y un requisito de condición: StageName = Closed Lost [Cerrada perdida]).
Segundo, el flujo recupera los registros de la función del contacto de la oportunidad cuya función es la toma de decisiones. (Esto se hace con un elemento Get Records [Obtener registros] para el objeto de la función del contacto de la oportunidad. En el elemento Get Records (Obtener registros), define dos filtros: (1) la oportunidad de la función del contacto de la oportunidad = la Id. de la oportunidad desencadenante; y (2) la función del contacto de la oportunidad = toma de decisiones).
Tercero, desea almacenar solo la función de toma de decisiones más reciente. (Esto se hace con tres opciones de configuración del elemento Get Records [Obtener registros]: (1) cuántos registros almacenar: solo el primero; (2) ordenar por: CreatedDate; y (3) orden de clasificación: descendente).
Por último, el flujo crea una tarea que recuerda al propietario de la oportunidad que debe realizar un seguimiento con la persona responsable de la toma de decisiones. (Esto se hace con el elemento Create Records [Crear registros] para el objeto Task [Tarea]. Para definir los valores de campo, debe usar la Id. de propietario de la oportunidad, la Id. de la oportunidad y la Id. de contacto de la función del contacto de la oportunidad).
Ahora está todo listo para comenzar a crear el flujo.
- Cree un flujo desencadenado por registro:
- Object (Objeto): Opportunity (Oportunidad)
- Trigger the Flow When (Active el flujo cuando): A record is updated (Se actualiza un registro)
- Condition Requirements (Requisitos de condición): All Conditions Are Met (AND) (Se cumplen todas las condiciones [AND])
- Condition (Condición):
- Field (Campo): StageName
- Operator (Operador): Equals (Es igual a)
- Value (Valor): Closed Lost (Cerrada perdida)
- Field (Campo): StageName
- Haga clic en +Add Condition (+Agregar condición):
- Field (Campo): Amount (Importe)
- Operator (Operador): Greater Than or Equal (Mayor o igual que)
- Value (Valor):
100000
- Field (Campo): Amount (Importe)
- When to Run the Flow for Updated Records (Cuándo ejecutar el flujo para los 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 (Optimice el flujo para): Actions and Related Records (Acciones y registros relacionados)
- Object (Objeto): Opportunity (Oportunidad)
- En el lienzo del flujo, en la ruta posterior al elemento Start (Inicio), haga clic en
. Seleccione Get Records (Obtener registros).
- En Label (Etiqueta), introduzca
Get Decision Maker
(Obtener persona responsable de la toma de decisiones).
Recuerde que este nombre se usa para etiquetar la variable generada, así que es una buena idea usar un nombre descriptivo.
- En Object (Objeto), seleccione Opportunity Contact Role (Función del contacto de la oportunidad).
- En Condition Requirements (Requisitos de condición), seleccione All Conditions Are Met (AND) (Se cumplen todas las condiciones [AND]).
- En la sección Filter Records (Filtrar registros), defina las condiciones que indican al elemento qué registros debe recuperar.
- Primera condición:
- Field (Campo): OpportunityId
- Operator (Operador): Equals (Es igual a)
- Value (Valor): $Record> Id
- Field (Campo): OpportunityId
- Segunda condición:
- Field (Campo): Role (Función)
- Operator (Operador): Equals (Es igual a)
- Value (Valor): Decision Maker (Persona con capacidad para tomar decisiones)
- Field (Campo): Role (Función)
- Primera condición:
- En Sort Order (Orden de clasificación), seleccione Descending (Descendente).
- En Sort By (Ordenar por), seleccione CreatedDate.
- En How Many Records to Store (Cuántos registros almacenar), seleccione Only the first record (Solo el primer registro).
Cuando selecciona Only the first record (Solo el primer registro), el elemento almacena solo un registro en la variable de salida.
Cuando selecciona All records (Todos los registros), muestra todos los registros que cumplen con las condiciones de filtrado.
- En How to Store Record Data (Cómo almacenar datos de registros), 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 crea una variable de registro de forma automática y almacena los datos en ella. No se preocupe, por más que el registro completo se almacene en una sola variable, todavía podrá recuperar valores de campo individuales según sea necesario.
- Guarde el flujo. En Flow Label (Etiqueta de flujo), escriba
Create Follow-Up with Decision Maker
(Crear seguimiento con la persona responsable de la toma de decisiones).
Combinar la cantidad de registros para almacenar y la clasificación
En el elemento Get Decision Maker (Obtener persona responsable de la toma de decisiones), quiso encontrar a alguien responsable de la toma de decisiones, así que eligió almacenar solo el primer registro. Si varios registros coinciden con las condiciones de filtro, ¿cómo sabe cuál de ellos se almacenará? Puede usar las opciones Sort Order (Orden de clasificación) y Sort By (Ordenar por) para determinar qué registro viene primero. Ordenó de manera descendente por fecha de creación, así que el flujo devuelve la función de toma de toma de decisiones creada más recientemente.
Ahora el flujo puede obtener la información que necesita para crear la tarea de recordatorio. A continuación, agrega un elemento Create Records (Crear registros) para generar la tarea.
Utilizar los valores recuperados
Después de que se ejecuta el elemento Get Records (Obtener registros), su variable contiene esos datos tan valiosos y “jugosos”. Ahora los elementos del flujo pueden consumir esos datos para lo que necesiten, como un vaso frío de jugo de rango de flujo.
Volvamos a nuestro ejemplo. El flujo recupera los datos para la función de contacto de la toma de decisiones, pero todavía necesita crear una tarea. Ahora creemos un elemento Create Records (Crear registros). Utilice la variable creada por el elemento Get Records (Obtener registros) (función del contacto de la oportunidad desde el elemento para obtener la persona responsable de la toma de decisiones) para definir el contacto de la tarea (Id. de nombre).
- En el flujo Create Follow-Up with Decision Maker (Crear seguimiento con la persona responsable de la toma de decisiones), agregue un elemento Create Records (Crear registros) después del elemento Get Decision Maker (Obtener persona responsable de la toma de decisiones):
- Label (Etiqueta):
Create Task
(Crear tarea) - How to set record field values (Cómo establecer valores de campo de registro): Manually (De forma manual).
- Object (Objeto): Task (Tarea)
- Label (Etiqueta):
- Defina los valores de campo para el nuevo registro de tareas.
- Field (Campo): Assigned To ID (Asignado a la Id.), Value (Valor): Triggering Opportunity (Oportunidad desencadenante)> Owner ID (Id. de propietario)(Desplácese y seleccione el campo Owner ID (Id. de propietario) que no tiene un > al final de la línea).
- Field (Campo): Priority (Prioridad), Value (Valor): Normal
- Field (Campo): Status (Estado), Value (Valor): Not Started (No se ha iniciado)
- Field (Campo): Subject (Asunto), Value (Valor):
Closed Lost Follow-Up
(Seguimiento de Cerrada perdida)
- Field (Campo): Related To ID (Relacionado con la Id.), 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 del contacto de la oportunidad del elemento para obtener la persona responsable de la toma de decisiones) > Contact ID (Id. de contacto)(Desplácese hacia abajo y seleccione el campo Contact ID [Id. de contacto] que no tiene un > al final de la línea).
- Field (Campo): Assigned To ID (Asignado a la Id.), Value (Valor): Triggering Opportunity (Oportunidad desencadenante)> Owner ID (Id. de propietario)(Desplácese y seleccione el campo Owner ID (Id. de propietario) que no tiene un > al final de la línea).
- Guarde el flujo.
Una vez que el flujo se activa, cuando una oportunidad se establece como “Cerrada perdida”, el flujo crea una tarea de seguimiento en la oportunidad y en el contacto más reciente con la función de toma de decisiones.
En la siguiente unidad, aprenderá sobre otros elementos que se comunican con sus usuarios.
Recursos
- Recurso en video sobre flujos: Obtener registros
- Trailhead: Personalización de Lightning Experience
- Trailhead: Reportes y tableros para Lightning Experience