Solucionar problemas provocados por un valor nulo en un flujo
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Enumerar recursos para buscar soluciones.
- Utilizar recursos externos a la organización para solucionar un flujo interrumpido.
- Describir la importancia de tener en cuenta un valor nulo.
Volvemos a fluir
A veces, el problema no se ve tan claramente como un error de permisos del usuario. El problema podrÃa deberse a cualquier motivo, desde un error de lógica hasta un error de introducción de datos, pasando por dejar un valor vacÃo sin darse cuenta. Como hemos dicho antes, hasta el más mÃnimo de los problemas puede "interrumpir" el flujo. Todas las partes, tanto grandes como pequeñas, necesitan funcionar según lo previsto. De lo contrario, el flujo fallará.
El problema
Como administrador, ha configurado un flujo para enviar un correo electrónico al propietario de la cuenta cada vez que se agrega un contacto a una cuenta. Pero ahora los usuarios necesitan introducir contactos que no están asociados a ninguna cuenta. Parece que el flujo está bien configurado, pero los usuarios reciben un mensaje de error al agregar un contacto sin una cuenta asociada. Al igual que antes, debe mirar el flujo y ejecutar la función de depuración para ver cuál es el problema.
Investigar el flujo interrumpido
Siga estos pasos para analizar el flujo interrumpido.
- En función del navegador que use, cierre la ventana o pestaña de depuración y vuelva a la pantalla de Flow Builder.
- Haga clic en Back (Atrás)
en Flow Builder.
- Haga clic en el flujo Alert Acct Owner of New Contact Added (Avisar al propietario de la cuenta al agregar un contacto).
- Revise lo que el flujo está intentando hacer.
Vamos a ver más de cerca las acciones del flujo.
- Haga clic en la ficha Manager (Administrador) en la sección de la caja de herramientas.
- Haga clic en la acción Email_Acct_Owner.
- Revise lo que la acción está intentando hacer. Se enviará un correo electrónico con un cuerpo y un asunto autocompletados. Pero queremos que el correo se envÃa al propietario de la cuenta asociada.
- Elimine el contenido del cuadro de texto Recipient Address List (Lista de direcciones de destinatarios).
- Escriba
record
(registro) en el cuadro de texto Email Addresses (Direcciones de correo electrónico), que están separadas por comas, y seleccione Triggering Contact (Contacto desencadenante). Luego seleccione Account ID (Id. de cuenta) y Owner ID (Id. de propietario), y finalmente Email (Correo electrónico).
- Haga clic en Save As New Version (Guardar como versión nueva) y luego en Save (Guardar).
- Haga clic en Debug (Depurar).
- Haga clic en Run (Ejecutar).
- Haga clic en Expand All (Expandir todo) en Debug Details (Detalles de depuración).
¿Nada? ¿Qué significa que no se ha especificado ningún registro desencadenante y por eso no se ejecutó el flujo? Este flujo no se puede desencadenar porque la opción de depuración no puede crear un contacto nuevo. Sin un contacto nuevo, el flujo nunca se activa. ¿Qué puede hacer? Es hora de solucionar el problema a lo tradicional. El primer paso es reproducir el problema que experimentan los usuarios.
Active el flujo, agregue un contacto sin cuenta asociada y espere.
- En función del navegador que use, cierre la ventana o pestaña de depuración y vuelva a la pantalla de Flow Builder.
- Haga clic en Activate (Activar).
- Desde Setup (Configuración), haga clic en App Launcher.
- Seleccione Sales (Ventas) y haga clic en la ficha Contacts (Contactos).
- Haga clic en New (Nuevo).
- Introduzca lo siguiente:
- First Name (Nombre):
Steve
- Last Name (Apellidos):
Rogers
- Account (Cuenta): dejar en blanco
- Haga clic en Save (Guardar).
- Revise el mensaje de error.
- Copie la parte del mensaje de error donde dice "0 recipients (0 destinatarios)"; la necesitará más tarde. Deje la ventana para crear un contacto abierta.
Ahora que ya ha visto el mensaje de error, continúe y agregue una cuenta al contacto nuevo para ver cómo se comporta el flujo en estas circunstancias.
- Escriba
GenePoint
en Account Name (Nombre de la cuenta).
- Seleccione GenePoint en la lista de selección.
- Haga clic en Save (Guardar).
Ahora deberÃa tiene dos nuevos correos electrónicos en su bandeja de entrada. El primero es un correo de error al intentar guardar el contacto sin asociar ninguna cuenta. Cuando se produce un error en un flujo, Salesforce envÃa un correo al administrador (a menos que se haya indicado lo contrario) donde se incluye el mensaje de error del fallo y detalles de todos los elementos de flujo que se ejecutaron en la entrevista de flujo.
Como puede ver en el correo del error en el flujo, hay un problema cuando el flujo busca el correo electrónico del propietario de la cuenta. Esto tiene todo el sentido. El flujo no encuentra el correo electrónico del propietario de la cuenta porque no se ha asociado ninguna cuenta con el nuevo contacto. Si no hay cuenta, no hay correo electrónico de su propietario. Además, fÃjese en el error del flujo: haga clic aquà para ir a la sección de depuración en Flow Builder y ver la ruta que ha seguido el flujo. Esto es muy útil cuando tiene un flujo con muchas ramas.
El segundo correo es el que se envÃa cuando el flujo se activa correctamente. Ha agregado el contacto nuevo con una cuenta asociada. Además, usted es el propietario de la cuenta de GenePoint, asà que es quien recibe el aviso por correo electrónico. Nota: Esta organización se ha ajustado para garantizar la entrega del correo del propietario de la cuenta. Si va a implementar esta idea en una organización de producción (¡pruébela primero en un sandbox), es posible que tenga que anular la selección de "Activate bounce management" (Activar la gestión de reenvÃo) de Setup (Configuración) > Email (Correo electrónico) > Deliverability (Capacidad de entrega), asà como la selección de "Enable compliance with standard email security mechanisms" (Activar el cumplimiento de los mecanismos de seguridad estándar para el correo electrónico) en el mismo lugar para garantizar que se entreguen los correos.
El flujo se ha comportado según lo previsto y ha enviado un aviso al propietario de la cuenta (usted) para indicarle que se ha asociado un nuevo contacto a una cuenta suya. Como administrador, es probable que todavÃa no sea el propietario de la cuenta, pero este ejemplo le permite ver el flujo desde todas las perspectivas, aunque solo sea para aprender.
Llega la ayuda
Aunque la cosa está complicada, no está todo perdido. Ya llega la ayuda. Hay muchos recursos además de la función de depuración para solucionar problemas en un flujo. Prepárese, porque vamos a profundizar en algunos de estos recursos.
-
Correo electrónico de error en el flujo: este importante recurso incluye detalles relacionados con el problema del flujo y es muy útil como herramienta de solución de problemas. Este correo incluye el mensaje de error y detalles de cada elemento del flujo que ejecutó la entrevista de flujo, además de un vÃnculo a la visualización del flujo con errores.
-
Ayuda de Salesforce: puede buscar artÃculos de Knowledge, prácticas recomendadas, problemas conocidas y mucho más. Este recurso permite buscar artÃculos y publicaciones de la comunidad. Después de revisar el correo de error en el flujo, este deberÃa ser el siguiente paso durante la solución de un problema en un flujo.
-
Grupos de Trailblazer Community: aunque no tienen por qué ser un recurso al que acuda inmediatamente para solucionar problemas, estos grupos de usuarios son una fuente de información y conocimientos. Los miembros de estos grupos establecen relaciones, aprenden juntos, intercambian ideas y solucionan problemas.
-
Documentación de desarrolladores de Salesforce: la fuente de consulta principal para desarrolladores de Salesforce. Esta documentación merece la pena consultarla, porque conocimientos muy prácticos que puede usar un administrador como usted.
Puesto que ya ha consultado el correo de error en el flujo, la siguiente parada es la Ayuda de Salesforce. Utilice la función de búsqueda para encontrar artÃculos de ayuda, publicaciones relevantes y temas de Trailhead que puedan servirle.
- Vaya a help.salesforce.com.
- Introduzca el mensaje de error que ha copiado antes en la barra de búsqueda:
0 recipients
(0 destinatarios).
- Pulse Intro.
- Marque la casilla ArtÃculos de Knowledge para filtrar los resultados solo por artÃculos de Knowledge.
- Haga clic en el artÃculo de Knowledge con el nombre: Error 'Probably Limit Exceeded or 0 recipients' in a Flow with a Send Email or Email Alert Action (Error de lÃmite superado o 0 destinatarios en un flujo con una acción de enviar correo o enviar alerta)
- Lea el artÃculo de Knowledge.
No pasa nada, solo es un valor nulo
En el artÃculo se indican tres formas de hacer que la automatización funcione cuando se recibe este error.
- Crear una regla de validación para exigir que el campo contenga un valor.
- Hacer que el campo sea obligatorio.
- Actualizar el flujo para que el aviso por correo solo se envÃe cuando el campo de correo electrónico tenga un valor.
Las primeras dos opciones no son viables en este caso porque no se aplican a cuando los usuarios necesitan introducir un contacto nuevo que no tenga una cuenta asociada. La mejor opción es la tercera: enviar el aviso por correo solo cuando el campo de correo electrónico tenga un valor. Esto quiere decir que el flujo solo debe intentar enviar un correo al propietario de la cuenta cuando se encuentre la cuenta en cuestión.
- En su organización, haga clic en el icono de engranaje
y seleccione Setup (Configuración).
- Escriba
flows
(flujos) en el cuadro Quick Find (Búsqueda rápida) y, a continuación, seleccione Flows (Flujos).
- Haga clic en Alert Acct Owner of New Contact Added (Avisar al propietario de la cuenta al agregar un contacto).
- Haga clic en Edit (Modificar) junto a Object: Contact (Objeto: Contacto).
- En la lista de selección Condition Requirements (Requisitos de condición), seleccione All Conditions Are Met (AND) (Se cumplen todas las condiciones) (AND).
- Haga clic en el cuadro de texto Field (Campo) y seleccione AccountId.
- Cambie Operator (Operador) a Is Null (Nulo).
- Haga clic en el cuadro de texto Value (Valor) y seleccione $GlobalConstant.False.
- Haga clic en Save As New Version (Guardar como versión nueva).
- Asegúrese de que esté seleccionada la opción "A New Version" (Una versión nueva).
- Deje el resto de opciones como están.
- Haga clic en Save (Guardar).
- Haga clic en Activate (Activar).
Ha agregado una condición al objeto de contacto para indicar al flujo que continúe con el siguiente paso si AccoundID tiene un valor nulo (está vacÃo) para que no intente enviar un correo al propietario de la cuenta. A continuación, compruebe si el error se ha solucionado introduciendo un contacto sin ninguna cuenta asociada.
- Cierre la pestaña o ventana de Flow Builder.
- Desde Setup (Configuración), haga clic en App Launcher.
- Seleccione Sales (Ventas) y haga clic en la ficha Contacts (Contactos).
- Haga clic en Nuevo.
- Introduzca lo siguiente:
- First Name (Nombre):
Lily
- Last Name (Apellidos):
Mason
- Account (Cuenta): dejar en blanco
- Haga clic en Save (Guardar).
¡Ya no hay mensajes de error! ¡Celebremos! Ha solucionado el error en el flujo. El flujo no genera ningún error si el campo de cuenta de un contacto nuevo está vacÃo. Sin embargo, si un usuario agrega un contacto nuevo con una cuenta asociada, el propietario de la cuenta recibe una notificación por correo según lo previsto. Nota: Si quiere comprobar que el flujo solo envÃa correos a los propietarios de cuentas que son usuarios activos, agregue un elemento de decisión (activo frente a inactivo) antes del elemento de correo electrónico. Obtenga más información sobre el elemento de flujo de decisión en la Ayuda de Salesforce.
Ha arreglado todos los flujos que interrumpimos a propósito. Ha realizado la depuración como otro usuario, utilizado la Ayuda de Salesforce para buscar una respuesta y agregado un filtro a un objeto dentro de un flujo para tener en cuenta un valor nulo. Qué bonito serÃa si montar muebles fuera tan fácil.
Recursos
- Sitio web: Ayuda de Salesforce
- Sitio web: Grupos de Trailblazer Community
- Sitio web: Documentación de desarrolladores de Salesforce
- Trailhead: Crear flujos con Flow Builder
- Ayuda de Salesforce: Elemento de flujo: decisión