28 de abril de 2021

Introducción a Salesforce Flow – Parte 62 (Asignar automáticamente o quitar conjunto de permisos a varios usuarios)

Última actualización el 27 de abril de 2021 por Rakesh Gupta

Gran idea o pregunta duradera:

Los conjuntos de permisos son útiles para proporcionar un conjunto particular de funcionalidades a un usuario además de los permisos proporcionados por su perfil . Por ejemplo, es posible que desee permitir que solo algunos de sus usuarios de ventas conviertan clientes potenciales. En este caso, en lugar de tener un perfil de ventas especial con el permiso de conversión de clientes potenciales, puede crear un conjunto de permisos y asignarlo a un usuario específico. ¿Qué sucede si solo desea que se asigne un conjunto de permisos durante un tiempo designado y no desea olvidarse de eliminarlo más tarde?

  • Asigne el conjunto de permisos para un período de tiempo específico del 01 de enero de 2022 al 15 de enero de 2022 (como si hubiera definido la hora de inicio y finalización)
  • Eliminar el conjunto de permisos del usuario el 31 de agosto de 2021, es decir, una fecha futura

He escrito algunos artículos sobre la automatización del conjunto de permisos.   y automatización . ¡¿Por qué no les echas un vistazo mientras estás en ello ?!

  1. Introducción a Salesforce Flow – Parte 53 (Clonar un usuario con su grupo público asociado, pertenencia a la cola y conjuntos de permisos)
  2. Introducción a Salesforce Flow – Parte 24 (Asignar automáticamente conjuntos de permisos a un nuevo usuario)

Objetivos:

Después de leer este artículo, podrá:

  • Utilice el flujo activado por programación para asignar o eliminar el conjunto de permisos en la fecha especificada automáticamente
  • Práctica recomendada para referir el conjunto de permisos a un flujo activado por registro
  • Utilice un elemento de decisión para buscar: la variable de registro o la variable de colección de registros contiene un registro o no
  • Asignar un conjunto de permisos a los usuarios el primer día del mes
  • Eliminar el conjunto de permisos de los usuarios el sexto día del mes
  • Supervisar la cola de flujo de trabajo de programación

Brenda David es administradora de sistemas en Universal Containers (UC). La gerencia de la UC ha anunciado una iniciativa para permitir que sus empleados actualicen o eliminen las solicitudes de vacaciones en lugar de enviar una solicitud por correo electrónico a RR.HH. Para hacer esto, los usuarios necesitarán permisos especiales, como actualizar o eliminar solicitudes de vacaciones (objetos personalizados) que están fuera de sus permisos estándar. Solo deben tener acceso desde el primer día de cada mes hasta el día 05 del mes (Otorgar acceso durante los primeros cinco días del mes).

Enfoque de campeón de automatización (I-do):

Si bien esto se puede resolver utilizando varias herramientas de automatización como Apex , etc. , usaremos el flujo activado programado . Antes de continuar, debe comprender el PermissionSetAssignment   objeto . Representa la asociación entre un usuario y un PermissionSet. A continuación se muestran los campos clave del objeto PermissionSetAssignment

Nombre del campo Detalles
PermissionSetId ID del PermissionSet para asignar al usuario especificado en AssigneeId.
AssigneeId ID del usuario para asignar el conjunto de permisos especificado en PermissionSetId.

Antes de discutir la solución, permítame mostrarle un diagrama de un flujo de proceso a un alto nivel. Dedique unos minutos a revisar el siguiente diagrama de flujo y comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (lo hacemos):

Hay 2 pasos para resolver los requisitos comerciales de Brenda mediante el flujo activado programado . Debemos:

  1. Creación de un conjunto de permisos: autenticación de dos factores
  2. Pasos del flujo de Salesforce:
    1. Definir propiedades de flujo para flujo activado programado
    2. Agregue una fórmula para obtener días a partir de la fecha
    3. Agregue un elemento de obtención de registros para encontrar la identificación del conjunto de permisos
    4. Agregue un elemento de decisión para verificar la identificación del conjunto de permisos de la variable de registro (del paso 2.3)
    5. Agregue un elemento de registro para encontrar el ID de asignación del conjunto de permisos
    6. Agregue un elemento de decisión para verificar el ID de asignación del conjunto de permisos de la variable de registro (del paso 2.5) y el día del mes
    7. Agregue un elemento de creación de registros para asignar el conjunto de permisos
    8. Agregue un elemento Eliminar registros para eliminar el conjunto de permisos

Paso 1: crear un conjunto de permisos

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Conjuntos de permisos .
  3. Seleccione Conjuntos de permisos y luego haga clic en Nuevo .
  4. Etiquete el conjunto de permisos y luego presione la tecla de tabulación, el nombre de la API se completará automáticamente.
  5. Haga clic en Guardar.

Paso 2.1: Flujo de Salesforce – Definir propiedades de flujo

    1. Haga clic en Configuración .
    2. En el cuadro Búsqueda rápida, escriba Flujos .
    3. Seleccione Flujos y luego haga clic en Nuevo flujo .
    4. Seleccione el flujo activado por programación   opción y haga clic en Siguiente   y configure el flujo de la siguiente manera:
      1. ¿Cómo quieres empezar a construir ? Freeform
      2. Establecer horario
        1. Fecha de inicio: 27 de abril de 2021
        2. Hora de inicio: 12:00 AM
        3. Frecuencia: Diaria
        4. Haz clic en Listo .
      3. Seleccionar objeto : Usuario
    5. Seleccione Se cumplen todas las condiciones (Y) .
    6. Condición de establecimiento
      1. Fila 1
        1. Campo: Usuario | Está activo
        2. Operador: Igual a
        3. Valor: {! $ GlobalConstant.True}
      2. + Agregar condición
      3. Fila 2
        1. Campo: Usuario | Tipo de usuario
        2. Operador: Igual a
        3. Valor: estándar
    7. Haz clic en Listo .

Paso 2.2: Flujo de Salesforce: cree una fórmula para obtener el día a partir de la fecha

  1. En Caja de herramientas , seleccione Administrador, luego haga clic en Nuevo recurso para crear una fórmula para obtener el día a partir de la fecha.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forNDaysOfMonth
    3. Tipo de datos : Número
    4. Lugares decimales : 0
    5. Fórmula : {DÍA ({! $ Flow.CurrentDate})
  3. Haz clic en Listo .

Paso 2.3: Lightning Flow: agregar un elemento Get Record para encontrar el ID del conjunto de permisos

El siguiente paso es utilizar el   Obtener el elemento Registros para encontrar el conjunto de permisos Modificar solicitud de vacaciones . Para hacer eso, siga las instrucciones a continuación:

  1. En Caja de herramientas , seleccione Elemento .
  2. Arrastre y suelte el elemento Obtener registros en el diseñador de flujo.
  3. Ingrese un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  4. Seleccione el conjunto de permisos   objeto de la lista desplegable.
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Nombre del campo
      2. Operador: Igual a
      3. Valor: Modify_Vacation_Request
  7. Cuántos registros almacenar:
    1. seleccione solo el primer registro
  8. Cómo almacenar datos de registro:
    1. Elija la opción para almacenar automáticamente todos los campos .
  9. Haz clic en Listo .

Paso 2.4: Flujo de Salesforce: uso del elemento de decisión para verificar el ID del conjunto de permisos de la variable de registro (del paso 2.3)

Ahora usaremos el elemento Decisión para verificar la Variable de registro del paso 2.3 para encontrar si devuelve el ID del conjunto de permisos o no.

  1. En Caja de herramientas , seleccione Elemento .
  2. Arrastre y suelte el elemento Decisión en el diseñador de flujo.
  3. Ingrese un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  4. En Detalles del resultado ,   ingrese la etiqueta que el nombre de la API se completará automáticamente.
  5. Requisitos de las condiciones para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {! Get_Permission_Set}
      2. Operador: es nulo
      3. Valor: {! $ GlobalConstant.False}
  6. Haz clic en Listo .

Paso 2.5: Lightning Flow: agregar un elemento Get Record para encontrar el ID de asignación del conjunto de permisos

El siguiente paso es utilizar el   Obtener el elemento Registros para encontrar el ID de asignación de configuración de permisos. Para hacer eso, siga las instrucciones a continuación:

  1. En Caja de herramientas , seleccione Elemento .
  2. Arrastre y suelte el elemento Obtener registros en el diseñador de flujo.
  3. Ingrese un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  4. Seleccione la asignación de conjunto de permisos   objeto de la lista desplegable.
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo: AssigneeId
      2. Operador: Igual a
      3. Valor: {! $ Record.Id}
    2. + Agregar condición
    3. Fila 2:
      1. Campo: PermissionSetId
      2. Operador: Igual a
      3. Valor: {! Get_Permission_Set.Id}
  7. Cuántos registros almacenar:
    1. seleccione solo el primer registro
  8. Cómo almacenar datos de registro:
    1. Elija la opción para almacenar automáticamente todos los campos .
  9. Haz clic en Listo .

Paso 2.6: Flujo de Salesforce: uso del elemento de decisión para verificar el ID de asignación del conjunto de permisos de la variable de registro (del paso 2.5) y el día del mes

Usaremos el elemento Decisión para verificar la Variable de registro del paso 2.5 para encontrar si el conjunto de permisos está asignado al usuario o no con el día del mes. Hay dos posibilidades:

    • Si hoy es el primer día del mes y el conjunto de permisos no está asignado al usuario, asigne el conjunto de permisos.
    • Si hoy es el sexto día del mes y el conjunto de permisos está asignado al usuario, elimínelo.
  1. En Caja de herramientas , seleccione Elemento .
  2. Arrastre y suelte el elemento Decisión en el diseñador de flujo.
  3. Ingrese un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  4. En Detalles del resultado ,   ingrese la etiqueta (Agregar conjunto de permisos), el nombre de la API se completará automáticamente.
  5. Requisitos de las condiciones para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {! Get_Permission_Set_Assignment}
      2. Operador: es nulo
      3. Valor: {! $ GlobalConstant.True}
    2. + Agregar condición
    3. Fila 2:
      1. Campo : {! ForNDaysOfMonth}
      2. Operador : Igual a
      3. Valor : 1
  6. Ahora agregue un segundo nodo al elemento de decisión.
  7. En Detalles de resultado , haga clic en +
  8. En Detalles del resultado ,   ingrese la etiqueta (Eliminar conjunto de permisos), el nombre de la API se completará automáticamente.
  9. Requisitos de las condiciones para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {! Get_Permission_Set_Assignment}
      2. Operador: es nulo
      3. Valor: {! $ GlobalConstant.False}
    2. + Agregar condición
    3. Fila 2:
      1. Campo : {! ForNDaysOfMonth}
      2. Operador : Igual a
      3. Valor : 6
  10. Haz clic en Listo .

Paso 2.7: Flujo de Salesforce: crear registros para agregar un conjunto de permisos

El siguiente paso es agregar conjuntos de permisos a los usuarios. Usaremos el elemento Create Records. Para hacer esto, arrastre y suelte el elemento Crear registros en el diseñador de flujo y mapee los campos de acuerdo con los detalles a continuación:

  1. En Caja de herramientas , seleccione Elementos . Arrastre y suelte Crear registros en el lienzo.
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
    2. Cuántos registros crear : uno
    3. Cómo configurar los campos de registro : use recursos separados y valores literales
    4. Objeto : PermissionSetAssignment
    5. Establecer valores de campo para la asignación de conjuntos de permisos
    6. Fila 1:
      1. Campo : AssigneeId
      2. Valor : {! $ Record.Id}
    7. Haga clic en Agregar fila
    8. Fila 2:
      1. Campo : PermissionSetId
      2. Valor : {! Fet_Permission_Set.Id}
  3. Haz clic en Listo .

Paso 2.8: Flujo de Salesforce: agregue un elemento Eliminar registros para eliminar el conjunto de permisos

El siguiente paso es eliminar los conjuntos de permisos para los usuarios. Usaremos el elemento Delete Records. Para hacer esto, arrastre y suelte el elemento Eliminar registros en el diseñador de flujo y mapee los campos de acuerdo con los detalles a continuación:

  1. Arrastre y suelte el elemento Eliminar registros en el diseñador de flujo.
  2. Ingrese un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  3. Para Cómo encontrar registros para eliminar, seleccione Usar los ID almacenados en una variable de registro o una variable de colección de registros .
  4. Seleccionar registro (s) para eliminar
    1. Registro o colección de registros: {! Get_Permission_Set_Assignment}
  5. Haz clic en Listo .

Al final, el flujo de Brenda se verá como la siguiente captura de pantalla (activé el diseño automático ) para este flujo:

Una vez que todo se vea bien, realice los pasos a continuación:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo, el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Tipo : flujo activado por programa
  5. Versión de API para ejecutar el flujo : 52
  6. Etiqueta de entrevista : Agregar o quitar conjunto de permisos automáticamente {! $ Flow.CurrentDateTime}
  7. Haga clic en Guardar .

¡Casi llegamos! Una vez que todo se vea bien, haga clic en el botón Activar.

Supervise el flujo de su programación

Para monitorear los flujos que están programados, navegue a la siguiente ruta:

  1. Vaya a Configuración (icono de engranaje) | Ambientes | Trabajos | Trabajos programados .
  2. Ahora busque su flujo programado que muestra la información como se muestra en la siguiente captura de pantalla:
  3. Utilice el enlace Supr para eliminar el trabajo de flujo programado de la cola.

Prueba de concepto

Cada noche a las 12:00 a. M., Se ejecutará un trabajo programado y agregará o quitará el conjunto de permisos para el usuario según el día del mes.

  1. El primer día del mes, navegue hasta el registro de usuario y confirme que se asignó el conjunto de permisos Modificar solicitud de vacaciones.
  2. El sexto día del mes, navegue hasta el registro de usuario y confirme que se ha eliminado el conjunto de permisos Modificar solicitud de vacaciones.

Evaluación formativa:

¡Quiero saber de ti!

¿Qué aprendió de esta publicación, es relevante para usted y cómo modificará los conceptos enseñados en la publicación para sus propios procesos comerciales?

Haz una publicación y etiquétame en Twitter @automationchamp usando #AutomationChampionFlow.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2021/04/26/auto-assign-or-remove-permission-set-to-multiple-users/



EGA Futura https://bit.ly/3dXdZUq