Solucionar problemas causados por un valor nulo en un flujo
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Enumerar los recursos para buscar soluciones.
- Utilizar recursos fuera de la organización para solucionar el flujo que no funciona.
- Explicar la importancia de abarcar los valores nulos.
Aquí fluimos otra vez
A veces, el problema no es tan aparente como un error de permiso del usuario. El problema puede ser desde una falla de lógica, un ingreso inadecuado de datos, hasta no tener en cuenta un valor que quedó en blanco. Como se mencionó, hasta el más mínimo problema puede “romper” el flujo. Todos los componentes, grandes y pequeños, tienen que cumplir con su trabajo para que el flujo funcione correctamente.
El problema
Como administrador, configuró un flujo para enviar emails al propietario de cuenta siempre que se agregue un contacto nuevo a una cuenta suya. Sin embargo, ahora los usuarios deben ingresar contactos que no están asociados con una cuenta. Parece que el flujo se configuró correctamente, pero los usuarios siguen recibiendo un error cuando agregan un contacto sin una cuenta asociada. Como hizo la vez anterior, revise el flujo y ejecute la función de depuración para ver lo que ocurre.
Investigar el flujo roto
Siga estos pasos para conocer el flujo que está roto.
- Según su navegador, cierre la ventana o ficha 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 (Alertar al propietario de cuenta cuando se agrega un contacto nuevo).
- Revise lo que este flujo está intentando cumplir.
Profundicemos un poco más en las acciones de este flujo.
- Haga clic en la ficha Manager (Gestor) en la sección Toolbox (Caja de herramientas).
- Haga clic en la acción Email_Acct_Owner.
- Revise lo que esta acción está intentando hacer. Enviará un email con un cuerpo y asunto completados previamente. Sin embargo, queremos que el email se envíe al propietario de la cuenta asociada.
- Elimine el contenido del cuadro de texto Recipient Address List (Lista de direcciones de destinatarios).
- Ingrese
record
(registro) en el cuadro de texto Email Addresses (Direcciones de email), separadas por comas, y seleccione Triggering Contact (Contacto desencadenante). Luego, seleccione Account ID (Id. de cuenta), Owner ID (Id. de propietario) y, por último, Email.
- Haga clic en Save As (Guardar como) New Version (Nueva versión) y, luego, Save (Guardar).
- Haga clic en Debug (Depurar).
- Haga clic en Run (Ejecutar).
- Haga clic en Expand All (Ampliar todo) en Debug Details (Detalles de depuración).
Y... ¿nada? ¿Qué quiere decir: “No se especificó un registro desencadenante, por lo que el flujo no se ejecutó”? Este flujo no se puede desencadenar en la depuración, porque la depuración no puede crear un contacto nuevo. Sin un contacto nuevo, el flujo no puede desencadenar una acción. ¿Qué puede hacer? Es hora de solucionar problemas de forma tradicional. El primer paso es volver a crear el problema que están experimentando los usuarios.
Active el flujo, agregue un contacto sin una cuenta asociada y vea lo que sucede.
- Según su navegador, cierre la ventana o ficha de depuración y vuelva a la pantalla de Flow Builder.
- Haga clic en Activate (Activar).
- En Setup (Configuración), haga clic App Launcher (Iniciador de aplicación)..
- Seleccione Sales (Ventas) y haga clic en la ficha Contacts (Contactos).
- Haga clic en New (Nuevo).
- Ingrese la siguiente información:
- First Name (Nombre):
Steve
- Last Name (Apellido):
Rogers
- Account (Cuenta): [dejar en blanco]
- Haga clic en Save (Guardar).
- Revise el mensaje de error.
- Copie la parte del mensaje de error que dice “0 recipients (0 destinatarios)” (va a necesitar esto más tarde). Deje la ventana New Contact (Nuevo contacto) abierta.
Ahora que revisó el mensaje de error, agregue una cuenta a este contacto nuevo para ver cómo funciona el flujo en condiciones más favorables.
- En Account Name (Nombre de cuenta), ingrese
GenePoint
.
- Seleccione GenePoint en la lista de selección.
- Haga clic en Save (Guardar).
Ya debería tener dos emails nuevos en su inbox. El primero es un email de error de cuando intentó guardar el contacto sin una cuenta asociada. Cuando un flujo falla, Salesforce envía un email al administrador (a menos que se designe otra opción) que incluye el mensaje de error de la falla y los detalles sobre cada elemento de flujo que ejecutó la entrevista de flujo.
Como puede ver en el email de error de flujo, hay un problema cuando el flujo busca el email del propietario de cuenta. Esto tiene sentido. El flujo no puede encontrar el email del propietario de cuenta porque una cuenta no se asoció con el contacto nuevo. Si no hay cuenta, no hay email de propietario de cuenta. También tenga presente el error de flujo: haga clic ahí para depurar el vínculo de Flow Builder y consultar la visualización de la ruta que siguió el flujo. Esto es bastante útil cuando tiene un flujo con muchas ramas.
El segundo email es el resultado del flujo desencadenado correctamente. Agregó el contacto nuevo con una cuenta asociada. También es el propietario de cuenta de GenePoint, así que recibirá la alerta de email. Nota: Esta organización se adaptó para garantizar que se envíe el email de propietario de cuenta correctamente. Si implementa esta idea en una organización de producción (primero pruébela en una organización de entorno sandbox), para garantizar la entrega del email tal vez deba anular la selección de “Activate bounce management” [Setup (Configuración) > Email > Deliverability (Capacidad de entrega) > anule la selección de Activate bounce management (Activar gestión de reenvíos)] y que también deba anular la selección de “Enable compliance with standard email security mechanisms” [Setup (Configuración) > Email > Deliverability (Capacidad de entrega) > anule la selección de Enable compliance with standard email security mechanisms (Habilitar el cumplimiento con los mecanismos de seguridad de email estándar)].
El flujo se desempeñó según lo previsto y notificó al propietario de la cuenta (usted) que un contacto nuevo se asoció a una cuenta suya. Como administrador, no solo podría ser el propietario de cuenta, sino que, con este ejemplo, puede ver el flujo desde todas las perspectivas para fines de capacitación.
La ayuda ya está aquí
Si bien algunas situaciones pueden parecer poco prometedoras, no está todo perdido. La ayuda ya está aquí. Hay muchos recursos, más allá de la función de depuración, para solucionar un flujo roto. Ahora es momento de ponerse manos a la obra y profundizar en algunos de ellos.
-
Email de error de flujo: este importante recurso ofrece detalles específicos relacionados con su problema de flujo y es sumamente útil para solucionarlo. El email incluye el mensaje de error de la falla, los detalles de cada elemento de flujo que ejecutó la entrevista de flujo y un vínculo a la visualización del flujo con presentó el error.
-
Ayuda de Salesforce: permite buscar artículos de Knowledge, mejores prácticas, problemas conocidos y mucho más. Con este recurso, puede buscar artículos y publicaciones de la comunidad. Después de revisar el email de error de flujo, este debería ser su próximo paso para solucionar un flujo roto.
-
Grupos de Trailblazer Community: si bien no son un recurso que soluciona sus problemas de inmediato, estos grupos de usuarios son una fuente de información y conocimiento. Los miembros de estos grupos establecen contactos, aprenden en conjunto, intercambian ideas y solucionan problemas.
-
Documentación para desarrolladores de Salesforce: la fuente de confianza para los desarrolladores de Salesforce. La consulta de documentación para desarrolladores sigue siendo útil, ya que brinda recursos de conocimiento que un administrador, como usted, puede usar.
Como ya revisó el email de error de flujo, su próximo paso es la Ayuda de Salesforce. Utilice la función de búsqueda para encontrar artículos de ayuda, publicaciones relevantes o temas de Trailhead.
- Diríjase a help.salesforce.com.
- Ingrese el mensaje de error que copió previamente a la barra de búsqueda:
0 recipients
(0 destinatarios).
- Pulse Entrar.
- Seleccione la casilla de verificación Knowledge Articles (Artículos de Knowledge) para filtrar solo los resultados de los artículos de Knowledge.
- Haga clic en el artículo de Knowledge titulado: Error “Probablemente se excedió el límite o hay 0 destinatarios” en un flujo con una acción de envío o alerta de email.
- Vuelva a leer el artículo de Knowledge.
Valor nulo, no hay problema
El artículo enumera tres formas de hacer que su automatización funcione cuando recibe este error.
- Crear una regla de validación para solicitar que el campo tenga un valor.
- Convertir el campo en obligatorio.
- Actualizar el flujo para que la alerta de email solo se active cuando el campo de email tenga un valor.
Las primeras dos opciones no son soluciones viables para su situación ya que no permiten que los usuarios ingresen un contacto nuevo que no tiene una cuenta asociada de forma legítima. La tercera opción es la mejor: solo enviar una alerta de email cuando el campo de email tenga un valor. Esto significa que su flujo debe intentar enviar un email al propietario de cuenta solo cuando se encuentre la cuenta.
- En su organización, haga clic en el engranaje de configuración
y seleccione Setup (Configuración).
- Ingrese
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 (Alertar al propietario de cuenta cuando se agrega un contacto nuevo).
- 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 cumplieron todas las condiciones [AND]).
- Haga clic en el cuadro de texto Field (Campo) y seleccione AccountId.
- Cambie el operador a Is Null (Es nulo).
- Haga clic en el cuadro de texto Value (Valor) y seleccione $GlobalConstant.False.
- Haga clic en Save As New Version (Guardar como nueva versión).
- Asegúrese de que esté seleccionada la opción A New Version (Una nueva versión).
- Deje las otras opciones como están.
- Haga clic en Save (Guardar).
- Haga clic en Activate (Activar).
De esa manera, se agregó una condición al objeto de contacto para que el flujo no avance al próximo paso si AccountID es nulo (en blanco) y para que no intente enviar un email al propietario de cuenta. A continuación, vea si su solución funciona al ingresar un contacto sin una cuenta asociada.
- Cierre la ventana o ficha Flow Builder.
- En Setup (Configuración), haga clic en App Launcher (Iniciador de aplicación).
- Seleccione Sales (Ventas) y haga clic en la ficha Contacts (Contactos).
- Haga clic en New (Nuevo).
- Ingrese la siguiente información:
- First Name (Nombre):
Lily
- Last Name (Apellido):
Mason
- Account (Cuenta): [dejar en blanco]
- Haga clic en Save (Guardar).
No hay mensaje de error. Más confeti. Solucionó el flujo dañado. El flujo no genera un error si el campo de cuenta en un contacto nuevo está en blanco. Sin embargo, si un usuario agrega un contacto nuevo con una cuenta asociada, el propietario de cuenta recibe una notificación por email como se planificó. Nota: Si quiere asegurarse de que el flujo solo envía un email a los propietarios de cuenta que son usuarios activos, agregue un elemento de decisión (activo frente a inactivo) antes del elemento de email. Para obtener más información sobre el Elemento de flujo: Decisión, visite la Ayuda de Salesforce.
Solucionó todos los flujos dañados a propósito: realizó la depuración como un usuario diferente, usó la Ayuda de Salesforce para buscar una respuesta y agregó un filtro a un objeto dentro de un flujo para solucionar este valor nulo. Si tan solo armar muebles fuera así de sencillo.
Recursos
- Sitio web: Ayuda de Salesforce
- Sitio web: Grupos de Trailblazer Community
- Sitio web: Documentación para desarrolladores de Salesforce
- Trailhead: Crear flujos con Flow Builder
- Ayuda de Salesforce: Elemento de flujo: decisión