Skip to main content

Conocer las variables, las rutas y los bucles

Objetivos de aprendizaje 

Después de completar esta unidad, podrá:

  • Recordar las características únicas de una variable.
  • Describir las ventajas de una ruta programada.
  • Explicar el funcionamiento de un bucle de Flow Builder.
  • Definir el propósito de la depuración.

Espere, ¡es no es todo!

Efectivamente, existen otros conceptos de Flow Builder que debemos abordar y son un poco más avanzados. Disfrute los siguientes videos para comprender fácilmente conceptos complejos relacionados con flujos, como las variables y los bucles. Recuerde que la prueba al final de esta unidad plantea preguntas basadas en el contenido de los videos. Asegúrese de ver el video a fin de obtener la información que necesita para responder a las preguntas. 

¿Qué es una variable?

Quizá recuerde las variables de álgebra. Las variables de Flow Builder son bastante similares, pero posiblemente menos aburridas (sin ofender a los profesores de álgebra). Mire el siguiente video y compruebe que las variables son como una lonchera en la que puede llevar un taco o una porción de pizza. 

Ver transcripción

[Narrador] Entonces, ¿quiere aprender sobre Salesforce Flow? Es importante entender el concepto de variable. De manera sencilla, las variables en el flujo se utilizan cuando un valor puede cambiar en función de ciertas condiciones. Una variable no es más que un contenedor que contiene información. Cada variable en el flujo tiene un nombre y un valor. A medida que se desplaza por el flujo, puede acceder al valor de la variable e incluso modificarlo. Por eso se llama variable.

Piense en esto comparándolo con un almuerzo. Su lonchera es la variable. El nombre es Mi almuerzo y el valor es un sándwich. El lunes, usa su lonchera, la variable, para llevar su almuerzo. El martes, vuelve a usar la misma lonchera, la variable, para llevar una porción de pizza. Las variables, de manera similar a una lonchera, pueden incluso estar vacías o ser nulas. Ahora que ya tiene una idea general acerca de una variable, veamos qué función tiene una variable en el flujo.

Por ejemplo, una variable en el flujo puede llamarse Id. de contacto. Digamos que el valor de la variable Id. de contacto es el ID del contacto principal de una cuenta. El flujo escanea todos los contactos del objeto de la cuenta en búsqueda de ciertas características y concluye que otra persona debería ser el contacto principal. A continuación, el flujo asigna el Id. del nuevo contacto a la variable Id. de contacto. Es muy importante saber que este cambio aún no se ha guardado en su organización de Salesforce. Las variables son contenedores de información que se encuentra dentro del flujo. Estos cambios no se guardan en su organización de Salesforce hasta que usted le da instrucciones para hacerlo.

¡Felicitaciones! Entender las variables puede ser complicado. Recuerde que una variable contiene información dentro del flujo y el valor de la variable puede cambiar. Usted tiene que realizar pasos adicionales antes de que el flujo realice cualquier cambio en los datos reales de su organización.


Tipos de variables

¿Otro video sobre loncheras variables? ¡Sí! Siempre queda algo por aprender sobre las variables en la automatización: tipos de variables, restricciones sobre la forma de recopilar variables en conjunto y mucho más. Mire el siguiente video y cree una recopilación de conocimientos sobre variables. 

Ver transcripción

[Narrador] Le damos la bienvenida a la clase de hoy sobre loncheras. La primera lonchera comercial se inventó en el siglo XIX. Es una broma. Bueno, más o menos. Este video se centra en las variables. La lonchera es un generador de flujos. Una variable es un contenedor donde se guarda información, al igual que se guardan diferentes alimentos en una lonchera.

Sin embargo, si bien el tipo de datos de la lonchera de flujos es siempre el mismo, el valor de lo que se encuentra dentro puede cambiar a lo largo del flujo. Un termo sirve para contener líquidos, ¿no es cierto? De forma similar, una variable con un tipo de datos de texto contiene texto y una variable con un tipo de datos de número contiene un número.

Si ya creó campos de Salesforce, conoce muchas de las opciones para los tipos de variables: texto, número, moneda, fecha, fecha/hora y lista de selección. Pero otras pueden ser nuevas para usted. El tipo Booleano se utiliza para almacenar un valor verdadero, falso o en blanco. Es similar a un campo de casilla de verificación, excepto que en blanco no es igual a falso aquí. En blanco significa nulo o nada. Otro tipo de variable es Definido por Apex. Este tipo de datos de variables manipula los objetos de datos complejos que se reciben de un código Apex o de llamadas a servicios web. Una vez seleccionado el tipo de variable, es posible asignar distintos valores. Esto convierte a la variable en una variable de colección.

Eso se parece mucho a comprar una lonchera más grande para guardar muchos sándwiches. Esta variable de colección contiene solo una colección de un mismo tipo de variable. Por ejemplo, las variables de número solo admiten otros números. Al igual que los sándwiches solo pueden estar en una colección con otros sándwiches, los registros de contacto solo pueden pertenecer a una colección con otros registros de contacto. No se pueden mezclar objetos en una colección.

En conclusión, los tipos de variables son similares a los tipos de campos en los registros. Cualquier tipo de variable puede pertenecer a una colección de variables de ese tipo. Si su lonchera es un contenedor para tacos, comerá solo tacos en el almuerzo. Como de costumbre, pruebe siempre sus flujos en una organización de entorno sandbox.


Rutas programadas

Algunas personas beben café 10 minutos después de despertar cada mañana. Con Flow Builder se puede hacer lo mismo. No beber café, sino seguir una programación basada en tiempo. Mire el siguiente video para ver cómo su organización puede recibir un estímulo de cafeína con una ruta programada. 

Ver transcripción

[Narrador] Aunque aquí en Salesforce solemos hablar mucho de las rutas de Trailhead, dediquemos algunos minutos a otras rutas, específicamente, las rutas programadas. Las rutas programadas se utilizan en los flujos desencadenados por registro para programar acciones de flujo futuras, no inmediatas.

Observemos un ejemplo. Cuando se crea un registro de prospecto, se dispara un flujo. El flujo se desencadena por la creación de este registro. Es posible utilizar una ruta programada para que algo suceda en un determinado plazo de minutos, horas o días; por ejemplo, el envío de un email a un prospecto tres días después de su fecha de creación. La programación no se limita a la fecha de creación. Las rutas programadas se pueden basar en un campo de fecha o de fecha/hora en el objeto, y se pueden disparar en esa fecha, o después o incluso antes de esta.

Supongamos que un flujo desencadenado por registro establece una fecha de caducidad de membresía cuando se crea un contacto. Es posible programar en el mismo flujo que se envíe un recordatorio por email cinco días antes de que esa membresía caduque. Si conoce las reglas de flujo de trabajo o las opciones de Process Builder, las rutas programadas son el equivalente de las reglas de flujo de trabajo desencadenadas por tiempo o las acciones basadas en tiempo de Process Builder.

Ahora veamos dos elementos que pueden parecer rutas programadas, pero no lo son. El elemento de inicio en un flujo desencadenado por registro ofrece una opción para incluir una ruta Ejecutar de forma asíncrona con el fin de acceder a un sistema externo. Puede ignorar esta opción hasta que necesite un flujo más avanzado. Y no se confunda con los flujos desencadenados por programación. Este es un tipo de flujo que se puede programar para que se ejecute una vez, a diario o semanalmente. Por ejemplo, puede configurar que un flujo desencadenado por programación se ejecute una vez al mes a fin de marcar los prospectos que no cambiaron en ese período.

En resumen, puede utilizar las rutas programadas en los registros desencadenados por registro para automatizar los pasos que se deben realizar después de que se desencadena un flujo. Es necesario crear o actualizar un registro para incluirlo en una ruta programada. Las rutas programadas se pueden basar en un campo de fecha o de fecha/hora en el objeto. Como siempre, asegúrese de probar primero sus flujos en una organización de entorno sandbox.


Bucles de flujo

¿Recuerda cuando trabajaba en una oficina real cinco días a la semana y alguien se quedaba limpiando la nevera? Este video muestra que lidiar con una colección de contenedores cuestionables es similar a lidiar con una colección de registros en un bucle. 

Ver transcripción

[Narrator] El tema de los bucles de flujo es complicado, pero no hay que dejarse llevar por los juegos de palabras. Los bucles en Flow Builder revisan una colección, como una lista de registros, y realizan acciones basadas en cada registro.

Los bucles de flujo son muy útiles, ya que le permiten crear, actualizar o eliminar cientos de registros en su base de datos de una sola vez. Aunque los bucles en el flujo pueden parecer complicados, la idea tiene más sentido cuando la aplicamos en la práctica.

Así que acompañemos a Oscar en su turno de limpiar la nevera al final de la semana. Oscar realizará todos los pasos de un bucle de flujo, solo que con restos en lugar de registros de Salesforce. A continuación, proporcionamos un desglose rápido de cómo se correlacionan los elementos de flujo, las acciones que puede realizar el flujo, con la limpieza de la nevera.

El primer elemento de flujo que necesitamos es Obtener registros. Utilizamos criterios para determinar qué registros queremos obtener. En este caso, Oscar se lleva todas las sobras no etiquetadas. A continuación, agregamos un elemento Bucle. El flujo evaluará cada registro a la vez mientras pasa por el bucle. En nuestro ejemplo, esto significa que Oscar examinará cada elemento por separado. Luego, agregamos un elemento Decisión. ¿Conservamos esta sobra o la tiramos? Los elementos Decisión no son necesarios en los bucles de flujo, pero tienen sentido en este caso. Para los registros que queremos actualizar, agregaremos un elemento Asignación para indicar los cambios que deseamos, como la actualización de un campo de fecha. En nuestro ejemplo, Oscar decide conservar este elemento y le agrega una etiqueta con la fecha de hoy. Agregamos un segundo elemento Asignación, que es como un contenedor. Colocamos el registro en el contenedor que usaremos para guardar temporalmente todos los registros que pensamos conservar. En esta situación, Oscar pone todas las sobras que conservará en una caja. Hemos llevado ese primer registro a través del bucle y volvemos a empezar con el siguiente registro.

Oscar examina el siguiente elemento. Después del elemento Decisión, tenemos que crear un camino alternativo para el flujo. ¿Qué hará Oscar con las sobras que no quiere conservar? Agreguemos otro elemento Asignación. Esta vez utilizaremos un contenedor para guardar todos los registros que queremos eliminar. El contenedor de Oscar para las sobras no deseadas es su contener de reciclaje interior. Entonces, el bucle vuelve a empezar con el siguiente elemento. Y así sucesivamente hasta que todos los registros hayan pasado por el bucle. Después del bucle, debemos realizar cambios en la base de datos. Nuestra caja y contenedor de reciclaje solo guardan nuestros elementos de manera temporal.

Agreguemos al flujo un elemento Actualizar registros para finalizar nuestros cambios en los registros que conservamos. Recuerde que hemos agregado un valor de fecha a los elementos que conservamos. Oscar vuelve a colocar su caja con los elementos que conserva en la nevera de su base de datos. Agreguemos un elemento Eliminar registros para deshacernos de los registros que no queremos. En el caso de Oscar, el contenedor de reciclaje exterior. ¿Ha notado que Oscar sacó todos los elementos al contenedor de reciclaje exterior juntos en lugar de llevarlos uno por uno? Eso habría sido una gran pérdida de tiempo. Lo mismo ocurre con los flujos. Usted siempre quiere mantener sus Elementos de datos, en este caso utilizamos los elementos Actualizar y Eliminar, fuera de su bucle. Cuando ingresa un registro en un elemento Asignación durante el bucle, solo indica que tiene la intención de actualizarlo después del bucle, como si lo apartara para abordarlo más tarde. Es mucho más eficiente hacer todos los cambios a la vez, como llevar todo el reciclaje al exterior en un solo contenedor.

Felicitaciones, no solo ha aprendido sobre los bucles de flujo, sino que también ha ayudado a Oscar a limpiar su nevera de manera eficaz. No se preocupe, Oscar lo mantendrá informado la próxima vez que necesite ayuda.


Depuración

Conozca una de las funciones más valiosas integradas en Flow Builder: la depuración. La depuración ayuda a identificar, aislar y corregir problemas en las automatizaciones. Incluso puede aprender a eliminar un castillo de arena simbólico en su organización de entorno sandbox.

Ver transcripción

[Narrador] Si tiene un problema en su automatización de Flow Builder y debe solucionarlo, hay una buena noticia: Flow Builder tiene una herramienta de depuración integrada. La depuración permite identificar el problema y aislar el origen para corregir el problema o determinar una solución alternativa. Si piensa que siempre configura sus automatizaciones a la perfección, estas nunca se rompen y no necesita una herramienta de depuración, se equivoca. Ni los expertos en Flow Builder pueden afirmar eso.

La herramienta de depuración de Flow Builder es indispensable para todos los que crean flujos. Cuando la herramienta de depuración de Flow Builder finaliza su tarea, se muestra un desglose de los resultados. ¿La automatización se realizó correctamente? ¿Se produjo un error? ¿Dónde se produjo el error? Los detalles de los resultados indican cómo se inició la entrevista, es decir, qué desencadenó el flujo, qué interacciones se produjeron entre registros y si esas acciones tuvieron éxito o no.

La herramienta de depuración de Flow Builder no solo es útil para la solución de problemas, sino también para las pruebas iniciales. Algunas funciones son: Probar la automatización antes de que pase a producción. Designar una variable de entrada específica durante la depuración. Depurar diferentes rutas de la automatización. Desencadenar un flujo como si se creara, actualizara o eliminara el registro. Ejecutar la automatización como otro usuario. Y mostrar detalles de la depuración y la ruta que esta tomó. Utilice la herramienta de depuración de Flow Builder al crear una nueva automatización o corregir una automatización existente con problemas.

Recuerde que la depuración de Flow Builder interactúa con los datos de la organización. Por eso, es vital siempre depurar un flujo en una organización de entorno sandbox. Una función sumamente útil al realizar pruebas en una organización de entorno sandbox es la opción de modo de reversión. Si se utiliza el modo de reversión al depurar un flujo, Flow Builder revertirá los cambios que la automatización realice en la organización después de que se complete la automatización.

En resumen, es necesario probar con la depuración todas las automatizaciones nuevas o actualizadas de Flow Builder. La depuración ofrece numerosas funciones, como designar variables de entrada, revelar los resultados de un elemento de flujo y ejecutar automatizaciones como otro usuario. La práctica recomendada es depurar en una organización de entorno sandbox y usar el modo de reversión.


Poner a prueba lo que aprendió

Ahora que ya miró los videos, compruebe lo que aprendió sobre Flow Builder. Para ello, realice la prueba y obtenga la insignia.

Recursos

¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales