No hay duda de que ha oído hablar de Salesforce Flows: pronto serán la ventanilla única en lo que respecta a la automatización declarativa (usando clics, no código) en la plataforma de Salesforce. Salesforce Flows puede ser una herramienta poderosa para cualquier organización de Salesforce. Le permiten automatizar procesos comerciales fácilmente sin tener que escribir código.
En este artículo, hablaremos sobre una serie de prácticas recomendadas que debe conocer mientras trabaja con Salesforce Flows. También aprenderá sobre los diferentes tipos de flujos que puede crear (activados por registro, flujos de pantalla, etc.), cómo depurar flujos y, finalmente, algunos escenarios en los que no debería usar Salesforce Flows.
¿Qué es un flujo de Salesforce?
Tabla de contenido
Si bien Salesforce Flow ha existido durante varios años, ahora se eleva dentro de las filas de las herramientas de automatización de Salesforce como la única herramienta de automatización declarativa que deben usar los administradores y desarrolladores de Salesforce. Durante un tiempo, ha existido junto con otras dos herramientas: Reglas de flujo de trabajo y Generador de procesos. Salesforce ha comenzado la migración de estas dos herramientas a Salesforce Flow, principalmente para evitar confusiones sobre qué herramienta usar y reducir la complejidad al ejecutar todas las automatizaciones a través de una sola herramienta.
Salesforce Flow admite conceptos de procesamiento complejos como colecciones, bucles a través de colecciones y admite la capacidad de ejecutar flujos específicos antes o después de una transacción (y admite la capacidad de ejecutar flujos asíncronos). Salesforce Flow también es compatible con la capacidad de crear pantallas orientadas al usuario y permite que los componentes Lightning se utilicen para mejorar estas interfaces.
Tipos de flujos de Salesforce
Hay cinco tipos diferentes de Flujos que puede crear, cada uno con su propio propósito y funcionalidad especial.
Flujos de pantalla
Estos flujos requieren la entrada del usuario. Puede crear elementos de pantalla y configurar interfaces para sus usuarios.
Flujos activados por programación
Estos flujos de Salesforce se ejecutan en un horario específico y realizan acciones automatizadas en segundo plano.
Flujos activados por registro
Estos flujos se comportan de forma similar a los activadores de Apex en el sentido de que se activan cuando se crea, edita o elimina un registro. También realizan acciones automatizadas entre bastidores.
Flujos activados por eventos de plataforma
Estos flujos se activan cuando se recibe un mensaje de evento de la plataforma y realizan acciones automatizadas entre bastidores.
Flujos iniciados automáticamente
Estos flujos de Salesforce realizan acciones entre bastidores cuando Apex, la API REST, otro flujo y más los llaman. No tienen un gatillo incorporado.
10 mejores prácticas para usar flujos de Salesforce
1. Usar flujos de Salesforce antes de Apex (clics, no código)
Los flujos de Salesforce son muy intuitivos y pueden ser muy útiles para hacer las cosas de forma rápida y sencilla. Además, son menos costosos de mantener que el código Apex, por lo que pueden ser una opción más rentable para muchas organizaciones.
Salesforce recomienda un enfoque de desarrollo de "clics, no código" para reducir la deuda técnica en su organización de Salesforce. La deuda técnica es el término utilizado para describir la acumulación de código y otra tecnología que es difícil o costosa de mantener y dificulta que las empresas escalen su solución a un negocio en rápida evolución. Cuando una empresa adopta un enfoque de "clics, no código", significa que está diseñando la automatización de su negocio de una manera que reducirá la cantidad de código que se requiere.
Salesforce Flows es una buena idea para las empresas que desean preparar su organización de Salesforce para el futuro. Al usar Salesforce Flows en lugar del código Apex u otras herramientas de personalización programática, las empresas pueden reducir la cantidad de deuda técnica que acumulan con el tiempo. Además, los flujos son fáciles de aprender y no requieren que se escriban clases de prueba para todos y cada uno de los elementos, ya que Apex requiere una clase de prueba para cubrir el 75 % del código.
2. Limite el uso de elementos rojos (crear, actualizar, eliminar y obtener)
Los desarrolladores deben tener cuidado al usar los elementos Crear, Actualizar, Eliminar y Obtener al diseñar y crear Flujos de Salesforce para evitar errores causados por alcanzar los límites del gobernador. Estos límites existen para evitar que las transacciones ralenticen el sistema (recuerde, Salesforce es un entorno multiusuario, lo que significa que varias organizaciones utilizan la misma infraestructura y recursos). Los desarrolladores deben tener especial cuidado al trabajar con colecciones y bucles, ya que usar un elemento rojo dentro de un bucle es un ENORME no-no y puede llevar fácilmente a exceder los límites del gobernador.
3. Primero, desarrolle sus flujos de Salesforce en un Sandbox
Cada vez que diseñe y cree un flujo de Salesforce, debe desarrollarlo en un Sandbox para que cualquier error o mal funcionamiento no afecte los datos de producción y pueda resolverse antes de la implementación. Probablemente hayas escuchado el dicho popular que hizo famoso el superhéroe lanzador de telarañas favorito de todos: "Un gran poder conlleva una gran responsabilidad". Como administrador o desarrollador responsable y exitoso de Salesforce, también debe tener esto en cuenta. Los flujos de Salesforce pueden ser extremadamente poderosos y, como resultado, requieren que se asuma una gran responsabilidad al crearlos.
Los flujos no solo crean registros, sino que también los editan y eliminan, la mayoría de las veces sin intervención del usuario. Imagine que este tipo de poder automatizado se construye incorrectamente y elimina información valiosa de su organización de Salesforce: ¡sus flujos harán más daño que bien! Por esta razón, siempre (¡repito, SIEMPRE!) cree y pruebe sus flujos de Salesforce en un entorno Sandbox y asegúrese de que estén haciendo exactamente lo que espera que hagan antes de enviarlos a su entorno de producción.
4. Cree documentación clara y concisa
Es importante recordar que no estará presente para siempre y que la lógica del negocio no puede existir únicamente en su cabeza. Es probable que tenga muchos trabajos diferentes en su carrera de Salesforce para muchas organizaciones diferentes, y debe asegurarse de haber informado adecuadamente a quienes lo sucedan.
Su documentación debe explicar claramente el propósito de su Flujo y cómo lo logra. Si alguna vez en el futuro sus Flujos se reconstruyen o combinan debido a la evolución de la herramienta en sí, o los requisitos comerciales cambian, su documentación debe proporcionar una guía para que el administrador o desarrollador actual haga lo que debe hacer. .
Su empresa debe tener un repositorio central para toda la documentación relacionada con Salesforce a la que los administradores, desarrolladores o consultores deben tener acceso. Esto facilitará que su organización se amplíe o reduzca a la vez que reduce los problemas, ya que todos los involucrados deberían poder encontrar rápidamente la documentación relevante.
Además de la documentación adecuada de sus flujos de Salesforce, también debe adquirir el hábito de completar los campos de descripción de cualquier elemento que cree dentro de Salesforce, incluidos los elementos de flujo. Esto le da al próximo administrador o desarrollador una buena idea de para qué se está utilizando ese elemento en particular si alguna vez necesita mejorar o actualizar el Flujo.
Esto es particularmente importante para los elementos de flujo que no usan terminología estándar o usan terminología que puede cambiar. Garantizar una descripción clara de lo que es ese elemento en particular hará que sea más fácil cuando usted (u otro administrador o desarrollador de Salesforce) regrese a Salesforce Flow en el futuro.
5. Cree flujos complejos y escalables de Salesforce mediante acciones y subflujos invocables
Si hay una gran cantidad de funciones que se encuentra reconstruyendo constantemente en los Flujos de Salesforce que crea, considere crear un Subflujo que pueda ser aprovechado por múltiples Flujos para ahorrar tiempo en la creación y el mantenimiento de sus Flujos.
Un subflujo es un flujo más pequeño que realiza una tarea común. La documentación de Salesforce brinda un ejemplo de un flujo que recopila información de tarjetas de crédito o realiza la autorización de una compra con tarjeta de crédito como ejemplo de un subflujo.
Otra forma en que puede mejorar sus flujos de Salesforce con componentes reutilizables es crear Apex invocable que se pueda llamar desde sus flujos y usarlos en varios lugares. Si recuerda que Salesforce prefiere un enfoque de desarrollo de "clics, no de código", solo debe considerar el uso de Apex invocable cuando la funcionalidad no se puede lograr mediante el uso de un subflujo.
6. Tenga cuidado con los valores nulos y las variables vacías
Si no verifica los valores nulos o vacíos en sus flujos de Salesforce, es posible que esté intentando usar algo que no está allí y provoque un error. Particularmente después de usar un elemento Obtener registros, es aconsejable crear una Decisión para asegurarse de que ha recopilado las variables que está anticipando para evitar errores. ¡Recuerde, planifique siempre para cada escenario cuando esté creando un Flujo de Salesforce!
7. Aprenda a usar diferentes tipos de flujos de Salesforce
Salesforce Flows tiene una curva de aprendizaje significativamente más pequeña que Apex, pero sigue siendo bastante extenso. Una vez que haya aprendido los conceptos básicos, le resultará muy valioso aprender a crear todos los demás tipos de flujos disponibles para usted.
Los cinco tipos de flujos se describen arriba y cada uno tiene su propia funcionalidad.
8. Evite codificar la lógica, los valores o los ID en los flujos de Salesforce
Evite codificar su lógica, valores o ID de uso frecuente dentro de sus Flujos de Salesforce para ayudar a reducir el mantenimiento de sus Flujos, Apex y otras automatizaciones dentro de su organización de Salesforce. El uso de funciones de Salesforce como los metadatos personalizados para los ID de referencia frecuente que pueden cambiar significa que, llegado el momento, solo hay un activo que debe actualizarse, en lugar de 10 flujos, 7 clases de Apex y 38 reglas de validación.
Permitir que la lógica se cree dinámicamente dentro de sus Flujos (y otras herramientas como Apex) significa que podrá escalar sus automatizaciones hacia arriba y hacia abajo según lo requiera el negocio. Por ejemplo, supongamos que tiene una notificación por correo electrónico que se envía al contacto principal de una cuenta cada 14 días si tiene un saldo pendiente. Unos años más tarde, su gerente de ventas le pide que cree otra automatización para las cuentas que deberían recibir una notificación cada 21 días. Pasa un poco más de tiempo y se requiere otra automatización para aquellos que necesitan ser notificados cada 7 días.
Si hubiera diseñado su lógica para enviar una notificación en X días (donde X es un valor que se completa a partir de un campo en la Cuenta), sería tan simple como agregar un nuevo valor a una lista de selección cada vez que cambien los requisitos, en lugar de creando un nuevo Flujo cada vez (o incluso actualizando el Flujo cada vez).
9. Asegúrese de que se manejen los errores
Asegúrese de que incluso si algo sale mal, sus usuarios no se queden con un mensaje de error feo. Si hay un punto de falla en su sistema (es decir, si una variable debe completarse antes de que sus usuarios continúen), asegúrese de que se muestre un mensaje de error amigable y que sus usuarios tengan la oportunidad de regresar y realizar las acciones requeridas.
Si sus errores no se verifican, sus usuarios se mostrarán con un mensaje hostil de "se ha producido un error no controlado", que nunca es una experiencia positiva.
Además, asegúrese de que sus usuarios estén capacitados sobre cómo usar correctamente los flujos que ha creado para ellos. Y si reciben un mensaje de error no manejado, asegúrese de que sepan cómo informarlo correctamente (entrénelos para que vuelvan sobre sus pasos y proporcionen información contextual sobre cómo activaron el Flujo, desde dónde lo activaron, etc.).
10. ¡Conéctese con Salesforce Ohana!
Finalmente, recuerda que no eres la única persona en el mundo que configura Salesforce Flows. Existe una comunidad amigable para ayudarlo a medida que aprende las nuevas herramientas, lo ayuda a aprender mejores formas de aprovechar las nuevas funciones a medida que aparecen y puede compartir sus soluciones con usted.
Puede mejorar sus Flujos de Salesforce con componentes de AppExchange o de fuentes de código abierto como UnofficialSF. Hay recursos de capacitación de Salesforce como AutomationChampion que están ahí para ayudarlo a hacer su viaje más fácil, y siempre puede aprovechar Trailblazer Community cuando se encuentra con un problema.
Probar sus flujos de Salesforce mediante la depuración
A diferencia de Apex, los flujos de Salesforce no requieren una clase de prueba o un porcentaje específico de cobertura de código para pasar antes de que puedan implementarse en un entorno de producción. Dicho esto, sigue siendo absolutamente imperativo que pruebe sus Flujos de Salesforce a fondo antes de implementarlos en Producción.
Salesforce ha observado el requisito de probar exhaustivamente un Flujo antes de la implementación y ha creado la herramienta Depurar. Con la herramienta Depurar, puede asegurarse de que su flujo de Salesforce funcione y no afecte negativamente a ninguna otra funcionalidad dentro de su organización antes de permitir que manipule datos comerciales reales.
Uso de Salesforce Flow con Inspire Planner
También puede utilizar herramientas de gestión de proyectos de Salesforce como Inspire Planner para mejorar su experiencia de Salesforce Flow. Por ejemplo, supongamos que su empresa desea una manera fácil de crear una plantilla de proyecto estandarizada dentro de Inspire Planner para guiar a sus administradores, desarrolladores y otros profesionales de Salesforce en la forma estandarizada de su empresa para crear, probar y documentar flujos de Salesforce.
Puede crear etapas para cada uno de sus pasos principales, como Investigar la necesidad empresarial, Desarrollar el flujo (y las mejores prácticas sobre cómo hacerlo, ¡que puede extraer directamente de este artículo!), Documentar el flujo, Probar el flujo, y finalmente Desplegando el Flujo.
Otro escenario común es crear un Flujo de Salesforce para crear automáticamente Proyectos en Inspire Planner a partir de una plantilla cuando las Oportunidades pasan a la etapa Cerrado/Ganado (por ejemplo, incorporación de clientes o implementación de software). Este nuevo proyecto tendrá toda la información requerida previamente completada a partir de la plantilla, como todas las tareas, predecesores, archivos, roles de recursos y más.
Cuándo debe evitar el uso de flujos de Salesforce
Salesforce siempre solicita a los administradores y desarrolladores que utilicen un enfoque de "clics, no código" para crear en la plataforma de Salesforce, entonces, ¿por qué estaríamos sugiriendo motivos para evitar activamente el uso de Salesforce Flow? La respuesta es bastante simple, en teoría: por increíble que sea Salesforce Flow, no es Apex ni un componente web Lightning.
Salesforce ha creado marcos completos y lenguajes de codificación para permitir que los desarrolladores amplíen la funcionalidad del sistema y, con el tiempo, también han creado herramientas declarativas con la intención de capacitar a quienes no tienen experiencia en TI para que hagan lo mismo.
Apex es un lenguaje de programación avanzado que admite tipos de colecciones más complejos (como Conjuntos y Mapas), así como soporte para procesamiento de datos más complejos. Si alguna vez necesita usar un Mapa para comparar un conjunto de datos usando una clave, aquí es donde deberá alejarse de Flow y usar Apex en su lugar (incluso si crea una acción de Apex invocable y transfiere esa sección particular de su Salesforce Flujo para hacer el procesamiento más complejo).
Aura Components y Lightning Web Components son dos marcos que Salesforce ha creado para permitir a los desarrolladores programáticos crear componentes de interfaz de usuario reutilizables para usar en la plataforma de Salesforce. Los flujos de pantalla le permiten crear pantallas utilizando una serie de componentes estándar (campos de entrada, mostrar texto, etc.), pero estas interfaces siguen siendo bastante básicas sin que se agregue un componente personalizado en la parte superior (por ejemplo, el componente de pantalla de tabla de datos de UnofficialSF).
Resumen
Ahí lo tiene: su ventanilla única para todo lo relacionado con Salesforce Flow. Esperamos que haya aprendido algunos consejos y trucos nuevos para brindar el máximo valor a su negocio, usuarios y, en última instancia, a sus clientes siguiendo algunas de las mejores prácticas mientras trabaja con Salesforce Flows.
Y si está buscando inspiración para usar Flujos en su organización, puede comenzar con nuestras 5 ideas simples de flujo de Salesforce con gran impacto.
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://inspireplanner.com/blog/salesforce-flows-your-ultimate-guide/