Última actualización el 3 de abril de 2022 por Rakesh Gupta
Gran idea o pregunta duradera:
- ¿Cómo puede usar Flow para asignar automáticamente el grupo de conjunto de permisos a nuevos usuarios?
¿Han pasado solo cinco años desde que escribí ' auto-asignar conjunto de permisos a nuevos usuarios'? . El artículo fue escrito usando Flow Trigger , ahora, una funcionalidad obsoleta. Puedes leerlo aquí . ¡Guau! ¡Cómo pasa el tiempo! De manera similar, hace solo dos años, escribí otro artículo que mostraba cómo se puede asignar un conjunto de permisos a nuevos usuarios que usan Process Builder y Flow.
Salesforce continúa transformándose a la velocidad del rayo; sí, es un eufemismo, ¡lo sé! ¡Tres lanzamientos al año me mantienen alerta! – ¡lo que hace que sea cada vez más difícil mantener mis blogs al tanto de las nuevas características y funcionalidades! ¡Uf! Recién salido del horno viene: ¡ Grupo de conjunto de permisos ! Ahora, esto es caliente, de hecho!
¡Vamos a saborearlo juntos!
¿Qué es un grupo de conjuntos de permisos?
Disfrutemos el momento y entendamos el Grupo de Conjunto de Permisos . Para el acceso/administración de usuarios, asignamos múltiples conjuntos de permisos a los usuarios, ya sea manualmente o mediante la automatización. ¡El inicio de 'Permission Set Group' muestra cuán lentos son estos dos métodos!
¿Qué sucede si agrupamos conjuntos de permisos, basados en (1) grupos de usuarios lógicos; o (2) en las tareas realizadas por los usuarios – en una sola entidad y luego, asignar la entidad a los usuarios? Bueno, ¡ahora podemos! Como se muestra en la siguiente imagen, el Grupo de conjunto de permisos hace precisamente eso. El grupo de conjuntos de permisos comprende varios conjuntos de permisos que necesita un usuario. ¡Espera, esto no es todo! ¡Se pueden agregar y eliminar permisos individuales de un grupo de conjuntos de permisos, utilizando la función de silenciamiento de permisos, para garantizar que los usuarios no obtengan permisos que no sean relevantes para sus funciones laborales!Por ejemplo, puede compilar tres conjuntos de permisos: usuario de CRM, usuario de la consola de Salesforce y conjunto de permisos personalizado Ver y editar Convertir clientes potenciales en un grupo; también conocido como el grupo de conjunto de permisos. Puede etiquetar el grupo como Grupo de conjunto de permisos 'Usuarios de gerente de ventas'; vea la imagen a continuación.
Luego, puede asignar el grupo de conjuntos de permisos 'Usuarios de gerentes de ventas', como una sola entidad , a sus usuarios en lugar de los tres conjuntos de permisos diferentes
Ahora suponga que asignó el grupo de conjuntos de permisos 'Usuarios de gerentes de ventas' al usuario A. Luego viene el usuario B. Además de todos los conjuntos de permisos contenidos en el grupo de conjuntos de permisos 'Usuarios de gerentes de ventas', el usuario B también necesita el permiso Administrar usuarios externos colocar.
¿Ahora que? ¡No hay problema! ¡Clone el grupo de conjunto de permisos 'Usuarios del administrador de ventas' y agréguele el conjunto de permisos 'Gestionar usuarios externos' y guárdelo como un nuevo grupo de conjunto de permisos! Podría decir, nombre el nuevo grupo de conjunto de permisos como 'Usuarios de administrador de ventas externo'. ¡Sencillo!
Explore este artículo para obtener más información sobre el grupo de conjuntos de permisos.
Martin Jones es administrador de sistemas en Gurukul on Cloud (GoC). Hoy estaba revisando las notas de la versión y descubrió que el Grupo de conjunto de permisos ahora está disponible de forma general (GA). Acaba de crear un grupo de conjunto de permisos llamado 'Usuarios del administrador de ventas'. Ahora, Martin tiene el requisito de asignar automáticamente el grupo de conjunto de permisos 'Usuarios de gerente de ventas' a todos los usuarios nuevos con la función de gerente de ventas.
Enfoque de Campeón de Automatización (I-do):
Para resolver este requisito, utilizaremos los Tipos de metadatos personalizados y el Flujo desencadenado por registro después de guardar . Consulte este artículo para comprender por qué estamos utilizando el flujo desencadenado por registro posterior al guardado para este escenario.
Antes de continuar, adelante, el objeto PermissionSetAssignment (Representa una asociación entre un Usuario y un PermissionSet) en Salesforce.
Nombre del campo | Detalles |
ID del cesionario | El ID del usuario para asignar el conjunto de permisos. |
PermissionSetGroupIdPermissionSetGroupId | Si está asociado con un grupo de conjunto de permisos, este es el ID de ese grupo. |
Antes de discutir la solución, permítame mostrarle un diagrama de un flujo de proceso de alto nivel. Dedique unos minutos a repasar el siguiente diagrama de flujo y compréndalo.
Crearemos una automatización que no solo funcionará para el escenario actual, sino que también funcionará para otros roles. Esto significa que, si Martin quiere automatizar la asignación del grupo de conjuntos de permisos para otras funciones (representante de ventas, director de ventas, vicepresidente de ventas), debería funcionar sin que él tenga que modificar la automatización .
Práctica guiada (nosotros hacemos):
Hay 2 pasos para resolver el requisito empresarial de Martin mediante Record-Triggered Flow . Debemos:
- Cree tipos de metadatos personalizados para almacenar la función de usuario y la asignación de grupos de permisos
- Flujo de fuerza de ventas
- Definir propiedades de flujo para el flujo desencadenado por registro
- Fórmula para determinar si el usuario es creado o actualizado
- Agregue un elemento de decisión para verificar si el usuario se creó y tiene una función de usuario poblada
- Agregue un elemento de obtención de registros para encontrar el Id. del conjunto de permisos para un rol determinado
- Agregue un elemento de decisión para verificar la variable de registro (del paso 2.3)
- Agregue un elemento Crear registros para asignar un grupo de conjunto de permisos a un usuario
Paso 1: Cree tipos de metadatos personalizados para almacenar la asignación de grupos de conjuntos de permisos y funciones de usuario
- Primero, crearemos un tipo de metadatos personalizados para almacenar el nombre de rol y la asignación de ID de grupo de conjunto de permisos .
- Para crear un nuevo tipo de metadatos personalizados, vaya a Configuración | Código personalizado | Tipos de metadatos personalizados y haga clic en el botón Nuevo tipo de metadatos personalizados . Ahora complete el formulario como se muestra en la siguiente captura de pantalla:
- Una vez que haya terminado, haga clic en el botón Guardar .
- Cree un Id. de grupo de PS de campo de texto para almacenar el Id. de grupo del conjunto de permisos para cada rol de usuario. Al final, el tipo de metadatos personalizado de Asignación de grupos de PS de función de usuario debería verse de la siguiente manera:
- El siguiente paso es insertar algunos registros en el tipo de metadatos personalizados. Haga clic en el botón Administrar asignación de grupos de PS de funciones de usuario en la página de detalles del tipo de metadatos personalizados y luego haga clic en Nuevo para insertar algunos registros, como se muestra en la siguiente captura de pantalla:
Paso 2.1: Definir propiedades de flujo
- Haga clic en Configuración .
- En el cuadro Búsqueda rápida, escriba Flujos .
- Seleccione Flujos y luego haga clic en Nuevo flujo .
- Seleccione el flujo activado por registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
- Objeto : Usuario
- Activar el flujo cuando : se crea y actualiza un registro
- Establecer criterios de entrada
- Requisitos de condición: Ninguno
- Optimice el flujo para la acción y los registros relacionados
- Haga clic en Listo .
Paso 2.2: fórmula para determinar si el usuario está creado o actualizado
- En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
- Ingrese la siguiente información :
- Tipo de recurso : Fórmula
- Nombre de API : forB_IsNew
- Tipo de datos : booleano
- Fórmula : EsNuevo()
- Haga clic en Listo .
Paso 2.3: uso del elemento de decisión para comprobar si el usuario se ha creado/actualizado y tiene un rol de usuario completado
Ahora usaremos el elemento Decisión para verificar si el usuario se creó o actualizó y tiene un rol de usuario completo.
- En Flow Designer, debajo del nodo Ejecutar inmediatamente , haga clic en el icono + y seleccione el elemento Decisión .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
- Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
- Fila 1:
- Recurso : {!forB_IsNew}
- Operador : Igual
- Valor : {!$ConstanteGlobal.Verdadero}
- Haga clic en Agregar condición
- Fila 2:
- Recurso : {!$Record.UserRoleId}
- Operador : es nulo
- Valor : {!$ConstanteGlobal.Falso}
- Fila 1:
- Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
- Haga clic en Listo .
Paso 2.4: Adición de un elemento Obtener registro para encontrar el Id. de grupo del conjunto de permisos para un usuario determinado
El siguiente paso es usar el elemento Obtener registros para encontrar el ID de grupo del conjunto de permisos para un rol determinado.
- En Flow Designer, debajo del nodo Creado , haga clic en el icono + y seleccione el elemento Obtener registros .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- Seleccione el objeto Asignación de grupo de PS de rol de usuario de la lista desplegable.
- Seleccione Se cumplen todas las condiciones (Y) .
- Establecer condiciones de filtro
- Fila 1:
- Campo : Etiqueta
- Operador : Igual
- Valor : {!$Record.UserRole.Name}
- Fila 1:
- Cuántos registros almacenar:
- seleccione Solo el primer registro
- Cómo almacenar datos de registro:
- Elija la opción para Almacenar automáticamente todos los campos .
- Haga clic en Listo .
Paso 2.5: uso del elemento de decisión para comprobar si se encontró o no el ID de grupo del conjunto de permisos
Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 2.3 para encontrar si se encontró o no la identificación del grupo del conjunto de permisos.
- En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
- Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
- Fila 1:
- Recurso: {!Find_Permission_Set_Group}
- Operador: es nulo
- Valor: {!$ConstanteGlobal.Falso}
- Fila 1:
- Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
- Haga clic en Listo .
Paso 2.6: Agregue el elemento Crear registros para asignar un grupo de conjuntos de permisos a un usuario
A continuación, utilizaremos el elemento Crear registros para asignar un grupo de conjuntos de permisos a un usuario.
- En Flow Designer, debajo del nodo Sí , haga clic en el icono + y seleccione el elemento Crear registros .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- Ingrese la siguiente información :
- Cuántos registros crear : uno
- Cómo establecer los campos de registro : use recursos separados y valores literales
- Objeto : asignación de conjunto de permisos
- Establecer valores de campo para la asignación de conjunto de permisos
- Fila 1:
- Campo : ID asignado
- Valor : {!$Record.Id}
- Haga clic en Agregar campo
- Fila 2:
- Campo : PermissionSetGroupId
- Valor : {!Find_Permission_Set_Group.PS_Group_Id__c}
- Haga clic en Listo .
Al final, Martin's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los siguientes pasos:
- Haga clic en Guardar .
- Ingrese la etiqueta de flujo , el nombre de la API se completará automáticamente.
- Haga clic en Mostrar avanzado .
- Versión de API para ejecutar el flujo : 54
- Etiqueta de entrevista : Grupo de conjunto de permisos de asignación automática {!$Flow.CurrentDateTime}
- Haga clic en Guardar .
¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Activar .
Prueba de concepto
La próxima vez, cuando un administrador del sistema cree un usuario en Gurukul on Cloud, el proceso que creamos (usando un flujo activado por registro) se activará y asignará un grupo de conjunto de permisos al usuario en función de su rol (en este escenario, Rol del Gerente de Ventas).
- Cree un usuario y asígnele el rol de gerente de ventas. Luego, verifique Grupo de asignación de conjunto de permisos:
¡Estupendo! ¡Estás listo!
¡Ahora puede optimizar su proceso de administración/acceso de usuarios aprovechando el grupo de conjuntos de permisos! La disponibilidad del grupo de conjuntos de permisos transformará a un superadministrador en un superadministrador. ¡Ya no tendrá que cargar con múltiples conjuntos de permisos individuales! ¡¿Qué hay que no amar?!
Evaluación formativa:
¡Quiero saber de ti!
¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/04/03/auto-assign-permission-set-group-to-a-user/