Solucionar problemas de acceso en un flujo
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Analizar cómo es la función de depuración.
- Utilizar la función de depuración para solucionar un flujo roto.
- Depurar como un usuario en ejecución.
El porqué
Los flujos implican mover muchas piezas. Todas tienen que funcionar correctamente para que el flujo sea exitoso. Si una no funciona, entonces todo el flujo deja de trabajar. Si bien hay muchos motivos por los que se podría romper un flujo, algunos son más comunes.
- Utilizar el campo equivocado
- Utilizar la variable equivocada
- Seguridad a nivel de campo y objeto para el usuario en ejecución
- Demasiadas consultas SOQL
- Valores nulos
No se preocupe. Estos problemas se pueden identificar y, por ende, se pueden solucionar. De hecho, Salesforce envía un email de error en el idioma predeterminado del usuario que ejecutó el flujo. El email se envía al administrador que modificó el flujo asociado por última vez o a los destinatarios de email que son la excepción de Apex. El email incluye el mensaje de error de la falla y los detalles de cada elemento de flujo que ejecutó la entrevista de flujo. Con eso en mente, es hora de remangarse y solucionar el flujo roto.
El problema
Uno de sus usuarios, Mario Cruz, obtuvo un ascenso a un puesto nuevo, asistente de ventas sénior. Como administrador, recibió una queja de Mario. No puede completar el flujo de pantalla de información de un cliente nuevo. Es hora de investigar. Su primer paso cuando soluciona un flujo es la función de depuración integrada en Flow Builder.
- Haga clic en el ícono de engranaje
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 Create New Customer (Crear nuevo cliente).
- Revise lo que el flujo está intentando hacer. Un usuario ingresa datos en una pantalla para crear una nueva cuenta, un nuevo contacto y una nueva oportunidad.
- Haga clic en Debug (Depurar).
Nota: La depuración interactúa con los datos de su organización. En este caso, si la entrevista de flujo es un éxito, crea una cuenta, un contacto y una oportunidad nuevos en su organización de Trailhead Playground. Una mejor práctica es depurar un flujo en un entorno sandbox.
- Deje todas las opciones tal como están y haga clic Run (Ejecutar).
La pantalla de depuración muestra exactamente lo que vería el usuario final, pero con los detalles de depuración a la derecha.
- Ingrese los siguientes datos:
- Company Name (Nombre de la compañía):
Cloud Kicks Inc.
- Contact First Name (Nombre del contacto):
Chris
- Contact Last Name (Apellido del contacto):
Johnnsel
- Phone Number (Número de teléfono):
770-867-5309
- Opportunity Stage (Etapa de la oportunidad): Cualificación
- Close Date (Fecha de cierre): [dejar como está]
- Company Name (Nombre de la compañía):
- Haga clic en Next (Siguiente).
- Revise los detalles de depuración para ver los resultados.
¿Y bien? ¿Funcionó? Algo inesperado: el flujo funciona bien... para usted. La parte más importante de la oración anterior es para usted. Hay una ventaja y un inconveniente. La ventaja es que el flujo funciona, pero el inconveniente es que no funciona para su usuario. Su próximo paso es ver el problema desde el punto de vista de Mario (el usuario).
Un punto de vista distinto
Puede que esté pensando: “Inicio sesión como Mario y veo qué sucede”. No es mala idea, pero necesita más información. Debe usar esa elaborada función de depuración, pero como Mario. Si tan solo pudiera hacer algo así... Espere un segundo, sí puede. El primer paso es permitir que el administrador depure flujos como otro usuario.
- Según el navegador que use, regrese a la ficha Setup (Configuración) o haga clic en Back (Atrás)
en Flow Builder.
- Haga clic en el ícono de engranaje
y seleccione Setup (Configuración).
- Ingrese
Process Automation Settings
(Configuración de automatización de procesos) en el cuadro Quick Find (Búsqueda rápida) y, a continuación, seleccione Process Automation Settings (Configuración de automatización de procesos).
- Haga clic en el ícono de lupa junto al cuadro de texto Default Workflow User (Usuario de flujo de trabajo predeterminado).
- Busque y seleccione su nombre.
- Seleccione la casilla de verificación Let admins debug flows as other users (Permitir que los administradores depuren flujos como otros usuarios).
- Haga clic en Save (Guardar).
- Ingrese
flows
(flujos) en el cuadro Quick Find (Búsqueda rápida) y, a continuación, seleccione Flows (Flujos).
- Haga clic en Create New Customer (Crear nuevo cliente).
- Haga clic en Debug (Depurar).
- Seleccione Run flow as another user (Ejecutar flujo como otro usuario).
- Haga clic en la casilla User (Usuario) e ingrese
Mario
.
- Seleccione Mario Cruz.
- Haga clic en Run (Ejecutar).
Observe que en los detalles de depuración Mario Cruz aparece como usuario en ejecución.
- Ingrese los siguientes datos:
- Company Name (Nombre de la compañía):
Ursa Major Solar
- Contact First Name (Nombre del contacto):
Grace
- Contact Last Name (Apellido del contacto):
Yiena
- Phone Number (Número de teléfono):
941-555-0103
- Opportunity Stage (Etapa de la oportunidad): [dejar como está]
- Close Date (Fecha de cierre): [dejar como está]
- Company Name (Nombre de la compañía):
- Haga clic en Next (Siguiente).
- Revise los resultados.
Como puede ver, “Something went wrong” (Algo salió mal). Desplácese a la parte superior de los detalles de depuración y lea los resultados de la entrevista de flujo. Como administrador, también recibe esta información por email.
Desglose de resultados
-
SCREEN (PANTALLA): Enter_Customer_Information: los datos se ingresaron correctamente.
-
CREATE RECORDS (CREAR REGISTROS): Create_Account: puede ver lo siguiente “A record is ready to be created when the next screen, pause, or local action is executed or when the interview finishes” (Un registro está listo para su creación cuando se ejecuta la siguiente pantalla, pausa o acción local, o bien cuando finaliza la entrevista); esto significa que el registro de cuenta se creará correctamente.
-
CREATE RECORDS (CREAR REGISTROS): Create_Contact: el registro de contacto se creará correctamente (después de completar el flujo).
-
CREATE RECORDS (CREAR REGISTROS): Create_Opportunity: “Failed to create record” (No se pudo crear el registro). El registro de oportunidad falló.
El registro de oportunidad falló. ¿A qué podría deberse esto? Vuelva a pensar en los motivos más comunes. Si pensó en la seguridad a nivel de campo y objeto para el usuario en ejecución, está en lo correcto. Si a un usuario se le niega el acceso a un campo u objeto de la organización, también ocurre lo mismo en un flujo.
La nueva función de Mario requiere acceso adicional en la organización de Salesforce. El próximo paso más lógico es solucionar el acceso para que pueda completar el flujo de pantalla como corresponde. Empiece por el problema más probable, el perfil de usuario.
Acceso otorgado
Como primer paso compruebe que Mario tenga el perfil de usuario adecuado para sus responsabilidades laborales.
- Según el navegador que use, regrese a la ficha Setup (Configuración) o haga clic en Back (Atrás)
en Flow Builder.
- Ingrese
users
(usuarios) en el cuadro Quick Find (Búsqueda rápida), luego seleccione Users (Usuarios).
- Haga clic en Cruz, Mario e identifique el perfil asignado a este usuario.
¿Dice lo siguiente: Sales Associate Profile (Perfil de socio de ventas personalizado)? Oh, vaya. Parece que encontró el problema. Este perfil tiene algunas restricciones, como el no poder crear una oportunidad nueva. Todo lo que contiene este perfil aún se aplica a Mario, simplemente necesita acceso para crear una oportunidad.
Los conjuntos de permiso vienen al rescate. Aplique el conjunto de permisos Create Opportunity (Crear oportunidad) al usuario de Mario para cumplir con esta necesidad.
- Ingrese
permission sets
(conjuntos de permisos) en el cuadro Quick Find (Búsqueda rápida) y seleccione Permission Sets (Conjuntos de permisos).
- Haga clic en el conjunto de permisos Create Opportunity (Crear oportunidad).
- Haga clic en Manage Assignments (Gestionar asignaciones).
- Haga clic en Add Assignments (Agregar asignaciones).
- Marque la opción junto a Cruz, Mario.
- Haga clic en Assign (Asignar).
- Haga clic en Done (Listo).
Vuelva al flujo y ejecute la depuración como usuario para asegurarse de que todo está funcionando adecuadamente.
- En Setup (Configuración), ingrese
flows
(flujos) en el cuadro Quick Find (Búsqueda rápida) y seleccione Flows (Flujos).
- Haga clic en Create New Customer (Crear nuevo cliente).
- Haga clic en Debug (Depurar).
- Seleccione (marque la opción) Run flow as another user (Ejecutar flujo como otro usuario).
- Haga clic en la casilla User (Usuario) e ingrese
Mario
.
- Seleccione Mario Cruz.
- Haga clic en Run (Ejecutar).
- Ingrese los datos necesarios para completar la depuración.
- Revise los detalles de depuración. Ahora debería poder ver una pantalla de felicitaciones.
¡Lluvia de confeti! Ahora el flujo funciona para Mario Cruz también. No solo depuró un flujo como un usuario diferente, sino que solucionó el problema de acceso de Mario para que el flujo no le aparezca como “roto”. En la próxima unidad, aprenderá sobre más recursos que lo ayudan a solucionar otro flujo. Así que siga el flujo (acostúmbrese a nuestros juegos de palabras) hasta la próxima unidad.