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.

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).
Nota

Nota

¿Es su idioma de aprendizaje español (LATAM)? Comience el reto en un Trailhead Playground en español (LATAM) y utilice las traducciones entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto dependen de los datos en ese idioma. Si no aprueba el reto en su organización en español (LATAM), recomendamos que (1) cambie la configuración local a Estados Unidos, (2) cambie el idioma a inglés (según estas instrucciones) y, luego, (3) haga clic en el botón “Check Challenge” (Comprobar el reto) nuevamente.

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Nota

Esta insignia es solo una parte del proceso hacia el dominio de Flow Builder. De principio a fin, la ruta Crear flujos con Flow Builder le sirve de guía en el aprendizaje de todo sobre Flow Builder. Siga esta secuencia de insignias recomendada para desarrollar habilidades sólidas de automatización de procesos y convertirse en un experto en Flow Builder.

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.

La lista de recursos de Flow Builder muestra una variable denominada Contact (Contacto) de Get_Latest_Contact.

Nota

Es posible que advierta que la variable está visible y disponible en todo el flujo, incluso si el elemento que la crea está al final. Esa es solo una necesidad técnica de cómo funcionan los flujos: todas las variables deben existir desde el principio hasta el final. La variable no contiene nada hasta que su elemento se ejecuta y recupera los datos.

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.

  1. 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)
    • 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
    • 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)
  2. En el lienzo del flujo, en la ruta posterior al elemento Start (Inicio), haga clic en Agregar elemento. Seleccione Get Records (Obtener registros).
  3. 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.
  4. En Object (Objeto), seleccione Opportunity Contact Role (Función del contacto de la oportunidad).
  5. En Condition Requirements (Requisitos de condición), seleccione All Conditions Are Met (AND) (Se cumplen todas las condiciones [AND]).
    El panel de nueva obtención de registros correspondiente a los pasos 3 a 5.
  6. 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
    • Segunda condición:
      • Field (Campo): Role (Función)
      • Operator (Operador): Equals (Es igual a)
      • Value (Valor): Decision Maker (Persona con capacidad para tomar decisiones)
Nota

El filtrado de registros en un elemento de flujo le permite asegurarse de obtener solo los registros deseados. Es similar a crear varias condiciones y definir una lógica personalizada en vistas de listareportes.

El panel de nueva obtención de registros correspondiente al paso 6.

Nota

Si el objeto al que consulta tiene muchos registros, en lo posible, evite recuperar todos los registros. Es posible que termine editando registros cerrados que no deberían modificarse y corre el riesgo de alcanzar los límites de ejecución que provocarán errores en el flujo.

  1. En Sort Order (Orden de clasificación), seleccione Descending (Descendente).
  2. En Sort By (Ordenar por), seleccione CreatedDate.
  3. 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.
  4. 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.
Nota

Automatically store all fields (Almacenar automáticamente todos los campos) suele ser la mejor opción, porque reduce el trabajo y simplifica los datos en una única variable. Incluso si solo necesita recuperar un único valor de un registro, es poco probable que supere algún límite del flujo si almacena el registro completo. Por el otro lado, si el objeto tiene unos pocos cientos de campos personalizados, la carga aumentada puede repercutir en el desempeño. En ese caso, seleccione Choose fields and let Salesforce do the rest (Seleccionar los campos y permitir que Salesforce haga el resto) para obtener solo los campos que necesita.

El panel de nueva obtención de registros correspondiente a los pasos 7 a 10.

  1. 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).

  1. 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)
  2. 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).
  3. 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

Reto práctico

+500 puntos

Prepararse

Completará esta/este unidad en su propia organización de prácticas. Haga clic en Iniciar para empezar a trabajar, o haga clic en el nombre de su organización para seleccionar una diferente.

Su reto

Mark New Leads If There’s Already an Account With That Name
At Pyroclastic, Inc., leads for existing customers sometimes get into Salesforce. The sales director wants them marked so they can be checked and processed.

Create a flow that checks new leads to see if there’s already an account whose Name matches the lead’s Company field. If there’s a match, add that account to the lead’s Possible Matching Account field. In case there are multiple matches, make sure you mark each lead with its most recent account.

Prework: Create a custom field:
  • Object: Lead
  • Data Type: Lookup Relationship
  • Related To: Account
  • Field Label: Possible Matching Account
  • Field Name: Possible_Matching_Account
  • Leave default values for other settings, field-level security, and Lead page layouts
  • Don’t add the Leads related list to any Account page layout
  • Create a Record-Triggered flow:
    • Object: Lead
    • Trigger the Flow When: A record is created
    • Optimize the Flow for: Actions and Related Records
    • Keep default values for all other settings
  • Add a Get Records element:
    • Label: Look for Matching Account
    • API Name: Look_for_Matching_Account
    • Object: Account
    • Filter Account Records:
      • Field: Name
      • Operator: Equals
      • Value: $Record > Company
    • Sort Order: Descending
    • Sort By: CreatedDate
    • Keep default values for all other settings
  • After the Look for Matching Account element, add an Update Records element:
    • Label: Update Matching Account
    • API Name: Update_Matching_Account
    • How to Find Records to Update and Set Their Values: Use the lead record that triggered the flow
    • Condition Requirements to Update Record: None—Always Update Record
    • Field Values:
      • Field: Possible_Matching_Account__c
      • Value: Account from Look_for_Matching_Account > Id
  • Save the flow.
    • Label: Check New Lead for Matching Account
    • API Name: Check_New_Lead_for_Matching_Account
Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios