Categories
Developers Salesforce

Establezca su productividad con esteroides creando subflujos

Última actualización el 11 de agosto de 2022 por Rakesh Gupta

Salesforce Flow es una de las herramientas declarativas más utilizadas para automatizar procesos comerciales en Salesforce. La mayoría de nosotros solemos crear un nuevo flujo para cada requisito. Eso no solo no es una mejor práctica, sino que, a largo plazo, es un enfoque altamente improductivo e insostenible para administrar el desarrollo de procesos.

Además, corre el riesgo de llegar al límite del gobernador si crea múltiples flujos en un objeto. Por lo tanto, mi sugerencia es crear el mínimo posible de flujos en cada objeto.

Con la versión reciente, es posible invocar un flujo iniciado automáticamente (como subflujo) desde un flujo activado por registro después de guardar. Con Subflow , puede reutilizar la lógica en los flujos. Cree un flujo iniciado automáticamente (subflujo); llámelo desde múltiples flujos o múltiples grupos de acción en el mismo flujo. Al usar este método, de reutilizar un flujo, puede ahorrar tiempo, mantener el límite del gobernador a distancia y aumentar su productividad.

Pamela Kline trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Debe actualizar el campo personalizado Cuenta, Fuera del negocio, a Verdadero si una Etapa de oportunidad se actualiza a Cerrada perdida.

Hay varias formas, como se enumeran, en las que puede resolver el requisito comercial anterior:

  • Con un flujo desencadenado por registro en el objeto de oportunidad
  • Activador de vértice
  • y mucho más

A partir de ahora, la primera solución se ve bien. Sin embargo, después de algunas semanas, Pamela recibió otro requisito similar: actualizar el campo personalizado de la cuenta, Fuera del negocio, a Verdadero si la calificación de la cuenta no está interesada. ¡Oh, no! ¡No otra vez!

Ahora tiene que volver a escribir la misma lógica creando un flujo activado por registro en el objeto Cuenta; esto es tedioso y requiere mucho tiempo, por decir lo menos. Porque, como puede ver, en ambos requisitos, estamos actualizando el campo personalizado Cuenta, Fuera del negocio, a Verdadero. ¿Qué tal reutilizar la lógica existente con Account Flow? ¡Dejanos hacerlo!

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario empresarial anterior . Para resolver el requisito empresarial anterior (Actualizar el campo personalizado Cuenta , Fuera del negocio , a Verdadero si una Oportunidad se actualiza a Cerrada perdida ), utilizaremos el concepto de subflujo.

Subflujo significa lanzar otro flujo que esté disponible en su organización. Un flujo iniciado por otro flujo se denomina flujo referenciado .

Tenemos que crear dos flujos para esto, de la siguiente manera:

  • El primer flujo iniciado automáticamente (lo invoca el flujo activado por registros) se usa para actualizar el campo de la cuenta.
  • Se coloca otro flujo (un flujo desencadenado por registro) en el objeto Oportunidad y se activará solo cuando una Etapa de oportunidad se actualice a Cerrada perdida .

El beneficio de usar este enfoque es que si obtiene un requisito en el futuro (actualizar el campo personalizado de la cuenta, Fuera del negocio, a Verdadero si la calificación de la cuenta no está interesada ), entonces llama al flujo iniciado automáticamente desde el registro de su cuenta. flujo sin agregar otra actualización de registro en el flujo de cuenta.

Práctica guiada (nosotros hacemos):

  1. En primer lugar, cree un campo personalizado ( Out_of_Business__c ) tipo de datos Checkbox , en el objeto de la cuenta.
  2. Asegúrese de agregar el valor No me interesa para el campo de calificación (desplegable) en la cuenta.

Paso 3: Definir propiedades de subflujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos, luego haga clic en Nuevo flujo .
  4. Seleccione el flujo iniciado automáticamente (sin disparador) opción.
  5. Haz clic en Crear .

Paso 4: Agregar acción: actualizar registros

El siguiente paso es actualizar el campo Fuera del negocio de la cuenta a Verdadero. Usaremos los registros de actualización   elemento.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Actualizar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para obtener información sobre cómo encontrar registros para actualizar y establecer sus valores , seleccione Especificar condiciones para identificar registros y establecer campos individualmente.
  4. Objeto : Cuenta
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Identificación
      2. Operador : Igual
      3. Valor : {!varT_AccountId}
        1. Donde varT_AccountId es una variable de texto de tipo Entrada y Salida.
  7. Establecer valores de campo para los registros de oportunidad
    1. Fila 1:
      1. Campo : Fuera_del_negocio__c
      2. Valor : {!$ConstanteGlobal.Verdadero}
  8. Haga clic en Listo .

Al final, el flujo de subflujo de Pamela se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo l   el nombre de A PI se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 56
  5. Etiqueta de la entrevista : Subflujo: Actualización de la cuenta
  6. Haga clic en Guardar .

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

Paso 5: Definir un flujo activado por registro maestro para llamar a un subflujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos, luego haga clic en Nuevo flujo .
  4. Seleccione el flujo activado por registro opción, haga clic en Crear
    1. Objeto : Oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 6: uso del elemento de decisión para verificar si la oportunidad está cerrada, perdida o no

Ahora usaremos el elemento Decisión para verificar StageName y asegurarnos de que sea igual a Cerrado perdido.

¡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 usuario actualice la etapa de la oportunidad a Cerrada perdida, ambos flujos se activarán y actualizarán la cuenta Out_of_business__C a True, como se muestra en la siguiente captura de pantalla:

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/08/11/set-your-productivity-on-steroids-by-creating-subflows-2/

Categories
Developers Salesforce

Agregar automáticamente un nuevo usuario al grupo público o cola

Última actualización el 25 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo se agregan automáticamente nuevos usuarios a un grupo público o cola?

Objetivos:

Esta publicación de blog nos ayudará a comprender lo siguiente

  • Crear automatización asociada con la creación de un nuevo usuario
  • Agregar automáticamente un usuario a un grupo público específico o cola con flujo
  • ¿Qué es el error MIXED DML y cómo evitarlo?

Warren Mason trabaja como administrador de sistemas en Universal Containers (UC). Su organización desea desarrollar una automatización para agregar automáticamente nuevos usuarios al grupo público de usuarios de contenedores universales.

Enfoque de Campeón de Automatización (I-do):

En el artículo Agregar automáticamente un usuario a un grupo de Chatter , discutimos una forma de agregar automáticamente nuevos usuarios al grupo de Chatter mediante clics, no código. También discutimos una forma de evitar errores MIXED DML .

Ahora demos un paso más y analicemos una forma de agregar automáticamente nuevos usuarios a una cola o grupo público . Hay pocas soluciones posibles para el escenario empresarial anterior . Usaremos flujo activado por registro   para resolver el requisito comercial anterior.

Antes de continuar, debe comprender el grupo   y objetos GroupMember .

  1. Grupo : – Este objeto representa la cola y el grupo público . Pueden contener usuarios individuales, otros grupos y los usuarios en un rol particular. Al utilizar el campo Tipo , puede distinguir entre Cola y Grupo público . Para Grupo Público ( Tipo de Uso = Regular) y para Cola ( Tipo de Uso = Cola).
  2. GroupMember : – Representa un usuario o grupo que es miembro de un grupo público.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay dos pasos para resolver el requisito empresarial de Warren mediante el flujo activado por registro . Debemos:

  1. Crear un grupo público
  2. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Fórmula para determinar si el registro se crea o actualiza
    3. Agregue un elemento de decisión para verificar si el usuario está activo o no
    4. Agregue un elemento de obtención de registro para encontrar la identificación del grupo público
    5. Agregue un elemento de decisión para verificar el grupo público encontrado o no (del paso 4)
    6. Agregue un elemento de creación de registros para agregar un usuario al grupo público

Paso 1: crea un grupo público

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Grupo público .
  3. Haga clic en el botón Grupo público .
  4. Da clic en el botón Nuevo .
  5. Etiquete el grupo y luego presione la tecla tabulador, el nombre del grupo se completará automáticamente.
  6. Haga clic en Guardar.

Paso 2.1: 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 registro y haga clic en Crear y configure el flujo de la siguiente manera :
    1. Objeto : Usuario
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2.2: fórmula para determinar si el usuario está creado o actualizado

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro es nuevo o antiguo.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. Haga clic en Listo .

Paso 2.3: uso del elemento de decisión para verificar si el usuario está activo o no

Ahora usaremos el elemento Decisión para verificar si la cuenta de usuario está activa o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!$Record.IsActive}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.True}
    2. Añadir condición
    3. Fila 2
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.4: Adición de un elemento Obtener registro para encontrar el ID de grupo público para usuarios de contenedores universales

El siguiente paso es encontrar el grupo público para usuarios de contenedores universales.

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Grupo de registros de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Nombre
      2. Operador : Igual
      3. Valor : usuarios de contenedores universales
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 2.5: uso del elemento de decisión para verificar el grupo público de la variable de registro (del paso 4)

Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 4 para encontrar si devuelve el grupo público o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Find_Public_Group}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    2. Haga clic en Listo .

Paso 2.6: Agregue el elemento Crear registros para agregar un nuevo usuario al grupo público

El paso final es agregar nuevos usuarios al grupo público, tan pronto como se active la nueva cuenta de usuario. Usaremos el elemento Create Records .

  1. En Flow Designer, debajo del nodo Grupo encontrado , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Miembro del grupo
    4. Establecer valores de campo para el miembro del grupo
    5. Fila 1:
      1. Fila 1:
        1. Campo : ID de grupo
        2. Valor : {!Find_Public_Group.Id}
      2. Agregue campo
      3. Fila 2
        1. Campo : UserOrGroupId
        2. Valor : {!$Record.Id}
  4. Haga clic en Listo .

Al final, Warren's Flow se verá como la siguiente captura de pantalla:  

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 50
  5. Etiqueta de entrevista : agregar automáticamente un nuevo usuario al grupo público {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, cuando se crea una cuenta de usuario, el flujo activado por registro activará automáticamente y agregará al usuario a un grupo público ( Usuarios de contenedor universal ). Vamos a probarlo.

  1. Ahora cree un nuevo usuario a través de la interfaz de usuario Crear nuevo usuario
  2. Una vez que se crea el usuario, se agrega automáticamente al grupo público Universal Container Users en unos segundos, como se muestra en la siguiente captura de pantalla:

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/06/25/automatically-add-new-user-to-public-group-or-queue-2/

Categories
Developers Salesforce

Eliminar conversación completa de Chatter mediante Salesforce Flow

Última actualización el 22 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo se puede permitir que los usuarios eliminen conversaciones de Chatter?

Esta es una continuación de mi artículo anterior Eliminación de mensajes de Chatter mediante Salesforce Flow , en el que analicé una forma que permite a sus usuarios eliminar mensajes de Chatter . Este artículo va un paso más allá y explica cómo eliminar todos los mensajes a la vez , es decir, cómo eliminar una conversación de Chatter . La conversación de Chatter no es más que mensajes que los miembros han enviado o recibido .

Objetivos:

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

  • Utilice la automatización para aumentar los permisos de los usuarios
  • Crear un objeto personalizado para almacenar el Id. de una conversación de Chatter
  • Usar flujo activado por registro para eliminar la conversación de Chatter

Rachel Gillett trabaja como administradora de sistemas en Universal Containers (UC) . Ha recibido un requisito de la gerencia para permitir que sus representantes de ventas (Tipo de licencia: – Plataforma de Salesforce) eliminen conversaciones de Chatter de la interfaz de usuario de Salesforce .

Enfoque de Campeón de Automatización (I-do):

** La función Mensajes de Chatter solo está disponible en Classic

En primer lugar, es importante comprender los mensajes de Chatter y las conversaciones de Chatter en Salesforce . Los mensajes de Chatter le permiten tener conversaciones privadas seguras con otros usuarios de Chatter . Use mensajes para enviar una pregunta a su colega en privado o para comunicarse con algunas personas seleccionadas cuando una discusión no es relevante para todas las personas con las que trabaja . Una conversación de Chatter consta de mensajes que los miembros de la conversación han enviado o recibido .

Recuerde los siguientes puntos para usar mensajes de Chatter

  1. Un mensaje privado puede incluir hasta 9 miembros, incluido usted mismo .
  2. Los mensajes enviados no se podrán ver a través de las noticias en tiempo real de Chatter, el perfil de Chatter o los resultados de la búsqueda global .
  3. No puedes borrar mensajes ni conversaciones.
  4. Un administrador con el permiso Administrar mensajes de Chatter puede ver y eliminar todos los mensajes de los usuarios en Chatter . Esto puede ser necesario para fines de cumplimiento.
    1. Los mensajes se eliminan de forma permanente. No se envían a la Papelera de reciclaje .
    2. Los mensajes eliminados no se incluyen en los resultados de búsqueda de mensajes .
    3. Si se eliminan todos los mensajes de una conversación, la conversación no se muestra en Mis mensajes y no se puede recuperar a través de la API REST de Chatter .
  5. Si después de leer los mensajes en una conversación desea marcar la conversación como no leída, puede hacerlo solo a través de la API REST de Chatter, no a través de la interfaz de usuario .

Hay algunas soluciones posibles para el escenario comercial anterior, pero usaré Salesforce Flow y Custom Object para resolver el requisito comercial. Como se mencionó anteriormente, un administrador del sistema con el permiso Administrar mensajes de Chatter puede ver y eliminar todos los mensajes de los usuarios en Chatter . Los usuarios comerciales no pueden eliminar mensajes ni conversaciones .

En Salesforce, el objeto ChatterMessage representa un mensaje enviado como parte de una conversación privada en Chatter . Hay algunos campos relevantes para identificar:

Nombre del campo Detalles
Identificación Id. de mensaje de Chatter
ID de conversación El Id. de la conversación con la que está asociado ChatterMessage.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito empresarial de Rachel mediante Record-triggered Flow . Debemos:

  1. Otorgar permiso de administración de chat
  2. Cree un objeto personalizado con pocos campos que se usará para guardar el Id. de la conversación de Chatter, que los usuarios desean eliminar.
  3. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregar un elemento de decisión para verificar que el campo Id. de conversación de Chatter no sea nulo
    3. Agregue un elemento Eliminar registros para eliminar la conversación de Chatter

Paso 1: Otorgar permiso para administrar mensajes de Chatter a los usuarios

Primero, cree un Conjunto de permisos para otorgar a su registro de usuario el permiso Administrar mensajes de Chatter . De lo contrario , obtendrá un error al crear el flujo. El permiso se puede eliminar más tarde.

Paso 2: Cree un objeto personalizado: elimine la conversación de Chatter

Cree un objeto personalizado ( Eliminar conversación de Chatter ) y un campo de texto para guardar el Id. de conversación de Chatter .

  1. Haga clic en Configuración .
  2. En el Administrador de objetos, haga clic en Crear | Objeto personalizado .
  3. Ahora cree un objeto personalizado Eliminar conversación de Chatter y campos como se muestra en la siguiente captura de pantalla:
  4. Haga clic en Guardar.

Asegúrese de haber marcado el campo Chatter_Conversation_Id__c como obligatorio y de haber otorgado acceso CRUD a los perfiles respectivos.

Paso 3.1: Definir propiedades de flujo

El siguiente paso es crear un Flujo para implementar el requisito comercial, es decir, eliminar la conversación de chat cuando alguien creó un registro en el objeto personalizado creado en el paso n.º 2.

  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 la opción Record-Triggered Flow , haga clic en Create y configure el flujo de la siguiente manera:
    1. Objeto: Eliminar conversación de Chatter
    2. Activar el flujo cuando: se crea un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 3.2: uso del elemento de decisión para verificar si el campo Id. de conversación de Chatter está completo o no

El siguiente paso es verificar que el campo de identificación de conversación de chat esté completo o no. Para verificar esto, usaremos el elemento Decisión .

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!$Record.Chatter_conversation_Id__c}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Haga clic en Listo .

Paso 3.3: Añadir acción – Eliminar registro

El siguiente paso es eliminar la conversación de chat. Para ello utilizaremos el elemento Eliminar Registros .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Eliminar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para Cómo encontrar registros para eliminar , seleccione Especificar condiciones .
  4. Seleccione el objeto ChatterMessage de la lista desplegable.
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de conversación
      2. Operador : Igual
      3. Valor : {!$Record.Chatter_Conversation_Id__c}
  6. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:


Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Eliminar conversación de Chatter {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

  1. Inicie sesión como usuario de plataforma Brenda David (perfil de plataforma personalizado). Usuario de la plataforma de Salesforce
    1. No se asigna ningún permiso adicional a este usuario aparte del permiso Crear y Leer en el objeto Eliminar conversación de Chatter .
  2. Brenda quiere eliminar conversaciones de Chatter (todos los mensajes en un hilo) enviadas por el usuario de ventas Rakesh Gupta , pero como usuario comercial cuando no puede ejecutar una consulta para obtener el Id. Conversación de chat
  3. Para obtener un Id. de conversación de Chatter , abra el mensaje de Chatter y haga clic con el botón derecho en él, y luego seleccione Inspeccionar elemento , como se muestra en la siguiente captura de pantalla: Seleccione Inspeccionar elemento para una conversación de Chatter
  4. Se abrirá una ventana en la parte inferior de la pantalla actual. Busque y copie el Id. de conversación de Chatter como se muestra en la siguiente captura de pantalla: Id. de conversación de Chatter
  5. Cree un nuevo registro en el objeto Eliminar conversación de Chatter , como se muestra en la siguiente captura de pantalla Crear un nuevo registro
  6. Vaya a los mensajes de Chatter y compruébelo ahora. La conversación (es decir , test2w333 ? ) enviada por el administrador del sistema Rakesh Gupta se elimina.

Salida final

<img data-lazy-fallback="1" data-attachment-id="6599" data-permalink="https://automationchampion.com/2022/06/22/delete-complete-chatter-conversation-using-salesforce-flow-2/final-output-16/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output2.png?fit=762%2C273&ssl=1" data-orig-size="762,273" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Final Output" data-image-description="

Final Output

» data-image-caption=»

Final Output

» data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output2.png?fit=300%2C107&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output2.png?fit=640%2C229&ssl=1″ loading=»lazy» class=»aligncenter wp-image-6599 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/06/eliminar-conversacion-completa-de-chatter-mediante-salesforce-flow-21.png» alt=»Salida final» width=»640″ height=»229″ data-recalc-dims=»1″>

Nota : – Solo puede eliminar aquellas conversaciones de Chatter en las que está incluido; de lo contrario, obtendrá un error. ( No hay nada en Salesforce que coincida con sus criterios de eliminación ) . No se aplica al administrador del sistema con el permiso Administrar mensajes de Chatter .

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/06/22/delete-complete-chatter-conversation-using-salesforce-flow-2/

Categories
Developers Salesforce

Eliminar mensajes de Chatter mediante Salesforce Flow

Última actualización el 17 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo se puede permitir que los usuarios eliminen mensajes individuales de Chatter?

Objetivos:

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

  • Utilice la automatización para aumentar los permisos de los usuarios
  • Crear un objeto personalizado para almacenar el Id. de un mensaje de Chatter
  • Usar flujo activado por registro para eliminar el mensaje de Chatter

Rachel Gillett trabaja como administradora de sistemas en Universal Containers (UC) . Ha recibido un requisito de la gerencia para permitir que sus representantes de ventas (Tipo de licencia: – Plataforma de Salesforce) eliminen los mensajes de Chatter uno por uno de la interfaz de usuario de Salesforce .

Enfoque de Campeón de Automatización (I-do):

**La función Mensajes de Chatter solo está disponible en Classic

En primer lugar, es importante comprender los mensajes de Chatter y las conversaciones de Chatter en Salesforce . Los mensajes de Chatter le permiten tener conversaciones privadas seguras con otros usuarios de Chatter . Use mensajes para enviar una pregunta a su colega en privado o para comunicarse con algunas personas seleccionadas cuando una discusión no es relevante para todas las personas con las que trabaja . Una conversación de Chatter consta de mensajes que los miembros de la conversación han enviado o recibido .

Recuerde los siguientes puntos para usar mensajes de Chatter

  1. Un mensaje privado puede incluir hasta 9 miembros, incluido usted mismo .
  2. Los mensajes enviados no se podrán ver a través de las noticias en tiempo real de Chatter, el perfil de Chatter o los resultados de la búsqueda global .
  3. No puedes borrar mensajes ni conversaciones .
  4. Un administrador con el permiso Administrar mensajes de Chatter puede ver y eliminar todos los mensajes de los usuarios en Chatter . Esto puede ser necesario para fines de cumplimiento.
    1. Los mensajes se eliminan de forma permanente. No se envían a la Papelera de reciclaje .
    2. Los mensajes eliminados no se incluyen en los resultados de búsqueda de mensajes .
    3. Si se eliminan todos los mensajes de una conversación, la conversación no se muestra en Mis mensajes y no se puede recuperar a través de la API REST de Chatter .
  5. Si después de leer los mensajes en una conversación desea marcar la conversación como no leída, puede hacerlo solo a través de la API REST de Chatter, no a través de la interfaz de usuario .

Hay algunas soluciones posibles para el escenario comercial anterior, pero usaré Salesforce Flow y Custom Object para resolver el requisito comercial. Como se mencionó anteriormente, un administrador del sistema con el permiso Administrar mensajes de Chatter puede ver y eliminar todos los mensajes de los usuarios en Chatter . Los usuarios comerciales no pueden eliminar mensajes ni conversaciones .

En Salesforce , el objeto ChatterMessage representa un mensaje enviado como parte de una conversación privada en Chatter . Hay algunos campos relevantes para identificar:

Nombre del campo Detalles
Identificación Id. de mensaje de Chatter
ID de conversación El Id. de la conversación con la que está asociado ChatterMessage.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito empresarial de Rachel mediante Record-triggered Flow . Debemos:

  1. Otorgar permiso de administración de chat
  2. Cree un objeto personalizado con pocos campos que se usarán para guardar el Id. del mensaje de Chatter, que los usuarios desean eliminar.
  3. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregar un elemento de decisión para verificar que el campo Id. de mensaje de Chatter no sea nulo
    3. Agregue un elemento Eliminar registros para eliminar el mensaje de Chatter

Paso 1: Otorgar permiso para administrar mensajes de Chatter a los usuarios

Primero, cree un Conjunto de permisos para otorgar a su registro de usuario el permiso Administrar mensajes de Chatter . De lo contrario , obtendrá un error al crear el flujo. El permiso se puede eliminar más tarde.

Paso 2: Cree un objeto personalizado: elimine mensajes de Chatter

Cree un objeto personalizado ( Eliminar mensaje de Chatter ) y un campo de texto para guardar el Chatter MessageId .

  1. Haga clic en Configuración .
  2. En el Administrador de objetos, haga clic en Crear | Objeto personalizado .
  3. Ahora cree un objeto personalizado Eliminar mensajes y campos de Chatter como se muestra en la siguiente captura de pantalla:
  4. Haga clic en Guardar.

Asegúrese de haber marcado el campo Chatter_Message_Id__c como obligatorio y también haber otorgado acceso CRUD a los perfiles respectivos.

Paso 3.1: Flujo relámpago: definir las propiedades del flujo

El siguiente paso es crear un Flujo para implementar el requisito comercial, es decir, eliminar el mensaje de conversación cuando alguien creó un registro en el objeto personalizado creado en el paso n.º 2.

  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 la opción Record-Triggered Flow , haga clic en Create y configure el flujo de la siguiente manera:
    1. Objeto: Eliminar mensaje de Chatter
    2. Activar el flujo cuando: se crea un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 3.2: uso del elemento de decisión para verificar si el campo Id. de mensaje de Chatter está completo o no

El siguiente paso es verificar que el campo de identificación del mensaje de Chatter esté completo o no. Para verificar esto, usaremos el elemento Decisión .

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!$Record.Chatter_Message_Id__c}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Haga clic en Listo .

Paso 3.3: Agregar acción: eliminar registros

El siguiente paso es eliminar el mensaje de chat. Para ello utilizaremos el elemento Eliminar Registros .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Eliminar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para Cómo encontrar registros para eliminar , seleccione Especificar condiciones .
  4. Seleccione el Mensaje de Chatter   objeto de la lista desplegable.
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Identificación
      2. Operador : Igual
      3. Valor : {!$Record.Chatter_Message_Id__c}
  6. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Eliminar mensajes de Chatter {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

  1. Inicie sesión como usuario de plataforma Brenda David (perfil de plataforma personalizado). Usuario de la plataforma de Salesforce
    1. No se asigna ningún permiso adicional a este usuario aparte del permiso Crear y Leer en el objeto Eliminar mensaje de Chatter .
  2. Brenda quiere eliminar un mensaje de Chatter enviado por el usuario de ventas Rakesh Gupta , pero como usuario comercial cuando no puede ejecutar una consulta para obtener la Id. Conversación de chat
  3. Para obtener un Id. de mensaje de Chatter , abra el mensaje de Chatter y haga clic con el botón derecho en él, y luego seleccione Inspeccionar elemento , como se muestra en la siguiente captura de pantalla Seleccione Inspeccionar elemento para un mensaje de Chatter
  4. Se abrirá una ventana en la parte inferior de la pantalla actual. Busque y copie el Id. de mensaje de Chatter como se muestra en la siguiente captura de pantalla Id. de mensaje de Chatter
  5. Cree un nuevo registro en el objeto Eliminar mensaje de Chatter , como se muestra en la siguiente captura de pantalla Crear un nuevo registro
  6. Vaya a los mensajes de Chatter y compruébelo ahora. El mensaje (es decir , ¿Qué pasa ? ) enviado por el administrador del sistema Rakesh Gupta se elimina.

Salida final

<img data-attachment-id="6555" data-permalink="https://automationchampion.com/2022/06/17/delete-chatter-messages-using-salesforce-flow-2/final-output-15/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output1.png?fit=761%2C364&ssl=1" data-orig-size="761,364" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Final Output" data-image-description="

Final Output

» data-image-caption=»

Final Output

» data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output1.png?fit=300%2C143&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/07/final-output1.png?fit=640%2C306&ssl=1″ loading=»lazy» class=»aligncenter wp-image-6555 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/06/eliminar-mensajes-de-chatter-mediante-salesforce-flow-21.png» alt=»Salida final» width=»640″ height=»306″ data-recalc-dims=»1″>

Nota : – Solo puede eliminar los mensajes de Chatter en los que está incluido; de lo contrario, obtendrá un error. ( No hay nada en Salesforce que coincida con sus criterios de eliminación ) . No se aplica al administrador del sistema con el permiso Administrar mensajes de Chatter .

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/06/17/delete-chatter-messages-using-salesforce-flow-2/

Categories
Developers

Componente de área de texto enriquecido para Screen Flow

Última actualización el 10 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo agregar un campo de área de texto enriquecido a una pantalla de flujo?

Objetivos:

Después de leer este blog, podrá:

  • Crear un componente web Lightning para flujo de pantalla
  • Agregar un editor de propiedades personalizado para un componente de pantalla
  • Agregar un componente web Lightning a una pantalla de flujo
  • Asigne el valor del componente web lightning personalizado a un campo de área de texto (enriquecido)
  • y mucho más

Rachel Gillett trabaja como desarrolladora junior en Gurukul on Cloud (GoC). Ella recibió un requerimiento de la gerencia que requiere que él construya un componente web Lightning para el flujo de pantalla que permita a los representantes ingresar notas de ventas en un área de texto enriquecido y luego almacenar la entrada en un campo de área de texto (enriquecido) en la cuenta.

¿Por qué necesitamos un componente personalizado para Rich Text Area for Screen Flow?

La razón es sencilla. Salesforce Flow no tiene un componente listo para usar para Rich Text Area. Es por eso que necesitamos un componente web relámpago para habilitar un componente de área de texto enriquecido en la pantalla de flujo.

Personalizar la interfaz de usuario del componente de pantalla y acción en Flow Builder

Desarrolle un editor de propiedades personalizado que proporcione una interfaz de usuario simplificada para un administrador cuando configure un componente de pantalla personalizado o una acción invocable en Flow Builder. Un editor de propiedades personalizadas es un componente web Lightning que proporciona una interfaz de usuario personalizada para ingresar valores de entrada.

Este ejemplo crea un editor de propiedades personalizadas para un componente de pantalla de flujo personalizado que muestra #líneas visibles , Etiqueta de campo, Longitud de campo, Obligatorio , Valor de campo . El administrador establece el valor de estos componentes mediante un control deslizante en el editor de propiedades personalizadas del componente de volumen. Cuando los usuarios ejecutan el flujo, la pantalla de flujo muestra o usa los valores del administrador.

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario empresarial anterior . Usaremos Lightning Web Component y Screen Flow para resolver el requisito.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 4 pasos para resolver el requisito empresarial de Rachel utilizando Lightning Web Component y Screen Flow . Debemos:

  1. Cree un campo de área de texto (enriquecido) personalizado en la cuenta
  2. Cree un componente de área de texto enriquecido para Screen Flow utilizando el componente web lightning
  3. Pasos de flujo de Salesforce
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregar una pantalla para mostrar el componente personalizado Búsqueda de cuenta y Área de texto enriquecido
    3. Agregue un elemento de registros de actualización para actualizar una cuenta
  4. Agregue un flujo de pantalla a la página de inicio de Lightning

Paso 1: crear un campo de área de texto personalizado (enriquecido) en el objeto de cuenta

  1. Haga clic en Configuración .
  2. En el Administrador de objetos, escriba Cuenta .
  3. Seleccione Campos y relaciones , luego haga clic en Nuevo .
  4. Seleccione Área de texto (enriquecida) como tipo de datos y, a continuación, haga clic en Siguiente .
  5. Ingrese Etiqueta de campo y haga clic en la tecla de tabulación, se completará el nombre de la API .
  6. Como práctica recomendada, siempre ingrese una descripción .
  7. # Líneas visibles : 25
  8. Longitud : 32.768
  9. Configure la Seguridad a nivel de campo para los perfiles , asegúrese de configurar este campo como de solo lectura.
  10. No agregue este campo al diseño de página .
  11. Haga clic en Guardar.

Paso 2: Cree un componente de área de texto enriquecido para el flujo de pantalla utilizando el componente web Lightning

En primer lugar, cree un componente web Lightning de área de texto enriquecido con el siguiente código. Si no sabe cómo crear un componente Lightning, consulte esta guía para desarrolladores Crear un componente web Lightning .

ScreenFlowRichText.html

ScreenFlowRichText.js

ScreenFlowRichText.js-meta.xml

ScreenFlowRichText.css

Copie el código de GitHub o instálelo usando esta URL .

Paso 3.1: 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 de pantalla   opción y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 3.2: agregue una pantalla para mostrar la búsqueda de cuentas y el componente personalizado del área de texto enriquecido

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta , el nombre de la API se completará automáticamente.
  3. Mira el video para obtener instrucciones paso a paso y algunos consejos.

Paso 3.3: Agregar acción: actualizar registros

El siguiente paso es actualizar el registro de la cuenta para almacenar la nota de venta. Usaremos los registros de actualización   elemento.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Actualizar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para obtener información sobre cómo encontrar registros para actualizar y establecer sus valores , seleccione Especificar condiciones para identificar registros y establecer campos individualmente.
  4. Objeto : Cuenta
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Identificación
      2. Operador : Igual
      3. Valor : {!Cuenta.recordId}
  7. Establecer valores de campo para los registros de oportunidad
    1. Fila 1:
      1. Campo : Sales_Note__c
      2. Valor : {!SalesNote.fieldValue}
  8. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Área de texto enriquecido {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Paso 4: agregue un flujo de pantalla a la página de inicio de Lightning

El siguiente paso es distribuir un flujo a los usuarios de la aplicación Lightning Experience o Salesforce incrustándolo en una página de inicio de Lightning.

Prueba de concepto

Mira el video para obtener instrucciones paso a paso.

[contenido incrustado]

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/06/10/rich-text-area-component-for-screen-flow-2/

Categories
Developers

Eliminar duplicados de variables de recopilación de registros en un flujo

Última actualización el 7 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo elimina los duplicados de las variables de colección de registros o las variables de colección en flujo sin escribir código?

Objetivos:

Después de leer este blog, podrá:

  • Comprender los diferentes operadores de flujo en el elemento de asignación
  • Comprender cómo eliminar registros comunes b/w variables de recopilación de registros (1 y 2) y almacenar los registros restantes de la variable de recopilación de registros (1)
  • Comprender cómo eliminar registros poco comunes en las variables de recopilación de registros (1 y 2) y almacenar registros duplicados en la variable de recopilación de registros (1)
  • Comprender cómo eliminar registros duplicados de las variables de colección de registros (1 y 2) y almacenar solo registros únicos
  • Comprender cómo eliminar registros duplicados de ambas (1 y 2) variables de recopilación de registros y almacenar solo los registros restantes en ambas variables de recopilación de registros
  • y mucho más

Una de las preguntas más comunes que me hace la gente es cómo eliminar los registros duplicados si tengo dos o más variables de colección de registros. Este artículo analizará varios casos de uso para comprender cómo eliminar los duplicados de las variables de la colección de registros.

Requisito previo

Antes de discutir los diferentes casos de uso, hagamos una pausa aquí y dediquemos un tiempo a configurar los datos.

Continúe y configure los datos de prueba según la siguiente captura de pantalla. La configuración de los datos de prueba facilita la comprensión de la eliminación de registros duplicados de las variables de recopilación de registros en lugar de perder tiempo validando los resultados.

El siguiente paso es configurar un flujo básico para tener dos variables de recopilación de registros de contactos con diferentes parámetros de consulta.

Paso 1: 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 de pantalla   opción y haga clic en Siguiente   y configurar el flujo de la siguiente manera:
    1. ¿Cómo quieres empezar a construir ?: Forma libre
  5. Se abrirá el diseñador de flujo para usted.

Paso 2: agregar un elemento Obtener registro para buscar contactos donde Departamento = TI

El siguiente paso es utilizar el elemento Obtener registros para buscar los contactos cuyo departamento es TI.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Contacto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Departamento
      2. Operador : Igual
      3. Valor : TI
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 3: Adición de un elemento Obtener registro para buscar contactos donde Origen del cliente potencial = Web

El siguiente paso es usar el elemento Obtener registros para encontrar los contactos cuyo origen de prospectos es Web.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Contacto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : fuente de prospectos
      2. Operador : Igual
      3. Valor : Internet
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Al final, su Flujo se verá como la siguiente captura de pantalla:

Ahora, dos variables de recopilación de registros contienen los siguientes datos.

Variable de recopilación de registros (contactos del departamento de TI) – 1

ID de registro Apellido
003B000000KI9sxIAD 2
003B000000KI9t2IAD 3
003B000000KI9t7IAD 4
003B000000KI9tCIAT 5

Variable de recopilación de registros (contactos del departamento de TI) – 2

ID de registro Apellido
003B000000KI9snIAD 1
003B000000KI9sxIAD 2
003B000000KI9t2IAD 3
003B000000KI9tHIAT 6
003B000000KI9tMIAT 7

Caso de uso comercial I

Jason Herr es arquitecto de soluciones en Gurukul on Cloud (GoC) . Quiere entender cómo eliminar registros poco comunes en las variables de recopilación de registros (1 y 2) y almacenar los registros restantes de la variable de recopilación de registros (1).

Al final, espera los siguientes registros en Variable de recopilación de registros (Contactos del departamento de TI) .

Variable de recopilación de registros (contactos del departamento de TI)

ID de registro Apellido
003B000000KI9t7IAD 4
003B000000KI9tCIAT 5

Una solución para el requisito comercial anterior

Este es un escenario muy común para Salesforce Flow. Intentemos entender el operador Quitar todo en el elemento de asignación.

Operador Descripción Tipos de datos admitidos Ejemplo
Eliminar todo Todas las instancias de Value se eliminan de la colección en Variable. Colección del mismo tipo de datos o tipo de objeto

Variable del mismo tipo de dato o variable de registro del mismo tipo de objeto

Solo para colecciones de texto:

  • Lista de selección múltiple
  • lista de selección
  • $Flow.CurrentRecord
Antes de la Asignación:

  • {!collText} es Red, Orange, Red, Yellow
  • {!varText} es Red

Tarea: {!collText} Eliminar todo {!varText}

Después de la tarea: {!collText} es Orange, Yellow

Uso del elemento de asignación para eliminar todo

El siguiente paso es eliminar los registros comunes entre las variables de recopilación de registros (1 y 2) y almacenar los registros restantes de la variable de recopilación de registros (1). Usaremos la Asignación   elemento

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Asignación .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Establecer valor variable
    1. Fila 1:
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Eliminar todo
      3. Valor : {!Web_Sourced_Contacts}
  4. Haga clic en Listo .

Ahora su flujo se verá como la siguiente captura de pantalla:

¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Guardar .

Depuremos el flujo para validar el resultado y compararlo con el resultado esperado:

Caso de uso comercial II

Jason Herr estaba muy contento con sus aprendizajes hasta el momento. Quiere aprender a eliminar registros poco comunes en las variables de recopilación de registros (1 y 2) y almacenar registros duplicados en la variable de recopilación de registros (1)

Al final, espera los siguientes registros en Variable de recopilación de registros (Contactos del departamento de TI) .

Variable de recopilación de registros (contactos del departamento de TI)

ID de registro Apellido
003B000000KI9sxIAD 2
003B000000KI9t2IAD 3

Una solución para el requisito comercial anterior

Este es un escenario muy común para Salesforce Flow. Tratemos de entender el operador Remove Uncommon en el elemento de asignación.

Operador Descripción Tipos de datos admitidos Ejemplo
Quitar poco común Los elementos de la colección Value se encuentran dentro de la colección Variable. Los elementos encontrados se conservan y todos los demás elementos se eliminan de la colección en Variable. Colección del mismo tipo de datos o tipo de objeto Antes de la Asignación:

  • {!collText1} es Red, Orange, Yellow, Green
  • {!collText2} es Orange, Green, Blue

Tarea: {!collText1} Eliminar poco común {!collText2}

Después de la tarea: {!collText1} es Orange, Green

Actualizar elemento de asignación para eliminar poco común

El siguiente paso es eliminar los registros poco comunes en las variables de recopilación de registros (1 y 2) y almacenar los registros duplicados en la variable de recopilación de registros (1). Usaremos la Asignación   elemento

  1. Actualice el elemento Asignación .
  2. Establecer valor variable
    1. Fila 1:
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Quitar Poco Común
      3. Valor : {!Web_Sourced_Contacts}
  3. Haga clic en Listo .

¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Guardar .

Depuremos el flujo para validar el resultado y compararlo con el resultado esperado:

Caso de uso empresarial III

Jason Herr quiere aprender a eliminar registros duplicados de las variables de colección de registros (1 y 2) y almacenar solo registros únicos.

Al final, espera los siguientes registros en Variable de recopilación de registros (Contactos del departamento de TI) .

Variable de recopilación de registros (contactos del departamento de TI)

ID de registro Apellido
003B000000KI9snIAD 1
003B000000KI9sxIAD 2
003B000000KI9t2IAD 3
003B000000KI9t7IAD 4
003B000000KI9tCIAT 5
003B000000KI9tHIAT 6
003B000000KI9tMIAT 7

Una solución para el requisito comercial anterior

Este es un escenario muy común para Salesforce Flow. Realice los pasos a continuación:

Actualizar elemento de asignación para mantener registros únicos

El siguiente paso es eliminar los registros duplicados de las variables de la colección de registros (1 y 2) y almacenar solo los registros únicos. Usaremos la Asignación   elemento

  1. Actualice el elemento Asignación .
  2. Establecer valor variable
    1. Fila 1 :
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Eliminar todo
      3. Valor : {!Web_Sourced_Contacts}
    2. Haga clic en Agregar tarea
    3. Fila 2 :
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Agregar
      3. Valor : {!Web_Sourced_Contacts}
  3. Haga clic en Listo .

¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Guardar .

Depuremos el flujo para validar el resultado y compararlo con el resultado esperado:

Caso de uso empresarial IV

Jason Herr desea aprender a eliminar registros duplicados de ambas (1 y 2) variables de recopilación de registros y almacenar solo los registros restantes en ambas variables de recopilación de registros.

Al final, espera los siguientes registros en Variable de recopilación de registros (Contactos del departamento de TI) .

Variable de recopilación de registros (contactos del departamento de TI)

ID de registro Apellido
003B000000KI9snIAD 1
003B000000KI9t7IAD 4
003B000000KI9tCIAT 5
003B000000KI9tHIAT 6
003B000000KI9tMIAT 7

Una solución para el requisito comercial anterior

Este es un escenario muy común para Salesforce Flow. Realice los pasos a continuación:

Flujo de Salesforce: cree una variable de colección para almacenar contactos

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para almacenar varios registros de contactos.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Variable
    2. Nombre de API : varR_ContactsPlaceholder
    3. Tipo de datos : Registro
    4. Objeto : Contacto
    5. Haga clic en la casilla de verificación Permitir múltiples valores (colección)
    6. Comprobar disponible para entrada
    7. Comprobar disponible para la salida
  3. Haga clic en Listo .

Actualizar elemento de asignación para mantener registros únicos

El siguiente paso es eliminar los registros comunes de ambas (1 y 2) variables de recopilación de registros y almacenar solo los registros restantes en ambas variables de recopilación de registros. Usaremos la Asignación   elemento

  1. Actualice el elemento Asignación .
  2. Establecer valor variable
    1. Fila 1 :
      1. Campo : {!varR_ContactsPlaceholder}
      2. Operador : Agregar
      3. Valor : {!IT_Dept_Contacts}
    2. Haga clic en Agregar tarea
    3. Fila 2 :
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Agregar
      3. Valor : {!Web_Sourced_Contacts}
    4. Haga clic en Agregar tarea
    5. Fila 3 :
      1. Campo : {!varR_ContactsPlaceholder}
      2. Operador : Quitar Poco común
      3. Valor : {!Web_Sourced_Contacts}
    6. Haga clic en Agregar tarea
    7. Fila 4 :
      1. Campo : {!IT_Dept_Contacts}
      2. Operador : Eliminar todo
      3. Valor : {!varR_ContactsPlaceholder}
  3. Haga clic en Listo .

¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Guardar .

Depuremos el flujo para validar el resultado y compararlo con el resultado esperado:

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/06/07/remove-duplicates-from-record-collection-variables-in-a-flow-2/

Categories
Developers

Escáner de código de barras para el flujo de pantalla con la API de BarcodeScanner

Última actualización el 8 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo escanear y procesar un código de barras de Screen Flow?

Objetivos:

Después de leer este blog, podrá:

  • Utilice la API BarcodeScanner en el componente web Lightning
  • Crear un componente web Lightning para flujo de pantalla con un editor de propiedades personalizado
  • Agregar un componente web Lightning al flujo de pantalla
  • Obtenga el resultado del escáner de código de barras y cree un caso
  • y mucho más

Rachel Gillett trabaja como desarrolladora junior en Gurukul on Cloud (GoC). Ella recibió un requerimiento de la gerencia que requiere que él cree un componente web Lightning para el flujo de pantalla para escanear el código de barras y luego usar el resultado del código de barras para crear un caso en Salesforce.

¿Qué es un escáner de código de barras y cómo funciona?

El escáner de código de barras no hace más que escanear un código de barras, interpretar y decodificar los datos del código de barras y enviar los datos a un dispositivo (teléfono inteligente o tableta) que tiene una aplicación que procesará los datos.

¿Qué es una API de escáner de código de barras?

BarcodeScanner es un módulo de JavaScript que proporciona una API a los componentes web Lightning para hacer que la función de plataforma (sistema operativo) y hardware móvil esté disponible en JavaScript. Requiere acceso al hardware del dispositivo y a las API de la plataforma del dispositivo.

Este acceso solo está disponible cuando BarcodeScanner se ejecuta dentro de una aplicación móvil Salesforce compatible. No funciona ni puede funcionar cuando se ejecuta en un navegador web, ya sea que el navegador se ejecute en una computadora de escritorio o en un dispositivo móvil.

¿La API Barcode Scanner puede leer todos los códigos de barras?

Hay dos clases de códigos de barras: 1D y 2D. Los códigos 1D, como el código UPC, suelen ser espacios en blanco y negro de ancho variable. Los códigos 2D, como los códigos QR y Data Matrix, usan cuadrados, hexágonos y otras formas para almacenar datos.

No todos los escáneres de códigos de barras pueden leer todos los códigos de barras, el mismo principio se aplica a BarcodeScanner API. BarcodeScanner puede reconocer las siguientes simbologías de códigos de barras estándar.

Simbología de código de barras Tipo de escáner de código de barras
Código 128 CODE_128
Código 39 CODE_39
Código 93 CODE_93
Matriz de datos DATA_MATRIX
EAN-13 / GTIN-13 EAN_13
EAN-8 / GTIN-8 EAN_8
Intercalado 2 de 5 ITF
PDF417 PDF_417
Código QR QR
UPC-E / GTIN-12 UPC_E

BarcodeScanner está disponible en aplicaciones Lightning distribuidas mediante:

  • Aplicación móvil Salesforce
  • Editor móvil para Salesforce
  • Publicador móvil para comunidades

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario empresarial anterior . Usaremos Flow para resolver el requisito. Consulte este artículo para comprender por qué estamos utilizando el flujo desencadenado por registro posterior al guardado para este escenario.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Rachel usando Screen Flow . Debemos:

  1. Cree un componente de flujo de pantalla de escaneo de código de barras utilizando el componente web lightning
  2. Pasos de flujo de Salesforce
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una variable de texto para almacenar el resultado del escáner de código de barras
    3. Agregue una variable de texto para almacenar la identificación del registro
    4. Agregue una pantalla para mostrar el componente web Lightning del escáner de código de barras
    5. Agregar un elemento de creación de registros para crear un caso
  3. Agregar un flujo de pantalla a la página de registro de contacto

Paso 1: Cree un componente de flujo de pantalla de escaneo de código de barras utilizando el componente web Lightning

En primer lugar, cree un componente web Lightning de escáner de código de barras con el siguiente código. Si no sabe cómo crear un componente Lightning, consulte esta guía para desarrolladores Crear un componente web Lightning .

BarcodeScannerScreenFlow.html

código de barrasScannerScreenFlow.js

BarcodeScannerScreenFlow.js-meta.xml

código de barrasScannerScreenFlow.css

Copie el código de GitHub . El código de muestra se toma de la guía para desarrolladores de Salesforce para la API de Barcode Scanner.

Paso 2.1: 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 de pantalla   opción y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 2.2: Cree una variable de texto para almacenar el resultado del escáner de código de barras

El propósito de crear una variable de texto es almacenar el resultado del escáner de código de barras.

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para almacenar la URL base de la organización.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Variable
    2. Nombre de la API : varT_barcodeResult
    3. Tipo de datos : Texto
    4. Valor predeterminado: {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo .

Paso 2.3: Cree una variable de texto para almacenar la identificación del registro

El propósito de crear una variable de texto es almacenar la identificación del registro actual.

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para almacenar la URL base de la organización.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Variable
    2. Nombre de la API : varT_recordId
    3. Tipo de datos : Texto
    4. Valor predeterminado: {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo .

Paso 2.4: agregue un elemento de pantalla para mostrar el componente web Lightning del escáner de código de barras

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta , el nombre de la API se completará automáticamente.
  3. En la sección Entrada en Elemento de pantalla , arrastre y suelte el componente personalizado de BarcodeScanner en la pantalla.
  4. Ingrese la siguiente información :
    1. Nombre de API : Escáner de código de barras
    2. Código del botón (código hexadecimal) : # 800080
    3. Etiqueta del botón : Escanear código de barras
  5. Avanzado
    1. Marque Asignar variables manualmente
    2. Resultado del código de barras: {!varT_barcodeResult}
  6. Haga clic en Listo .

Paso 2.5: Agregue el elemento Crear registros para crear un caso

El paso final es crear un caso. Para ello, utilizaremos el elemento Crear registros .

  1. En Flow Designer, debajo del nodo Ejemplo de código de barras, haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Caso
    4. Establecer valores de campo para el caso
    5. Fila 1:
      1. Campo : Origen
      2. Valor : Internet
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : Estado
      2. Valor : Nuevo
    8. Haga clic en Agregar campo
    9. Fila 3:
      1. Campo : Tipo
      2. Valor : Otro
    10. Haga clic en Agregar campo
    11. Fila 4:
      1. Campo : Descripción
      2. Valor : creado a partir del escaneo del código de barras para el producto {!varT_barcodeResult}
    12. Haga clic en Agregar campo
    13. Fila 5:
      1. Campo : ID de contacto
      2. Valor : {!varT_recordId}
  4. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Usar código de barras en el flujo de pantalla {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Paso 3: agregue un flujo de pantalla a la página de registro de contacto

El siguiente paso es distribuir un flujo a los usuarios de la aplicación Lightning Experience o Salesforce incrustándolo en una página de registro de Lightning para objetos de contacto.

Prueba de concepto

A partir de ahora, cuando un usuario empresarial escanee un código de barras y haga clic en el botón Finalizar, el flujo creará automáticamente un caso .

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/06/08/barcode-scanner-for-screen-flow-using-the-barcodescanner-api-2/

Categories
Developers Salesforce

Agregar automáticamente miembro del equipo de oportunidades al seguidor de oportunidades

Última actualización el 7 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puede agregar automáticamente miembros del equipo de oportunidades a un seguidor en una oportunidad?

Objetivos:

Después de leer este blog, podrá:

  • Trabajar con el elemento obtener registros para encontrar el registro
  • Utilice el elemento de decisión para comprobar los valores de registro
  • Use el elemento de creación de registros para agregar automáticamente seguidores a una oportunidad
  • y mucho más

Rachel Gillett trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Ha recibido un requisito de la administración de que si se agrega un nuevo usuario al equipo de Oportunidad, entonces se agrega automáticamente al usuario como seguidor de Oportunidad.

Enfoque de Campeón de Automatización (I-do):

Un equipo de oportunidad es un conjunto de usuarios que normalmente trabajan juntos en una oportunidad . Un equipo de oportunidades típico podría incluir al administrador de cuentas, al representante de ventas y a un consultor de preventa . En Salesforce, un usuario puede seguir grupos de Chatter o Registros . A partir de ahora, Salesforce no tiene ninguna funcionalidad lista para usar para realizar un seguimiento automático de los registros cuando se agrega un usuario a un equipo, etc. , aparte de Seguir automáticamente los registros que creo .

Hay algunas soluciones posibles para el escenario empresarial anterior . Usaremos Flow para resolver el requisito. Consulte este artículo para comprender por qué estamos utilizando el flujo desencadenado por registro posterior al guardado para este escenario.

Hagamos una pausa aquí y familiarícese con el objeto EntitySubscription en Salesforce. Representa una suscripción para un usuario que sigue un registro u otro usuario. Un usuario puede suscribirse a un registro oa otro usuario.

Nombre del campo Detalles
Identificación de los padres El ID del registro o usuario que el usuario está siguiendo
Identificación de suscriptor El ID del Usuario que está siguiendo el registro o usuario

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 5 pasos para resolver el requisito empresarial de Rachel mediante Record-triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Fórmula para determinar si el registro se crea o actualiza
  3. Agregue un elemento de obtención de registros para encontrar los detalles del seguidor del miembro actual del equipo
  4. Agregue un elemento de decisión para verificar si el miembro del equipo está siguiendo el registro de oportunidad o no
  5. Agregue un elemento de creación de registros para agregar el miembro del equipo de oportunidades al seguidor de oportunidades

Paso 1: 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 registro opción, haga clic en Crear
    1. Objeto : miembro del equipo de oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: fórmula para determinar si el registro se crea o actualiza

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. Haga clic en Listo .

Paso 3: agregar un elemento Obtener registro para encontrar los detalles del seguidor de oportunidades para el miembro actual del equipo

El siguiente paso es usar el objeto EntitySubscription para verificar si el miembro del equipo de Oportunidad ya está siguiendo la Oportunidad o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Suscripción de entidad de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de padre
      2. Operador : Igual
      3. Valor : {!$Record.OpportunityId}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo : ID de suscriptor
      2. Operador : Igual
      3. Valor : {!$Record.UserId}
  6. Cuántos registros almacenar:
    1. Seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 4: uso del elemento de decisión para verificar si el miembro del equipo está siguiendo el registro de oportunidad o no

Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 3 para ver si devuelve el estado de seguidor de registro para el miembro del equipo de oportunidad actual o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo : {!Get_Follower}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 5: Crear registros: agregar un miembro del equipo de oportunidades a un seguidor de oportunidades

Para agregar un miembro del equipo de oportunidades a Record Follower , usaremos el elemento Create Records .

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Suscripción de entidad
    4. Establecer valores de campo para la suscripción de entidad
    5. Fila 1:
      1. Campo : ID de padre
      2. Valor : {!$Record.OpportunityId}
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : ID de suscriptor
      2. Valor : {!$Record.UserId}
  4. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : agregar automáticamente miembro del equipo de oportunidad a seguidor de oportunidad {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

  1. Navegue a la pestaña Oportunidad , identifique la Oportunidad y haga clic en Nombre de la Oportunidad.
  2. Ahora voy a agregar al usuario Nathan Gilmore al miembro del equipo de oportunidades , como se muestra en la siguiente captura de pantalla. Una vez que se haya agregado como miembro del equipo de la oportunidad, se agregará automáticamente como seguidora de la oportunidad.

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/06/07/auto-add-opportunity-team-member-to-opportunity-follower-5/

Categories
Developers

Agregar miembro automáticamente al equipo de cuenta predeterminado del nuevo usuario

Última actualización el 2 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puede agregar automáticamente un usuario específico al equipo de cuenta predeterminado del nuevo usuario?

¿Qué tan bueno sería si Salesforce agregara automáticamente un usuario (usuario especificado) al Equipo de cuenta predeterminado para cada nuevo usuario? Bueno, podemos engatusar a Salesforce para que haga exactamente eso aprovechando Salesforce Flow.

Un equipo de cuenta es un conjunto de usuarios que normalmente trabajan juntos en una cuenta . Un equipo de cuenta típico puede incluir un gerente de cuenta, un representante de ventas, un asesor legal, etc. En Salesforce, un usuario puede definir Equipo de cuenta en dos lugares de la siguiente manera:

1. Defina el equipo de cuenta predeterminado en el registro del usuario.

Si un usuario selecciona la casilla de verificación Agregar automáticamente mi equipo de cuenta predeterminado a las cuentas que creo o las cuentas que se me transfieren , Salesforce agregará automáticamente los miembros del equipo de la cuenta predeterminada a una nueva cuenta .

2. Agregue manualmente los miembros al equipo de cuentas para cada nuevo registro de cuenta .

Una vez que un nuevo usuario inicia sesión correctamente en Salesforce, la siguiente tarea es configurar las preferencias de correo electrónico y agregar miembros a la cuenta predeterminada y los equipos de oportunidades . Aunque las organizaciones tienen capacitación de incorporación para nuevos usuarios, a veces, un usuario puede perderse la configuración crítica. Si es así, ¿por qué no aprovechar Process Builder y/o Visual Workflow para evitar tales percances? Veamos cómo comenzar a trabajar de manera más inteligente abordando un caso de uso empresarial.

Objetivos:

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

  • Comprenda UserAccountTeamMember y cómo usarlo.
  • Cree un flujo activado por registro para agregar automáticamente miembros al equipo de cuenta predeterminado del usuario.
  • Aprenda a usar un elemento de decisión para encontrar si una variable de registro, o una variable de colección de registros, contiene un registro.
  • Y, por último, pero no menos importante, descubra cómo usar el elemento Crear registros para crear un registro.

Martin Jones trabaja como administrador de sistemas en Gurukul on Cloud (GoC) . En GoC utilizan el equipo de cuentas para rastrear fácilmente la colaboración en las cuentas. Tienen un asesor legal ( Sarika Gupta ) que los ayuda en el aspecto legal de todos los tratos. Martin ha recibido dos requisitos de la alta dirección:

  1. Agregue Sarika Gupta, un asesor legal, al equipo de cuenta predeterminado, en el registro del nuevo usuario. De modo que, cuando el propietario de una cuenta haga clic en Agregar equipo predeterminado (usando el botón disponible en la lista relacionada Equipo de cuenta) o seleccione la casilla Agregar automáticamente mi equipo de cuenta predeterminado a las cuentas que creo o las cuentas que se me transfieran , se agregará Cuenta predeterminada Miembros del equipo a Equipo de cuenta en un registro de cuenta.
  2. Agregar asesores legales (todos los usuarios con perfil de asesor legal) a nuevas cuentas (Esto funcionaría en los casos en que un usuario no seleccione la casilla Agregar automáticamente mi equipo de cuenta predeterminado a las cuentas que creo o las cuentas que me transfieren ) . Blog 146

Querían otorgar el siguiente acceso al Asesor legal como se indica a continuación:

  • Cuenta :- Leer
  • Contacto :- Leer
  • Caso :- Privado
  • Oportunidad :- Leer

Enfoque de Campeón de Automatización (I-do):

Voy a discutir el primer requisito en esta publicación de blog. Para el segundo requisito, consulte este artículo Agregar miembros automáticamente al equipo de cuentas .

Hay algunas soluciones posibles para el escenario comercial anterior, pero usaré el flujo activado por registro después de guardar para resolver el requisito comercial.

Antes de continuar, comprendamos las características de un objeto UserAccountTeamMember : representa a un usuario en el equipo de cuenta predeterminado de otro usuario.

Nombre del campo Detalles
ID de propietario El ID del usuario que posee el equipo de cuenta predeterminado.
EquipoMiembroRol La función que tiene el miembro del equipo en las oportunidades para las que el usuario ha agregado su equipo de cuenta predeterminado.
ID de usuario la identificación del usuario que es miembro del equipo de cuenta predeterminado.
Nivel de acceso a la cuenta / Nivel de acceso al caso /

Nivel de acceso de contacto / Nivel de acceso de oportunidad

Nivel de acceso que tiene el Usuario a la Cuenta, Caso, Contacto y Oportunidad. Los valores posibles son:

  • Leer
  • Editar
  • Todos

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 6 pasos para resolver el requisito comercial de Martin mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Crear una fórmula para determinar si el registro se crea o actualiza
  3. Agregue un elemento de decisión para verificar si el usuario está creado y activo
  4. Agregue un elemento de registro para encontrar los detalles del asesor legal (Sarika Gupta)
  5. Agregue un elemento de decisión para verificar si se encontró un asesor legal o no (del paso 4)
  6. Agregue un elemento de creación de registros para agregar un asesor legal (Sarika Gupta) al equipo de cuenta predeterminado del nuevo usuario

Paso 1: 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 registro opción, haga clic en Crear
    1. Objeto : Usuario
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: fórmula para determinar si el usuario está creado o actualizado

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. Haga clic en Listo .

Paso 3: uso del elemento de decisión para verificar si el usuario está creado y activo

Ahora usaremos el elemento Decisión para verificar si la cuenta de usuario se acaba de configurar y está activa.
  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la Etiqueta; el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.IsActive}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
    2. Haga clic en Agregar condición
    3. Fila 2 :
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}

Paso 4: agregar un elemento Obtener registro para buscar un usuario de asesor legal (Sarika Gupta)

Para encontrar los detalles del perfil del asesor legal , utilizaremos el elemento Obtener registros .

  1. En Flow Designer, debajo del nodo Creado , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Usuario de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Nombre
      2. Operador : Igual
      3. Valor : Sarika Gupta
    2. Haga clic en Agregar condición
    3. Fila 2 :
      1. Campo: EstáActivo
      2. Operador: Igual
      3. Valor: {!$ConstanteGlobal.True}
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 5: uso del elemento de decisión para verificar si se encontró o no un asesor legal (del paso 4)

Ahora, usará el elemento Decisión para verificar si el elemento Obtener registros anterior devuelve un registro de usuario o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Legal_Advisor}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 6: agregue el elemento Crear registros para agregar un miembro al equipo de cuenta predeterminado del nuevo usuario

El paso final es agregar un miembro al equipo de cuenta predeterminado para nuevos usuarios. Para ello, utilizaremos el elemento Crear registros .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : miembro del equipo de cuenta de usuario
    4. Establecer valores de campo para el miembro del equipo de la cuenta de usuario
    5. Fila 1:
      1. Campo : ID de propietario
      2. Valor : {!$Record.Id}
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : ID de usuario
      2. Valor : {!Get_Legal_Advisor.Id}
    8. Haga clic en Agregar campo
    9. Fila 3:
      1. Campo : Rol del miembro del equipo
      2. Valor : Asesor Legal
    10. Haga clic en Agregar campo
    11. Fila 4:
      1. Campo : nivel de acceso a la cuenta
      2. Valor : Leer
    12. Haga clic en Agregar campo
    13. Fila 5 :
      1. Campo : Nivel de acceso de contacto
      2. Valor : Leer
    14. Haga clic en Agregar campo
    15. Fila 6 :
      1. Campo : NivelAccesoCaso
      2. Valor : Privado
    16. Haga clic en Agregar campo
    17. Fila 7 :
      1. Campo : OpportunityAccessLevel
      2. Valor : Leer
  4. 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:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Agregar miembro automáticamente al equipo de cuenta predeterminado del nuevo usuario {!$Flow.CurrentDateTime}
  6. 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 el administrador del sistema cree un usuario, el flujo activado por registros que creamos se activará y agregará a Sarika Gupta al equipo de cuenta predeterminado del usuario .

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/06/01/auto-add-member-to-new-users-default-account-team-3/

Categories
Developers

¿Alguna vez ha necesitado seleccionar varios valores de listas de selección en el flujo? ¿Qué tal a través de una sola condición?

Última actualización el 2 de junio de 2022 por Rakesh Gupta

Salesforce Flow es una de las herramientas más poderosas proporcionadas por Salesforce para implementar requisitos comerciales de forma declarativa . ¡ Hasta la fecha, he escrito más de 200 flujos solo para mis publicaciones de blog!

Salesforce Flow ayuda a las empresas a ahorrar tiempo y dinero al implementar soluciones rápidamente. La implementación de Salesforce Flow es sencilla: crea un flujo; lo prueba ; y luego, use el conjunto de cambios para implementarlo en producción. La mejor parte es que no tiene que escribir clases de prueba para sus flujos.

¡Pero existen pocas limitaciones de Salesforce Flow frente a Workflow! ¡Sí! ¡Has leído bien ! ¡El flujo de trabajo tiene ventaja al definir los criterios de regla!

Permítame desentrañar este misterio ofreciendo un ejemplo: como administrador del sistema, recibe un requisito para crear automáticamente un registro de Cotización cada vez que la Etapa de oportunidad es Propuesta/Cotización de precio o Negociación/Revisión .

Para lograr el requisito comercial anterior, a través de una regla de flujo de trabajo , puede hacer algo similar a lo que se muestra en la siguiente captura de pantalla:

Pero para lograr el mismo requisito a través de Record-Triggered Flow , puede hacer algo similar a lo que se muestra en la siguiente captura de pantalla:

Si creó un Flujo desencadenado por registros con Salesforce Flow antes de esa fecha, sabe cómo configuro dos valores para la lista de selección Etapa. Pero, para aquellos que son relativamente nuevos en Salesforce Flow, permítanme guiarlos a través del flujo paso a paso. La regla de flujo de trabajo le permite seleccionar varios valores para una lista de selección. Si observa la captura de pantalla de la regla de flujo de trabajo, he elegido (definido) el valor de la lista de selección en una sola línea usando comas (,).

Pero si intenta lograr lo mismo usando Record-triggered Flow , no funcionará. A diferencia de las reglas de flujo de trabajo, no se puede desarrollar un criterio de regla para seleccionar múltiples valores de listas de selección, en un solo trazo, utilizando flujo activado por registro . Para obtener una explicación detallada, consulte el siguiente artículo publicado por Salesforce : CONTIENE con varios valores separados por comas no activa un Flujo .

La solución sugerida por Salesforce (es la misma que he usado en la captura de pantalla de Process Builder) es buena para el caso de uso comercial simple. Pero, ¿qué pasa con un requisito complicado en el que debe tener en cuenta otras cosas (como Cantidad> $ 1000 y Fecha de cierre> Hoy) al definir los criterios de entrada de flujo?

¡¡Puaj!! ¡Qué pesadilla! ¡Propenso a errores y un enorme dolor de cabeza!

Ya que, en los escenarios antes mencionados, usará varias declaraciones Y/O, como hice en la captura de pantalla anterior : (1 O 2) Y 3 Y 4.

Gracias a los usuarios de gran talento del blog Automationchampion.com por sus comentarios constructivos y, especialmente, por desafiarme a encontrar una solución simplificada para el problema antes mencionado. ¡Pues reto aceptado!

En este artículo, voy a compartir mis trucos para resolver el caso de uso comercial anterior utilizando una fórmula simple. Comencemos con un caso de uso empresarial.

Edward Backhouse trabaja como administrador de sistemas en GurukulOnCloud . En GurukulOnCloud están utilizando el flujo activado por registros para agilizar los procesos de ventas. Hoy, Edward recibió un requisito para crear automáticamente un registro de cotización, tan pronto como una oportunidad cumpla con las siguientes condiciones:

  • Etapa = Propuesta/Cotización de precio o Negociación/Revisión
  • Cantidad > 1,000
  • Fecha de cierre > Hoy

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario empresarial anterior, pero usaré el flujo activado por registro después de guardar para resolver el requisito empresarial. Dediquemos un tiempo a comprender la fórmula Case en Salesforce y cómo usarla.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 4 pasos para resolver el requisito empresarial de Edward mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Cree una fórmula para determinar si la etapa coincide
  3. Agregue un elemento de decisión para verificar los criterios de etapa, cantidad y fecha de cierre
  4. Agregue un elemento de creación de registros para crear una cotización

Paso 1: 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 registro opción, haga clic en Crear
    1. Objeto : Oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: fórmula para determinar si StageName coincide

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de la API : forT_StageName
    3. Tipo de datos : Texto
    4. Fórmula :
      1. CASE({!$Record.StageName} ,
        “Propuesta/Cotización de precio”, “Verdadero”,
        “Negociación/Revisión”, “Verdadero”,
        "Falso"
        )
  3. Haga clic en Listo .

Paso 3: uso del elemento de decisión para verificar los criterios de etapa, cantidad y fecha de cierre

Ahora usaremos el elemento Decisión para verificar si el nombre de la etapa, la fecha de cierre y la cantidad se describen en el requisito.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Arrastre y suelte el elemento Decisión en el diseñador de flujo.
  3. Introduzca 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 condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!forT_StageName}
      2. Operador: Igual
      3. Valor: Verdadero
    2. Haga clic en Agregar condición
    3. Fila 2 :
      1. Recurso : {!$Record.Amount}
      2. Operador : mayor que
      3. Valor : 1000
    4. Haga clic en Agregar condición
    5. Fila 3 :
      1. Recurso : {!$Record.CloseDate}
      2. Operador : mayor que
      3. Valor : {!$Flow.CurrentDate}
  6. Haga clic en Listo .

Paso 4: agregue el elemento Crear registros para crear una cotización

El paso final es crear un registro de cotización. Para ello, utilizaremos el elemento Crear registros .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Cita
    4. Establecer valores de campo para la cotización
    5. Fila 1:
      1. Campo : Estado
      2. Valor : Borrador
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : ID de oportunidad
      2. Valor : {!$Record.Id}
    8. Haga clic en Agregar campo
    9. Fila 3:
      1. Campo : Nombre
      2. Valor : {!$Registro.Nombre}
  4. Haga clic en Listo .

Al final, Edward's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Usar fórmula en el flujo   {!$Flow.CurrentDateTime}
  6. 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 el usuario cree o actualice los registros de Oportunidad, el flujo que creamos (usando el flujo desencadenado por registro) se activará y verificará los criterios. Si cumple con los criterios establecidos, el flujo activado por registro creará un registro de Cotización, como se muestra en el siguiente video:

¡Espero que pueda aprender del blog cómo seleccionar múltiples valores de listas de selección utilizando Salesforce Flow! ¡Sí adelante! ¡Muestre sus habilidades recién adquiridas a sus amigos, colegas y familiares!

Bromas aparte, dominar estas habilidades mejorará su productividad y lo impulsará a probar varias permutaciones y combinaciones para incorporar la automatización en sus procesos y procedimientos cotidianos.

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/06/02/ever-needed-to-select-multiple-picklist-values-in-flow/

Categories
Developers

Crear automáticamente un caso a partir de la palabra clave utilizada en Chatter

Última actualización el 2 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puede crear automáticamente un caso a partir de una publicación de Chatter si incluye una palabra clave específica?

Objetivos:

Después de leer este blog, podrá:

  • Comprender qué son los tipos de metadatos personalizados y cuándo se deben usar
  • Trabaje con tipos de metadatos personalizados en el flujo de Salesforce
  • Evite el código duro de Id usando el elemento de obtención de registros
  • Utilice el elemento de decisión para comprobar los valores de registro
  • Trabaja con el bucle para aumentar tu flujo
  • Implementar la lógica de bucle while en el flujo
  • y mucho más

Pamela Kline trabaja como administradora de sistemas en Gurukul on Cloud (GoC). En GoC están utilizando Chatter ampliamente para la comunicación interna para administrar Ventas y Soporte. Los usuarios comerciales a menudo usan Chatter para solicitar ayuda al equipo interno de Salesforce sobre cómo usar algunas funciones.

Pamela ha recibido un requisito para crear automáticamente un caso siempre que una nueva publicación de Chatter (no un comentario) contenga una palabra clave. Recibió una lista de palabras clave (casi 11 palabras) de su gerente. La tarea de Pamela es garantizar que solo se cree un único caso, incluso si las publicaciones de Chatter contienen numerosas palabras clave.

Lista de palabras clave:

  1. Ohana
  2. Ayuda de Salesforce
  3. ayuda
  4. TrailheadDX
  5. MidwestDreamin
  6. SuresteDreamin
  7. IndiaDreamin
  8. TDX17
  9. SalesforceOhana
  10. JDF17
  11. soñarOlé

¿Qué es un tipo de metadatos personalizados?

¿Qué es un tipo de metadatos personalizados? ¿Por qué uno debería usarlo? ¿Cómo se debe usar? Y, por último, pero no menos importante, ¿en qué se relaciona el tipo de metadatos personalizados o en qué se diferencia del objeto personalizado? Bueno, ¡exploremos estos conceptos juntos!

El tipo de metadatos personalizados es similar a un objeto personalizado: permite a los desarrolladores de aplicaciones crear conjuntos de datos personalizados, así como crear y asociar datos personalizados con una organización. Todos los datos de tipos de metadatos personalizados están disponibles en la memoria caché de la aplicación . Como resultado, permite un acceso eficiente a los datos sin el costo de consultas repetidas (SOQL) a una base de datos. El tipo de metadatos personalizados se utiliza principalmente para almacenar información a la que se accederá con frecuencia desde el código Apex.

El tipo de metadatos personalizados funciona mejor que un objeto personalizado porque está disponible en caché; y por lo tanto, no tiene que ser consultado. La otra diferencia, que notará entre el tipo de metadatos personalizados y un objeto personalizado, es la diferencia en el sufijo. El tipo de metadatos personalizados tiene el sufijo __mdt al final del tipo de metadatos personalizados , a diferencia del __c habitual para los objetos personalizados .

Enfoque de Campeón de Automatización (I-do):

Hay varias formas de resolver los requisitos comerciales anteriores. Algunos de ellos son los siguientes:

  1. Cree un disparador de Apex en el objeto FeedItem: trabajaremos en esta opción en nuestra próxima serie de Apex.
  2. Utilice las 11 palabras clave en un criterio de entrada de flujo activado por registro (en el objeto feedItem) y utilice la acción Crear un registro para crear automáticamente un caso. El problema con este enfoque, sin embargo, es que si, después de unos días, la empresa desea agregar o eliminar algunas palabras clave, debe comenzar de nuevo desde cero.
  3. Use la configuración personalizada para almacenar las palabras clave y luego use el flujo activado por registro para administrar su lógica.
  4. Use el tipo de metadatos personalizados para almacenar las palabras clave y luego use un flujo activado por registro para administrar su lógica. Los metadatos personalizados brindan la flexibilidad de agregar o eliminar palabras clave sin tener que cambiar su Flujo.

Para resolver el requisito comercial anterior, tomaremos el cuarto enfoque. Usaremos: (i) tipo de metadatos personalizados para almacenar las palabras clave; use (ii) Flujo para comparar las palabras clave con el cuerpo de la publicación de Chatter; y crear un caso.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Pamela mediante el flujo activado por registro . Debemos:

  1. Cree tipos de metadatos personalizados para almacenar las palabras clave
  2. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Fórmula para determinar si el registro se crea o actualiza
    3. Agregue un elemento de decisión para verificar si la publicación de chat se crea o edita
    4. Agregue un elemento de obtención de registros para encontrar las palabras clave del tipo de metadatos personalizados
    5. Agregue un elemento de decisión para verificar si la variable de recopilación de registros contiene palabras clave o no (del paso 2.4)
    6. Agregue un elemento de bucle para recuperar registros de la variable de colección de registros (del paso 2.4)
    7. Agregue un elemento de decisión para verificar si la publicación de chat contiene palabras clave o no
      1. Agregue un elemento de asignación para indicar el final del bucle
    8. Agregue un elemento de decisión para verificar la variable booleana EndLoop para encontrar si queremos crear un caso o no
    9. Agregue un elemento Crear registros para crear un caso

Paso 1: cree tipos de metadatos personalizados para almacenar palabras clave

  1. Primero, crearemos un tipo de metadatos personalizados para almacenar palabras clave .
  2. 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:
  3. Una vez que haya terminado, haga clic en el botón Guardar .
  4. Cree una palabra clave de campo de texto para almacenar las palabras que desea rastrear en una publicación de Chatter y convertir este campo en un campo obligatorio. Al final, el tipo de metadatos personalizados de la palabra clave de Chatter debería parecerse a lo que se muestra en la siguiente captura de pantalla:
  5. El siguiente paso es insertar algunos registros en el tipo de metadatos personalizados. Para hacerlo, haga clic en el botón Administrar palabras clave de Chatter 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

El siguiente paso es crear un Flujo para implementar el requisito empresarial, es decir, crear un caso a partir de una palabra clave utilizada en una publicación de Chatter.

  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 la opción Record-Triggered Flow , haga clic en Create y configure el flujo de la siguiente manera:
    1. Objeto: FeedItem
    2. Activar el flujo cuando: se crea y actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2.2: Fórmula para determinar si el registro se crea o actualiza

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. Haga clic en Listo .

Paso 2.3: uso del elemento de decisión para comprobar si la publicación de Chatter se ha creado o editado

Ahora usaremos el elemento Decisión para comprobar si la publicación de chat ha sido creada o editada por un usuario.

  1. En Flow Designer, debajo del nodo Ejecutar inmediatamente , haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.4: agregar un elemento Obtener registro para encontrar las palabras clave del tipo de metadatos personalizados

El siguiente paso es obtener todas las palabras clave del tipo de metadatos personalizados. Para ello utilizaremos el elemento Obtener Registros .

  1. En Flow Designer, debajo del nodo Creado , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Chatter_Keyword__mdt de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Palabra clave__c
      2. Operador : no es igual
      3. Valor : {!$ConstanteGlobal.EmptyString}
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 2.5: uso del elemento de decisión para verificar si la variable de recopilación de registros contiene palabras clave o no (del paso 2.4)

La siguiente tarea es comprobar si la variable Colección de registros contiene palabras clave o no. Podría ser posible, todavía no hay ningún registro insertado en el tipo de metadatos personalizados. Para verificar esto, usaremos el elemento Decisión .

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Keywords}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.6: agregue un elemento de bucle para recuperar registros de la variable de colección de registros (del paso 2.4)

Si la variable Record Collection no es nula, eso significa que contiene algunas palabras prohibidas. Usaremos el elemento Loop para extraer registros de la variable Record Collection y almacenarlos en la variable Record. Para ello, utilizaremos el elemento Loop .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Bucle .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para Variable de colección, seleccione {!Get_Keywords} .
  4. Para Especificar dirección para iterar sobre la colección, seleccione la opción Del primer elemento al último elemento.
  5. Haga clic en Listo .

Paso 2.7: uso del elemento de decisión para verificar si la publicación de Chatter contiene palabras clave o no

La siguiente tarea es verificar si la publicación de Chatter contiene palabras clave o no. Para verificar esto, usaremos el elemento Decisión .

  1. En Flow Designer, debajo del nodo Para cada , haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!$Record.Body}
      2. Operador: Contiene
      3. Valor: {!Loop_Over_Keywords.rakeshistomMVP__Keyword__c}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.7.1: agregar un elemento de asignación para indicar el final del bucle

  1. Cree una variable varB_EndLoop de tipo booleano para indicar el final del ciclo.
  2. En Flow Designer, haga clic en el icono + y seleccione el elemento Asignación .
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. Establecer valores de variables
    1. Fila 1:
      1. Campo: {! varB_EndLoop }
      2. Operador: Igual
      3. Valor: {!$ConstanteGlobal.True}
  5. Haga clic en Listo .

Paso 2.8: uso del elemento de decisión para verificar la variable booleana EndLoop para ver si queremos crear un caso o no

El siguiente paso es verificar la variable booleana creada en el paso 2.7.1. si es cierto, queremos crear un caso; de lo contrario, queremos terminar el flujo aquí. Para verificar esto, usaremos el elemento Decisión .

  1. En Flow Designer, debajo del nodo Después del último , haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!varB_EndLoop}
      2. Operador: Igual
      3. Valor: {!$ConstanteGlobal.True}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.9: Agregue el elemento Crear registros para crear un caso

El paso final es crear un caso. Para ello, utilizaremos el elemento Crear registros .

  1. En Flow Designer, debajo del nodo Continuar con la creación de casos , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Caso
    4. Establecer valores de campo para el caso
    5. Fila 1:
      1. Campo : Origen
      2. Valor : Charla
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : Estado
      2. Valor : Nuevo
    8. Haga clic en Agregar campo
    9. Fila 3:
      1. Campo : Tipo
      2. Valor : Otro
    10. Haga clic en Agregar campo
    11. Fila 4:
      1. Campo : Descripción
      2. Valor : Verifique esta publicación {!$Record.Id}
  4. Haga clic en Listo .

Al final, Pamela's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Crear un caso desde la publicación de Chatter {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

Ahora, si alguien hace una publicación en Chatter y contiene una palabra clave de la Lista de palabras clave mencionada anteriormente, Flow creará automáticamente un caso para ella, como se muestra en la siguiente captura de pantalla:

Captura de pantalla del caso recién creado.

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/06/02/auto-create-a-case-from-keyword-used-in-chatter-2/

Categories
Developers

Cree un canal Slack usando Flow

Última actualización el 30 de mayo de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se crea un canal de Slack con Salesforce Flow?

Los canales de Slack aportan orden y claridad al trabajo: puede crearlos para cada proyecto, tema o equipo. Cuando hay un canal para todo, puede concentrarse en las conversaciones y el trabajo que más le importan.

He escrito algunos artículos sobre Slack and Flow . ¿Por qué no echarles un vistazo mientras estás en ello?

  1. Publicar un mensaje en un canal de Slack usando Flow
  2. Enviar un mensaje directo de Slack usando Flow

Objetivos:

Después de leer este blog, podrá:

  • Comprender cuándo usar la ruta Ejecutar asíncrono
  • Hacer llamadas externas a través de Flow
  • Trabajar con fórmulas SUBSTITUTE, LOWER e LEFT en el flujo
  • Crear un canal de Slack usando el flujo
  • y mucho más

Martin Jones trabaja como administrador de sistemas en Gurukul on Cloud (GoC) . GoC quiere crear un nuevo canal de holgura cuando se crea una cuenta con calificación Hot. GoC quiere seguir la convención de nomenclatura para el canal de Slack:

  • cuenta-{use los primeros 20 caracteres del nombre de la cuenta)
    • Por ejemplo, si el nombre de la cuenta es la Universidad de Arizona , entonces el nombre del canal debe ser cuenta-cuenta-universidad-de-arizon .

Requisitos previos:

  1. El primer paso es completar la integración de Salesforce para Slack .
  2. El segundo paso es instalar Sales Cloud for Slack en sus espacios de trabajo de Slack.
  3. La fórmula de sustitución se utiliza para reemplazar texto antiguo en una cadena de texto con texto nuevo.
  4. La fórmula de la izquierda devuelve el número especificado de caracteres desde el principio de una cadena de texto.
  5. La fórmula inferior convierte todas las letras de la cadena de texto especificada a minúsculas.
  6. Los nombres de los canales deben estar en minúsculas, sin espacios ni puntos, y no pueden exceder los 80 caracteres .

Enfoque de Campeón de Automatización (I-do):

Agregue una ruta asincrónica a un flujo de flujo desencadenado por registro después de guardar para integrarse con un sistema externo y actualizar objetos externos sin escribir código. La ruta asíncrona se ejecuta después de que la transacción original para el registro desencadenante se confirme correctamente. Por ejemplo, utilice una ruta asincrónica para publicar un mensaje en Slack, actualizar un registro en Heroku o realizar un pedido mediante un sistema de cumplimiento de terceros.

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 comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito empresarial de Martin mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Cree una fórmula para construir el nombre del canal de holgura
  3. Agregue la acción Crear canal de Slack (Beta): para crear un canal de Slack

Paso 1: Definir propiedades de flujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos, luego haga clic en Nuevo flujo .
  4. Seleccione el flujo activado por registro opción, haga clic en Crear
    1. Objeto : Cuenta
    2. Activar flujo de oportunidad cuando : se crea un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: se cumplen todas las condiciones (Y)
        1. Fila 1
          1. Campo: Calificación
          2. Operador: Igual
          3. Valor: Caliente
    4. Optimice el flujo para la acción y los registros relacionados
    5. Elija la opción para incluir una ruta de ejecución asincrónica para acceder a un sistema externo después de que la transacción original para el registro de activación se confirme con éxito .
  5. Haga clic en Listo .

Recuerda
  1. Las rutas asincrónicas están disponibles para los flujos desencadenados por registros que se ejecutan después de guardar el registro.
  2. Las opciones de rutas asincrónicas solo están disponibles para el flujo que está configurado para ejecutarse solo cuando se actualiza un registro para cumplir con los requisitos de la condición o selecciona el operador Is Changed en una condición.
  3. Cuando un registro nuevo o actualizado activa su flujo para que se ejecute, una ruta asincrónica se pone en cola hasta que se ejecuta. Puede monitorear una ruta asíncrona en la página Flujo de trabajo basado en tiempo en Configuración.

Paso 2: fórmula para construir el nombre del canal Slack

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para construir el nombre de la oportunidad mediante la fórmula de concatenación.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : para T_ChannelName
    3. Tipo de datos : Texto
    4. Fórmula : “cuenta” & “-” & SUSTITUCIÓN (INFERIOR (IZQUIERDA ({!$Record.Name}, 20)), ” “, “-“)
  3. Haga clic en Listo .

Paso 3: Agregue Create Slack Channel (Beta) – para crear un Slack Channel

Ahora usaremos la acción Crear canal de Slack (Beta) para crear un nuevo canal de Slack.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Busque y seleccione Crear canal de Slack (Beta) en el menú desplegable
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. Establecer valores de conexión para Slack
    1. Aplicación Slack: Essentials Runtime Starter
    2. Espacio de trabajo de Slack: Campeón de la automatización
    3. Ejecutar acción como: aplicación Slack
  5. Establecer detalles del canal Slack
    1. Nombre del canal de Slack: {!forT_ChannelName}
    2. Tipo de canal: Público
    3. ID de espacio de trabajo de Slack para el canal: campeón de automatización
  6. 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:

  1. Haga clic en Guardar .
  2. Ingresar   Caudal   etiqueta ; el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Cree un canal Slack usando Flow {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar.

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

Prueba de concepto

A partir de ahora, si un usuario comercial crea una nueva cuenta con una calificación alta, el guardado posterior activado por registro creará automáticamente un nuevo canal de Slack.

  1. Navegue a Cuenta una nueva cuenta Universal Health Services , como se muestra en la siguiente captura de pantalla:
  2. Ahora inicie sesión en Slack y consulte el canal de Slack .

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/05/30/create-a-slack-channel-using-flow-3/

Categories
Developers

Notificar al propietario de la oportunidad cuando se reciba una respuesta a la encuesta


Gran idea o pregunta duradera:

  • ¿Cómo notifica al propietario de la oportunidad cuando un cliente envía una respuesta a la encuesta (posventa)?

Objetivos:

Después de leer este blog, podrá:

  • Comprender los objetos SurveyQuestionScore, SurveyInvittaion
  • Use el flujo para notificar al propietario de la oportunidad cuando se reciba una respuesta a la encuesta posterior a la venta
  • Averigüe si una encuesta está asociada con una cuenta, un caso u otros objetos
  • Use la acción principal Enviar correo electrónico para notificar al propietario de la oportunidad
  • y mucho más

Olivia Rodrigo trabaja como administradora de sistemas en Gurukul on Cloud (GoC) . Ella está en proceso de implementar Survey en GoC. La semana pasada, recibió la siguiente solicitud del Gerente de Éxito del Cliente:

  • Cada vez que reciba una respuesta a la encuesta posterior a la venta, envíe un correo electrónico al propietario de la oportunidad.

Requisito previo

Lea primero este artículo y asegúrese de crearlo:

  1. Enviar encuesta de Salesforce sin código

Enfoque de Campeón de Automatización (I-do):

De fábrica, Salesforce no proporciona una forma de notificar a los propietarios de registros relacionados cuando se recibe una respuesta a la encuesta. Tales notificaciones son beneficiosas para tomar medidas para asegurarse de que el cliente esté contento. Este artículo lo ayudará a aprender cómo puede usar el flujo desencadenado por registro para notificar al propietario de la oportunidad cuando se recibe una respuesta.

Puede personalizar aún más el flujo para notificar al propietario solo cuando el puntaje de la encuesta o el puntaje neto de promotor (NPS) esté por debajo del estándar definido por su empresa.

Si bien esto se puede resolver utilizando varias herramientas de automatización como   Apex Trigger, o Flow , usaremos After-save Record-Triggered Flow . Consulte este artículo para comprender por qué estamos utilizando el flujo desencadenado por registro posterior al guardado para este escenario.

Hagamos una pausa aquí y familiaricémonos con los objetos SurveySubject y SurveyInvitation en Salesforce, incluido el modelo de datos.

Nombre del objeto Detalles
EncuestaAsunto Representa una relación entre una encuesta y otro objeto, como una cuenta o un caso.
EncuestaInvitación Representa la invitación enviada a un participante para completar la encuesta .

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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 7 pasos para resolver el requisito empresarial de Olivia utilizando el flujo activado por registro después de guardar . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar el estado de respuesta de la encuesta
  3. Agregue un elemento de obtención de registros para encontrar SurveySubject
  4. Agregue un elemento de decisión para verificar si SurveySubject está asociado con una oportunidad u otro objeto
  5. Agregue un elemento de obtención para buscar detalles de la oportunidad
  6. Agregue una plantilla de texto para construir el cuerpo del correo electrónico
  7. Agregar acción de envío de correo electrónico: para notificar al propietario de la oportunidad

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Respuesta de la encuesta
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: uso del elemento de decisión para verificar si el estado de respuesta de la encuesta es igual a completado

Ahora usaremos el elemento Decisión para verificar si la respuesta de la encuesta es igual a completada para asegurarnos de que el participante haya completado la encuesta.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.Status}
      2. Operador : Igual
      3. Valor : Completado
  5. Cuándo ejecutar el resultado : si Solo si el registro que desencadenó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición
  6. Haga clic en Listo .

Paso 3: agregar un elemento Obtener registro para encontrar el tema de la encuesta relacionado con la invitación a la encuesta

El siguiente paso es usar el elemento Obtener registros para encontrar el tema de la encuesta relacionado con la invitación a la encuesta.

  1. En Flow Designer, debajo del nodo Completado , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Asunto de la encuesta de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : SurveyInvitationId
      2. Operador : Igual
      3. Valor : {!$Record.InvitationId}
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 4: uso del elemento de decisión para verificar si SurveySubject está asociado con una oportunidad u otro objeto

Ahora usaremos el elemento Decisión para verificar si el tema de la encuesta está asociado con una oportunidad o cualquier otro objeto.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Find_SurveySubject.SubjectEntityType}
      2. Operador: Igual
      3. Valor: Oportunidad
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 5: Adición de un elemento Obtener registro para encontrar los detalles del registro de oportunidad

El siguiente paso es usar el elemento Obtener registros para encontrar los detalles del registro de oportunidad.

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Oportunidad de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Identificación
      2. Operador : Igual
      3. Valor : {!Find_SurveySubject.SubjectId}
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 6: agregue una plantilla de texto para construir el cuerpo del correo electrónico

Ahora crearemos una plantilla de correo electrónico utilizando la plantilla de texto . La plantilla de texto le permitió especificar los mensajes de varias líneas. También le permite utilizar código HTML.

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para crear una plantilla de texto.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : plantilla de texto
    2. Nombre de la API : textT_MessageBody
    3. Seleccione Ver como texto enriquecido
    4. Cuerpo
      1. Se recibe una respuesta de encuesta para la oportunidad https://myautomationchampion-dev-ed.lightning.force.com/ {!Find_SurveySubject.SubjectId}.
  3. Haga clic en Listo .

Paso 7: agregue la acción Enviar correo electrónico para notificar al propietario de la oportunidad

Ahora usaremos la acción principal Enviar correo electrónico para enviar un correo electrónico al propietario de la oportunidad.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Busque y seleccione Enviar correo electrónico en el menú desplegable
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada
    1. Cuerpo : {!textT_MessageBody}
    2. Asunto : Respuesta a la encuesta: {!Find_opportunity.Name}
    3. Direcciones de correo electrónico (separadas por comas) : {!Find_opportunity.Owner.Email}
    4. Cuerpo con formato de texto enriquecido : {!$GlobalConstant.True}
  5. Haga clic en Listo .


Al final, Olivia's Flow se verá como la siguiente captura de pantalla:


Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Introducir etiqueta de flujo   el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista : respuesta de encuesta más baja: notificar al propietario de la oportunidad {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .


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

Prueba de concepto

De ahora en adelante, una vez que se reciba una respuesta a la encuesta, el flujo activado por registro se activará automáticamente y notificará al propietario de la oportunidad.

  1. Respuesta de la encuesta completada.
  2. Notificaciones por correo electrónico al propietario de la oportunidad.

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/05/23/notify-opportunity-onwer-when-a-survey-response-is-received-2/

Categories
Developers Salesforce

Eliminación automática de un registro de grupos de Chatter

Última actualización el 19 de mayo de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo elimina automáticamente un registro de los grupos de Chatter?

Salesforce le permite agregar un registro a Grupos de Chatter , lo que significa que ahora puede colaborar y discutir los registros como un equipo en el grupo . Solo puede agregar registros de objetos de Cuenta , Contacto , Contrato , Campaña , Caso , Cliente potencial , Oportunidad y Personalizado a grupos de Chatter. Hace unos meses , había escrito los siguientes artículos:

  1. Agregar automáticamente un registro a un grupo de Chatter
  2. ¡Viva! Analizar una lista de selección múltiple ya no es un problema. ¡Uf!

Que discuten una manera a través de la cual puede agregar automáticamente   un registro para el Chatter Group . Este artículo va un paso más allá y explica cómo eliminar automáticamente el registro de Chatter Group .

Objetivos:

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

  • Evite el código duro de Id usando el elemento de obtención de registros
  • Utilice el elemento de decisión para comprobar los valores de registro
  • Cree un flujo activado por registro para eliminar automáticamente el registro de los grupos de Chatter
  • y mucho más

Steven Greene trabaja como administrador de sistemas en Gurukul on Cloud (GoC). Ha recibido un nuevo requerimiento de la gerencia; una vez que una oportunidad se marca como cerrada, elimínela automáticamente de todos los grupos de chat.

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario comercial anterior, pero usaré el flujo activado por registro después de guardar para resolver el requisito comercial.

Hagamos una pausa aquí, familiarícese con el objeto CollaborationGroupRecord en Salesforce. Representa los registros asociados con grupos de Chatter.

Nombre del campo Detalles
ID de registro Representa el Id. del registro asociado con Chatter Group.
CollaborationGroupId El Id. del grupo de Chatter.

Antes de discutir la solución, permítame mostrarle un diagrama de un flujo de proceso de 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 (nosotros hacemos):

Hay 5 pasos para resolver el requisito empresarial de Steven mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar si la oportunidad está cerrada o no
  3. Agregue un elemento de registro para encontrar el registro de grupos de chat donde se agrega la oportunidad
  4. Agregue un elemento de decisión para verificar si la oportunidad se agrega a los grupos de chat o no (desde el paso 4)
  5. Agregue un elemento de registro de eliminación para eliminar la oportunidad de los grupos de chat.

Paso 1: 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 registro opción, haga clic en Crear
    1. Objeto : Oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: usar el elemento de decisión para verificar si la oportunidad está cerrada o no

Ahora usaremos el elemento Decisión para verificar isClosed para asegurarnos de que sea igual a True.
  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.IsClosed}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}

Paso 3: Adición de un elemento Obtener registro para buscar Id. de registro de grupos de Chatter donde se agrega la oportunidad

El siguiente paso es encontrar los Id. de registro de grupos de Chatter , en los que se comparte o agrega el registro de oportunidad. Para hacerlo, siga las instrucciones a continuación: agregue un elemento de obtención de registros para buscar

  1. En Flow Designer, debajo del nodo Cerrado , haga clic en el icono + y seleccione el elemento Obtener elemento.
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el registro de grupo   objeto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de registro
      2. Operador : Igual
      3. Valor : {!$Registro.id}
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 4: uso del elemento de decisión para verificar la variable de recopilación de registros (del paso 4)

Ahora usaremos el elemento Decisión para verificar la variable de recopilación de registros del paso 4 para encontrar si devuelve los registros del grupo de colaboración para el registro actual o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Arrastre y suelte el elemento Decisión en el diseñador de flujo.
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. En Detalles del resultado ,   ingrese la etiqueta , el nombre de la API se completará automáticamente.
  5. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Collaboration_Group_Records}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  6. Haga clic en Listo .

Paso 5: agregue un elemento Eliminar registros para eliminar el registro de oportunidad de los grupos de Chatter

El paso final es utilizar el elemento Eliminar registros para eliminar una oportunidad de los grupos de Chatter.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Eliminar registros .
  2. Introduzca 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. Establecer registro(s) para eliminar
    1. Registro o colección de registros : {!Get_Collaboration_Group_Records}
  5. Haga clic en Listo .

Al final, Steven's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Eliminación automática de registros de grupos de Chatter {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si un usuario comercial actualiza la Etapa de oportunidad a Cerrada ganada, el registro posterior al guardado activado eliminará automáticamente el registro de los grupos de Chatter.

  1. A continuación se muestra el estado actual de Opportunity West Mountain Sign | Q1 2021 en estado de prospección antes de la actualización. Actualmente, la oportunidad se comparte con dos grupos de Chatter.
  2. Actualice la Oportunidad a Cerrada ganada .
  3. Una vez que haya terminado, haga clic en el botón Guardar .
  4. Ahora verifique la lista relacionada con el grupo en el objeto Oportunidad . Ya eliminó registros de los grupos de chat, como se muestra en la siguiente captura de pantalla:

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/05/19/auto-remove-a-record-from-chatter-groups/

Categories
Developers

Definir condiciones adicionales al actualizar registros

Última actualización el 2 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo puedo usar la automatización para actualizar las oportunidades abiertas relacionadas con una cuenta?

Objetivos:

  • Use el elemento de decisión para verificar el estado actual de la cuenta
  • Definir criterios para que registros específicos reciban actualizaciones específicas
  • Utilice el flujo activado por registro para actualizar otros registros relacionados con una cuenta

Steve Cartwright trabaja como administrador de sistemas en Universal Containers (UC). Ha recibido un requisito de la gerencia , que cada vez que un cliente se va a la quiebra , debe actualizar automáticamente las oportunidades abiertas relacionadas con Lost.

Enfoque de Campeón de Automatización (I-do):

Para resolver este requisito, utilizaremos 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 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. Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Steve mediante Record-Triggered Flow . Debemos:

  1. Cree un campo de casilla de verificación personalizado (fuera del negocio por cuenta)
  2. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregue un elemento de decisión para verificar el estado de la cuenta
    3. Agregue un elemento Actualizar registros para actualizar las oportunidades relacionadas

Paso 1: crear un campo personalizado: fuera del negocio

  1. Haga clic en Configuración .
  2. En la interfaz de usuario, haga clic en Administrador de objetos .
  3. Navegar a Cuenta | Campos y relaciones y haga clic en el botón Nuevo .
  4. Haga clic en el tipo de datos Checkbox .
  5. Ingrese la etiqueta del campo, el nombre del campo se completará automáticamente.
  6. Haga clic en Desmarcado para el valor predeterminado .
  7. Agregue un campo en el diseño de página y otorgue acceso de campo a los perfiles deseados.
  8. Haga clic en Guardar .

Paso 2.1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Cuenta
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2.2: uso del elemento de decisión para verificar si la cuenta fuera del negocio es igual a verdadero

Ahora usaremos el elemento Decisión para verificar si la cuenta fuera del negocio cambió a Verdadero.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.Out_of_Business__c}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar el resultado : solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición.
  6. Haga clic en Listo .

La razón por la que seleccionaríamos la casilla de verificación para la pregunta es: Solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición , es para permitir que el flujo desencadenado por el registro ejecute las acciones solo si el registro cumple con los requisitos. criterios ahora, pero los valores que tenía el registro inmediatamente antes de que se guardara no cumplían los criterios. Esto significa que estas acciones no se ejecutarán cuando se realicen cambios irrelevantes.

Paso 2.3: Agregar acción: actualizar registros

El siguiente paso es actualizar el estado de oportunidad abierta a cerrada perdida. Usaremos los registros de actualización   elemento.

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Actualizar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para obtener información sobre cómo encontrar registros para actualizar y establecer sus valores , seleccione Especificar condiciones para identificar registros y establecer campos individualmente.
  4. Objeto : Oportunidad
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de cuenta
      2. Operador : Igual
      3. Valor : {!$Record.Id}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo : EstáCerrado
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Falso}
  7. Establecer valores de campo para los registros de oportunidad
    1. Fila 1:
      1. Campo : nombre de etapa
      2. Valor : Cerrado Perdido
  8. Haga clic en Listo .


Al final, Steve's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista : Actualizar oportunidades abiertas a perdidas {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Práctica Independiente (Tú-haces):

Piense en su propio proceso de ventas. ¿Cuáles son las acciones adicionales que podríamos agregar a este proceso?

Prueba de concepto

A partir de ahora, si un usuario comercial actualiza una Cuenta fuera del negocio a Verdadero , el flujo activado por registros actualizará automáticamente las oportunidades abiertas relacionadas a Perdidas cerradas.

  1. Actualmente, hay dos oportunidades abiertas adjuntas a la cuenta Deer Valley Corp, como se muestra en la siguiente captura de pantalla:
  2. Ahora actualizamos el Fuera del negocio en Cuenta   a Marcado .
  3. Vuelva a la Cuenta y verifique el estado de la Oportunidad. El flujo activado por registros marcó automáticamente esas oportunidades abiertas como perdidas cerradas.

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/02/define-additional-conditions-when-updating-records-4/

Categories
Developers

Actualizar cotizaciones relacionadas a denegadas excepto la que se aceptó

Última actualización el 3 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo uso la automatización para actualizar otros registros relacionados de un objeto?

Objetivos:

Después de leer este blog, podrá:

  • Use Salesforce para actualizar automáticamente las cotizaciones asociadas con una oportunidad
  • Use el elemento de decisión para verificar el estado de la cotización
  • Definir criterios para que registros específicos reciban actualizaciones específicas
  • y mucho más

Tamara McCleary trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Usan Salesforce para administrar Oportunidades y Cotizaciones, y cada Oportunidad puede tener múltiples Cotizaciones. Cada vez que un cliente acepta una Cotización, todos los demás registros de Cotización relacionados con esa oportunidad deben tener el Estado actualizado a Denegado

Enfoque de Campeón de Automatización (I-do):

Para resolver este requisito, utilizaremos 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 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.
Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Tamara mediante Record-Triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar el estado de la cotización
  3. Agregue un elemento Actualizar registros para actualizar el estado de la cotización relacionada a denegado

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Cita
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 4: uso del elemento de decisión para verificar si el estado de la cotización es igual a aceptado

Ahora usaremos el elemento Decisión para verificar el estado de la cotización y asegurarnos de que sea igual a Aceptado.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.Status}
      2. Operador : Igual
      3. Valor : Aceptado

La razón por la que seleccionaríamos la casilla de verificación para la pregunta es: Solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición , es para permitir que el flujo desencadenado por el registro ejecute las acciones solo si el registro cumple con los requisitos. criterios ahora, pero los valores que tenía el registro inmediatamente antes de que se guardara no cumplían los criterios. Esto significa que estas acciones no se ejecutarán cuando se realicen cambios irrelevantes.

Paso 3: Agregar acción: actualizar registros

El siguiente paso es actualizar el estado de cotización relacionado a denegado. Usaremos los registros de actualización   elemento.

  1. En Flow Designer, debajo del nodo Aceptado , haga clic en el ícono + y seleccione el elemento Actualizar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para obtener información sobre cómo encontrar registros para actualizar y establecer sus valores , seleccione Especificar condiciones para identificar registros y establecer campos individualmente.
  4. Objeto : Cita
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de oportunidad
      2. Operador : Igual
      3. Valor : {!$Record.OpportunityId}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo : Estado
      2. Operador : no es igual
      3. Valor : Aceptado
  7. Establecer valores de campo para los registros de oportunidad
    1. Fila 1:
      1. Campo : Estado
      2. Valor : Denegado
  8. Haga clic en Listo .

Al final, Tamara's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista : actualizar citas relacionadas a denegadas {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Nota : antes de activar su flujo, querrá asegurarse de haber asignado los datos en el formato correcto porque Salesforce Flow obedece las reglas de validación. Si se requieren algunos campos mediante el uso de reglas de validación, asegúrese de haber agregado esos campos. Por el contrario, si se requieren algunos campos en el diseño de la página, puede ignorar esos campos.

Prueba de concepto

A partir de ahora, cuando un usuario comercial actualice el Estado de la cotización a Aceptado, el flujo activado por registro actualizará automáticamente la Descripción de la cotización y el Estado de todas las demás cotizaciones a Denegado.

  1. Actualmente, hay tres cotizaciones adjuntas a Opportunity Deer Valley Corp, como se muestra en la siguiente captura de pantalla
  2. Ahora actualizamos el Estado en Cita 1   a Aceptado y haga clic en Marcar como estado actual
  3. Vuelva a la oportunidad para confirmar que se cambiaron otros registros.

Práctica Independiente (Tú-haces):

Cree un flujo de Salesforce que anule la selección de cualquier otro contacto principal cuando se seleccione uno nuevo.

Nota : Comience creando una casilla de verificación para 'Contacto principal' en el objeto Contacto.

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/02/update-related-quotes-to-denied-except-for-the-one-that-was-accepted-2/

Categories
Developers Salesforce

Introducción al control de versiones para Salesforce Flow

Última actualización el 3 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Qué sucede cuando los requisitos comerciales para un Flujo de Salesforce cambian después de que ya está activado y en uso?

Objetivos:

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

  • Modificar un flujo existente para reflejar nuevos requisitos
  • Clonar un flujo existente para crear una nueva versión

Tamara McCleary trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Creó un flujo activado por registros que actualizaba otros registros relacionados con una oportunidad. Esto se cubrió en el artículo Actualizar cotizaciones relacionadas a denegadas excepto la que fue aceptada . Ahora, el gerente de ventas quiere que el propietario de la oportunidad le asigne una tarea de seguimiento para enviar el acuerdo final.

Enfoque de Campeón de Automatización (I-do):

Antes de discutirlo, analicemos qué es el control de versiones y por qué lo necesitamos.

¿Qué es el control de versiones?

El control de versiones es un sistema que registra los cambios en un archivo o conjunto de archivos a lo largo del tiempo para que pueda recuperar versiones específicas más adelante.

¿Por qué Salesforce Flow tiene control de versiones?

Salesforce Flow es esencialmente una combinación de reglas de flujo de trabajo y flujo. Salesforce Flow no nos permite modificar la automatización una vez activada. Para realizar cambios, primero tenemos que crear una nueva versión.

Puede tener un máximo de 50 versiones de un flujo. Si necesita continuar creando nuevas versiones, deberá eliminar las anteriores.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Una vez que se activa un flujo , no es posible realizar ningún cambio en él. Ahora tenemos dos opciones que guardan el flujo existente/activado:

  • Una versión del flujo actual
  • Nuevo flujo

Para resolver el requisito comercial anterior, guardaremos el flujo activado existente como una nueva versión. Siga las instrucciones a continuación para modificar el Flujo existente para cumplir con los requisitos comerciales actualizados.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 4 pasos para resolver el requisito comercial de Tamara mediante Record-Triggered Flow . Debemos:

  1. Clonar un flujo existente
  2. Agregar acción: crear un registro

Paso 1: clonar un flujo existente

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos y luego haga clic en el nombre del flujo que se modificará. En este caso Actualizar cotizaciones relacionadas a Denegado.
  4. Haga clic en el botón Guardar como en la parte superior derecha del generador de flujo.
  5. Haga clic en Guardar .

Paso 2: Agregar acción: crear un registro

El siguiente paso es crear una nueva Tarea, para ello utilizaremos el elemento Crear Registros .

  1. En Flow Designer, debajo del nodo Presupuestos relacionados actualizados , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. 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 establecer los campos de registro : use recursos separados y valores literales
    4. Objeto : Tarea
    5. Establecer valores de campo para la oportunidad
    6. Fila 1:
      1. Campo : ID de propietario
      2. Valor : {!$Record.Opportunity.OwnerId}
    7. Haga clic en Agregar campo
    8. Fila 2:
      1. Campo : Prioridad
      2. Valor : Normal
    9. Haga clic en Agregar campo
    10. Fila 3:
      1. Campo : Estado
      2. Valor : No iniciado
    11. Haga clic en Agregar campo
    12. Fila 4:
      1. Campo : WhatId
      2. Valor : {!$Record.Id}
    13. Haga clic en Agregar campo
    14. Fila 5:
      1. Campo : Asunto
      2. Valor : Crear y enviar cotización final
    15. Haga clic en Agregar campo
    16. Fila 6:
      1. Campo : Fecha de actividad
      2. Valor : {!$Flow.CurrentDate}
  4. Haga clic en Listo .

Al final, Tamara's Flow se verá como la siguiente captura de pantalla:

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

Prueba de concepto

A partir de ahora, cuando un usuario comercial actualice el Estado de la cotización a Aceptado, el flujo activado por registro actualizará automáticamente la Descripción de la cotización y el Estado de todas las demás cotizaciones a Denegado. El flujo desencadenado por registro también creará y asignará una tarea al propietario de la oportunidad.

  1. Actualmente, hay tres cotizaciones adjuntas a Opportunity Deer Valley Corp, como se muestra en la siguiente captura de pantalla
  2. Ahora actualizamos el Estado en Cita 1   a Aceptado y haga clic en Marcar como estado actual
  3. Vuelva a la oportunidad para confirmar que se cambiaron otros registros.

Tarea en cotización

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/an-introduction-to-version-control-for-salesforce-flow-2/

Categories
Developers

¿Perfil? ¡Asi que ayer! – Asignar automáticamente un grupo de conjuntos de permisos a un usuario

Ú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! Blog 96.2

Blog 96.2 ¿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. Blog 96.3 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

Blog 96.1.1

Blog 96.1.1

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 .

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Martin mediante Record-Triggered Flow . Debemos:

  1. Cree tipos de metadatos personalizados para almacenar la función de usuario y la asignación de grupos de permisos
  2. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Fórmula para determinar si el usuario es creado o actualizado
    3. Agregue un elemento de decisión para verificar si el usuario se creó y tiene una función de usuario poblada
    4. Agregue un elemento de obtención de registros para encontrar el Id. del conjunto de permisos para un rol determinado
    5. Agregue un elemento de decisión para verificar la variable de registro (del paso 2.3)
    6. 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

  1. 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 .
    1. 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: Blog 96.4
    2. Una vez que haya terminado, haga clic en el botón Guardar .
    3. 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: Blog 96.5
    4. 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: Blog 96.6.1

Paso 2.1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Usuario
    2. Activar el flujo cuando : se crea y actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2.2: fórmula para determinar si el usuario está creado o actualizado

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. 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.

  1. En Flow Designer, debajo del nodo Ejecutar inmediatamente , haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Recurso : {!$Record.UserRoleId}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. 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.

  1. En Flow Designer, debajo del nodo Creado , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Asignación de grupo de PS de rol de usuario de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Etiqueta
      2. Operador : Igual
      3. Valor : {!$Record.UserRole.Name}
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. 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.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Find_Permission_Set_Group}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. 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.

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Ingrese la siguiente información :
    1. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : asignación de conjunto de permisos
    4. Establecer valores de campo para la asignación de conjunto de permisos
    5. Fila 1:
      1. Campo : ID asignado
      2. Valor : {!$Record.Id}
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : PermissionSetGroupId
      2. Valor : {!Find_Permission_Set_Group.PS_Group_Id__c}
  4. 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:

  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. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista : Grupo de conjunto de permisos de asignación automática {!$Flow.CurrentDateTime}
  6. 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).

  1. Cree un usuario y asígnele el rol de gerente de ventas. Luego, verifique Grupo de asignación de conjunto de permisos: Blog 06.17

¡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/

Categories
Developers Salesforce

Crear casos automáticamente a partir de preguntas de Chatter no resueltas

Última actualización el 5 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

A medida que su comunidad crece, las organizaciones deben asegurarse de que los clientes obtengan respuestas rápidas a sus preguntas . Pregunta a caso permite a los moderadores derivar preguntas de Chatter no resueltas a casos desde la página de Chatter. Puede automatizar este proceso de escalamiento utilizando Salesforce Flow , por ejemplo:

  • Crea un caso a partir de una pregunta si la pregunta ha recibido más de dos Me gusta sin respuesta.
  • Cree un caso a partir de una pregunta inmediatamente si la pregunta contiene la palabra Ayuda urgente.

Objetivos:

Después de leer este blog, podrá:

  • Utilice el elemento de decisión para validar los datos
  • Comprender cómo clonar un registro usando el elemento crear registro
  • y mucho más

Rachel Gillett trabaja como administradora de sistemas en Universal Containers (UC) . Recibió un requisito para crear automáticamente un caso cada vez que se crea una nueva pregunta en Chatter, que contiene la palabra Ayuda urgente en el título.

Enfoque de Campeón de Automatización (I-do):

Para resolver este requisito, utilizaremos 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 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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 4 pasos para resolver el requisito comercial de Rachel mediante Record-Triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Fórmula para determinar si la Pregunta de Chatter se crea o actualiza
  3. Agregar un elemento de decisión para comprobar el título de las preguntas de Chatter
  4. Agregue un elemento Crear registros para crear un caso

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : elemento de alimentación
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: fórmula para determinar si la pregunta de Chatter se crea o actualiza

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro se crea o actualiza.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forB_IsNew
    3. Tipo de datos : booleano
    4. Fórmula : EsNuevo()
  3. Haga clic en Listo .

Paso 3: uso del elemento de decisión para comprobar el título de las preguntas de Chatter

Ahora usaremos el elemento Decisión para verificar si el título de las preguntas de chat contiene ayuda urgente y si la pregunta se acaba de crear.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.Id}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Recurso : {!$Record.Title}
      2. Operador : Contiene
      3. Valor : Ayuda urgente
    4. Haga clic en Agregar condición
    5. Fila 3:
      1. Recurso : {!$Record.Type}
      2. Operador : Igual
      3. Valor : Publicación de pregunta
    6. Haga clic en Agregar condición
    7. Fila 4:
      1. Recurso : {!forB_IsNew}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}

Paso 4: Agregar acción: crear un registro

El siguiente paso es crear un nuevo caso, para ello utilizaremos el elemento Create Records .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. 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 establecer los campos de registro : use recursos separados y valores literales
    4. Objeto : Caso
    5. Establecer valores de campo para el caso
    6. Fila 1:
      1. Campo : Estado
      2. Valor : escalado
    7. Haga clic en Agregar campo
    8. Fila 2:
      1. Campo : Prioridad
      2. Valor : Alto
    9. Haga clic en Agregar campo
    10. Fila 3:
      1. Campo : Descripción
      2. Valor : {!$Record.Id}
    11. Haga clic en Agregar campo
    12. Fila 4:
      1. Campo : ID de contacto
      2. Valor : {!$Record.CreatedBy:User.ContactId}
  4. Haga clic en Listo .

Al final, Rachel's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista: Creación automática de un caso a partir de preguntas de Chatter {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si un usuario comercial crea una publicación de pregunta de Chatter con el título Ayuda urgente , Record-triggered creará automáticamente un nuevo caso. Es hora de probar el proceso.

  1. Ahora cree una publicación de preguntas iniciando sesión en una comunidad.
  2. Navegue a la pestaña del caso y consulte el caso recién creado

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/automatically-create-cases-from-unresolved-chatter-questions-2/

Categories
Developers

¡Descubra cómo completar automáticamente el campo de aprobador delegado en un nuevo registro de usuario!

Última actualización el 4 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo se completa automáticamente el campo de aprobador delegado en un nuevo registro de usuario?

Objetivos:

Después de leer esta publicación de blog, el lector podrá:

  • Cree un flujo activado por registro para completar automáticamente el campo de aprobador delegado para nuevos usuarios.

Warren Mason trabaja como administrador del sistema en Gurukul on Cloud (GoC) recibió el siguiente requisito: en el registro de un nuevo usuario, complete automáticamente el administrador del usuario como aprobador delegado.

Enfoque de Campeón de Automatización (I-do):

El aprobador delegado es un aprobador alternativo. Si se completa, este usuario recibe las mismas solicitudes de aprobación que el aprobador original . Los aprobadores delegados no tienen la capacidad de reasignar solicitudes de aprobación ; solo pueden aprobar o rechazar solicitudes de aprobación.

La asignación de un aprobador delegado es útil cuando un usuario está fuera de la oficina . En tales circunstancias, un aprobador delegado, designado por el Usuario, puede aprobar solicitudes en nombre del Usuario. Sin embargo, si los usuarios olvidan configurar aprobadores/administradores delegados, esto retrasaría la aprobación de las solicitudes, siempre y cuando estén fuera de la oficina. Un usuario puede seleccionar un administrador/aprobador delegado navegando a su configuración personal .

En este artículo, analizaremos cómo automatizar el proceso de autocompletar un nuevo administrador de usuarios como aprobador delegado. Existen múltiples soluciones posibles para el escenario empresarial anterior .

Para resolver este requisito, utilizaremos 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, debe comprender al Usuario objeto Representa a un usuario en su organización.

Nombre del campo Detalles
ID de aprobador delegado Id del usuario que es un aprobador delegado para este usuario.

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.


Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito de negocio de Warren mediante Record-Triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar si el administrador está poblado o no
  3. Agregue un elemento de asignación para completar el aprobador delegado

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Usuario
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimizar el flujo para la actualización de campos rápidos
  5. Haga clic en Listo .

Paso 2: usar el elemento de decisión para verificar si el administrador está poblado o no

Ahora usaremos el elemento Decisión para verificar que el administrador del campo esté completo o no y el registro de usuario se acaba de crear.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.Id}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Verdadero}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Recurso : {!$Record.ManagerId}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}

Paso 3: usar el elemento de asignación para actualizar el aprobador delegado

El siguiente paso es actualizar el aprobador delegado en el usuario. Usaremos la Asignación   elemento, ya que estamos usando before-save flow .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Asignación .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Establecer valor variable
    1. Fila 1:
      1. Campo : {!$Record.DelegatedApproverId}
      2. Operador : Igual
      3. Valor : {!$Record.ManagerId}
  4. Haga clic en Listo .

Al final, Warren's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 50
  5. Etiqueta de entrevista : Asignación automática de aprobador delegado {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si se crea un usuario, el aprobador delegado se completará automáticamente.

  1. Vaya a Configuración | Administración | Usuarios | Usuarios
  2. Cree un nuevo usuario y márquelo como activo , asegúrese de completar el Administrador.
  3. Haga clic en Guardar .
  4. Ahora navegue hasta el campo Aprobador delegado en la página de detalles del usuario y verifique de quién es el nombre. ¡Sí, tiene razón, es James Smith !

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-populate-delegated-approver-field-on-a-new-user-record/

Categories
Developers Salesforce

Notificación por correo electrónico sobre la asignación de temas

Última actualización el 5 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puede notificar al propietario del tema sobre la Asignación de tema?

Objetivos:

Después de leer este blog, podrá:

  • Cree un flujo activado por registro para enviar notificaciones de correo electrónico personalizadas para la asignación de tema
  • Crear una plantilla de correo electrónico en Flow
  • Use Flow para enviar una alerta de correo electrónico personalizada
  • y mucho más

Pamela Kline trabaja como administradora de sistemas en Gurukul on Cloud (GoC) . Ella recibió un requisito de la gerencia de que cada vez que una cuenta clave de tema se asocie con un registro, publicación o en cualquier lugar, envíe una notificación por correo electrónico al propietario del tema.

Enfoque de Campeón de Automatización (I-do):

Temas para Objetos , nos permite organizar los registros utilizando temas al igual que Chatter . Los temas ayudan a organizar mejor los registros y facilitan la búsqueda . Por ejemplo , si publica que está trabajando en una presentación para Dreamforce20 , es posible que desee agregar el tema del hashtag #Dreamforce22 o # DF22 en sus actualizaciones .

Cualquiera puede hacer clic en estos temas para obtener más información sobre Dreamforce22 y ver quépersonas ygrupos hablan sobre Dreamforce22 . También puede encontrar todos los registros etiquetados con el tema Dreamforce22 . Salesforce le permitió seguir el tema de forma similar al registro, pero el problema es que no recibirá una notificación por correo electrónico cuando se asigne un tema a una publicación en particular.

Para resolver este requisito, utilizaremos 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. Una razón para usar Flow es que no se puede acceder a EntityId en la plantilla de correo electrónico, lo que significa que no puede obtener el Id. de registro donde se asocia el tema.

Hagamos una pausa aquí y familiaricémonos con TopicAssignment y Topic Objects en Salesforce.

Nombre del objeto Detalles
Asignación de tema Representa la asignación de un tema a un elemento o registro de noticias en particular .
Tema Representa un tema en una publicación o registro de Chatter.

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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 4 pasos para resolver el requisito empresarial de Pamela mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue una plantilla de texto para construir el cuerpo del correo electrónico
  3. Agregar un elemento de decisión para comprobar el tema claveAccount está asociado
  4. Agregar acción de envío de correo electrónico: para notificar al propietario del tema

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Asignación de tema
    2. Activar el flujo cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: agregue una plantilla de texto para construir el cuerpo del correo electrónico

Ahora crearemos una plantilla de correo electrónico utilizando la plantilla de texto . La plantilla de texto le permitió especificar los mensajes de varias líneas. También le permite utilizar código HTML.

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para crear una plantilla de texto.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : plantilla de texto
    2. Nombre de la API : textT_EmailBody
    3. Seleccione Ver como texto enriquecido
    4. Cuerpo
      1. Hola {!$Record.Topic.CreatedBy.FirstName},
      2. Tema #KeyAccount recién agregado a este registro https://myautomationchampion-dev-ed.my.salesforce.com/ {!$Record.EntityId} por {!$Record.CreatedBy.FirstName}
      3. Saludos,
      4. Campeón de automatización
  3. Haga clic en Listo

Paso 3: uso del elemento de decisión para verificar si el tema KeyAccount está asociado

Ahora usaremos el elemento Decisión para comprobar que el tema keyAccount está asociado con la TopicAssignment actual.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.Topic.Name}
      2. Operador : Igual
      3. Valor : CuentaClave

Paso 4: agregue la acción Enviar correo electrónico para notificar al propietario del tema

Ahora usaremos la acción estática Enviar correo electrónico para enviar un correo electrónico al propietario del tema .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Acción .
  2. Busque y seleccione Enviar correo electrónico en el menú desplegable
  3. Etiquete la nueva acción Notificar al propietario del tema
  4. Establecer valores de entrada
    1. Cuerpo: {!textT_EmailBody}
    2. Asunto: Notificación de asignación de tema: {!$Record.Topic.Name}
    3. Direcciones de correo electrónico (separadas por comas): {!$Record.Topic.CreatedBy.Email}
    4. Cuerpo con formato de texto enriquecido: {!$GlobalConstant.True}
  5. Haga clic en Listo .

Al final, Pamela's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 50
  5. Etiqueta de la entrevista : Notificar al propietario del tema {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si un usuario asocia Tema (KeyAccount) para registrar, publicar o en cualquier lugar, el flujo activado por registro se activará y notificará al propietario del tema.

  1. Navegue a la pestaña Prospecto y asocie Tema ( KeyAccount ) al prospecto 16744 , como se muestra en la siguiente captura de pantalla:
  2. Warren (propietario del tema) recibirá la siguiente notificación por correo electrónico.

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/email-notification-on-topic-assignment/

Categories
Developers

Consulta de registros por lista de ID en el flujo

Última actualización el 8 de mayo de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

¿Cómo puede eliminar automáticamente las tareas abiertas relacionadas con la oportunidad y la(s) cotización(es) cuando una oportunidad está marcada como cerrada perdida?

Objetivos:

Después de leer esta publicación de blog, el lector podrá:

  • Comprender @InvocableMethod e InvocableVariable Anotación
  • Obtenga el tipo de sObject en el código Apex
  • Pase la lista de recordIds al vértice invocable
  • Llame a la clase de Apex invocable que toma una lista de ID
  • Eliminar registros de forma permanente mediante Apex
  • Llamar al método invocable desde el flujo

Arda Turan trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Ha recibido un requisito de la gerencia de que cada vez que se actualice una oportunidad con etapa cerrada perdida, haga lo siguiente:

  • Eliminar tareas abiertas en la oportunidad actual
  • Eliminar tareas abiertas de presupuestos relacionados

Enfoque de Campeón de Automatización (I-do):

Si bien Record-Triggered Flow es muy flexible desde el primer momento , hay algunos casos de uso comercial que no se pueden lograr usándolo. Por ejemplo
  • El flujo activado por registro no admite la cláusula IN en el elemento get
  • El flujo activado por registros no nos permite eliminar registros de forma definitiva
  • y mucho más
Si bien el negocio anterior se puede resolver usando varias herramientas de automatización como Apex o Flow (agregando Obtener elemento dentro del bucle) , usaremos Record-Triggered Flow y llamaremos a un método de Apex invocable .

para llamar a un

Apex , agregue la acción Llamar a Apex a su proceso y seleccione una clase de Apex con una anotación de método @invocable . Significa que nos permiten extender el Flujo de Salesforce al escribir código Apex que cumple con ciertos criterios y luego invocar el Apex desde nuestros Flujos . Si la clase contiene una o más variables invocables , ingrese valores manualmente o valores de campo de referencia de un registro relacionado. La anotación @InvocableMethod admite operaciones masivas.

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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Arda mediante el flujo activado por registro . Debemos:
  1. Crear clase de Apex y clase de prueba
  2. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregue una variable de colección de texto para almacenar los ID de registro
    3. Agregue un elemento de decisión para validar que la etapa de oportunidad es igual a cerrada perdida
    4. Agregue un elemento de asignación para agregar el ID de oportunidad a la variable de colección (creado en el paso 1.2)
    5. Agregue un elemento de obtener registros para encontrar las cotizaciones relacionadas
    6. Agregue un elemento de decisión para verificar si se encontraron cotizaciones o no
    7. Agregue un elemento de bucle para recuperar registros de la variable de colección de registros (desde el paso 1.5)
    8. Agregue un elemento de asignación para agregar quoteId a la variable de colección (Creado en el paso 1.2)
    9. Agregar acción: llame a una clase de Apex para eliminar las tareas abiertas para las identificaciones dadas

Paso 1: Cree una clase de Apex y una clase de prueba

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Clases de Apex .
  3. Da clic en el botón Nuevo .
  4. Copie el código de GitHub y péguelo en su clase de Apex.
  5. Haga clic en Guardar.
Repita los pasos anteriores y haga clic en la clase de prueba. Puede obtener el código de mi repositorio de GitHub .
  • El método getSObjectType se usa para obtener un token sObject de una ID.
  • La papelera de reciclaje vacía se utiliza para eliminar registros de la papelera de reciclaje inmediatamente.

Paso 2.1: 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 registro opción, haga clic en Crear
    1. Objeto : Oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2.2: agregue un texto de variable de colección para almacenar ID de registro

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para almacenar los ID de oportunidades o cotizaciones.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Variable
    2. Nombre de la API : varT_recordIds
    3. Tipo de datos : Texto
    4. Valor predeterminado: {!$GlobalConstant.EmptyString}
    5. Marque Permitir múltiples valores (colección)
    6. Comprobar disponible para entrada
    7. Comprobar disponible para la salida
  3. Haga clic en Listo .

Paso 2.3: uso del elemento de decisión para verificar si la oportunidad está cerrada, perdida o no

Ahora usaremos el elemento Decisión para verificar StageName y asegurarnos de que sea igual a Cerrado perdido.
  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.StageName}
      2. Operador : Igual
      3. Valor : Cerrado Perdido

La razón por la que seleccionaríamos la casilla de verificación para la pregunta (Solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición) es para permitir que el flujo ejecute las acciones solo si el registro cumple los criterios ahora, pero los valores que tenía el registro inmediatamente antes de que se guardara no cumplían con los criterios. Esto significa que estas acciones no se ejecutarán cuando se realicen cambios irrelevantes.

Paso 2.4: agregar un elemento de asignación para asignar el Id. de oportunidad a la variable de colección

  1. En Flow Designer, debajo del nodo Cerrado perdido , haga clic en el ícono + y seleccione el elemento Asignación .
  2. Ingrese un nombre en la etiqueta , el nombre de la API se completará automáticamente.
  3. Establecer valores de variables
    1. Fila 1:
      1. Campo: {!varT_Ids}
      2. Operador: Agregar
      3. Valor: {!$Record.Id}
  4. Haga clic en Listo .

Paso 2.5: agregue un elemento Obtener registro para encontrar las cotizaciones relacionadas

El siguiente paso es utilizar el   Obtenga el elemento Registros para encontrar las cotizaciones relacionadas.
  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener elemento.
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Cotización de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo: ID de oportunidad
      2. Operador: Igual
      3. Valor: {!$Record.Id}
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos
  8. Haga clic en Listo .

Paso 2.6: uso del elemento de decisión para verificar si se encontraron cotizaciones o no

Ahora, usará el elemento Decisión para verificar si el elemento Decisión anterior devuelve registros de cotización o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Quotes}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 2.7: agregue un elemento de bucle para recuperar registros de la variable de recopilación de registros

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Bucle .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para Variable de colección, seleccione {!Get_Quotes} .
  4. Para especificar la dirección para iterar sobre la colección   seleccione la opción Del primer elemento al último elemento.
  5. Haga clic en Listo .

Paso 2.8: agregar un elemento de asignación para asignar el Id. de cotización a la variable de colección

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Asignación .
  2. Ingrese un nombre en la etiqueta , el nombre de la API se completará automáticamente.
  3. Establecer valores de variables
    1. Fila 1:
      1. Campo: {!varT_Ids}
      2. Operador: Agregar
      3. Valor: {!Loop_through.Id}
  4. Haga clic en Listo .

Paso 2.9: Agregar acción: llamar a una clase de Apex

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Busque y seleccione la clase apex DeleteOpenTasks en el menú desplegable
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada:
    1. Campo : ID de registro
    2. Valor : {!varT_Ids}
  5. Haga clic en Listo .

Al final, Arda's
Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  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. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Consulta de registros por lista de Id. en el flujo {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si un usuario comercial actualiza la Etapa de oportunidad a Cerrada perdida, Record-Trigger eliminará automáticamente todas las tareas abiertas de Oportunidad y cotizaciones relacionadas.

  1. Actualmente, hay dos Cotizaciones adjuntas al Letrero de Oportunidad West Mountain. Cada uno de ellos tiene una tarea abierta , como se muestra en la siguiente captura de pantalla:
  2. Ahora, actualizamos la Etapa de Oportunidad   a Cerrado Perdido .
  3. Vuelva a la Oportunidad y   Cotizar la lista relacionada con la actividad disponible en el detallado   página.

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/05/08/query-records-by-list-of-ids-in-flow-3/

Categories
Developers Salesforce

Crear automáticamente un grupo público para una cuenta nueva

Última actualización el 5 de mayo de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puedes crear automáticamente un grupo público para una nueva cuenta?

Si tiene una gran comunidad implementada y una instancia muy activa de Salesforce, probablemente esté aprovechando los grupos públicos de forma extensiva. El grupo público representa un grupo de usuarios. Podemos agregar cualquier número de usuarios a un grupo público. No hay limitación en el número de miembros por Grupo Público. El trabajo diario del administrador de Salesforce es agregar o eliminar usuarios del grupo Público.

Objetivos:

Esta publicación de blog nos ayudará a comprender lo siguiente

  • Utilice filtros y condiciones para diseñar un proceso.
  • Comprender cómo usar Flow para crear un registro
  • Cree un flujo activado por registro para crear automáticamente un grupo público
  • y mucho más

Arda Turan trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Acaban de implementar una comunidad de socios para administrar mejor el trabajo relacionado de sus socios en un solo lugar y ayudarlos a vender más. Como parte del proceso de incorporación de socios, una vez que ambas partes firmen el contrato. Los siguientes pasos son crear una cuenta de socio y contactos en Salesforce, para otorgarles acceso a la comunidad de socios. Actualmente, en Universal Containers tienen pocos procesos manuales que quieren automatizar se mencionan a continuación

  • Como parte del proceso de incorporación de socios, el administrador del sistema en Universal Containers crea manualmente un grupo público (número de cuenta para nombre y nombre de desarrollador) para cada cuenta de socio. ( Blog 142 )
  • Luego, agregue usuarios asociados de esa cuenta al grupo público creado en el paso anterior. ( Blog 102 )

Enfoque de Campeón de Automatización (I-do):

Voy a compartir una solución para el primer requisito de este artículo y publicaré otro artículo para el segundo requisito, es decir, Blog 102 . Hay algunas soluciones posibles para el primer escenario comercial , pero usaré el flujo activado por registro   para resolverlo Hagamos una pausa de un minuto aquí y entendamos Grupo   objetos en Salesforce.

Nombre del objeto Detalles
Grupo Representa un conjunto de registros de usuario. El grupo puede contener usuarios individuales, otros grupos, los usuarios en un rol o territorio particular, o los usuarios en un rol o territorio particular más todos los usuarios debajo de ese rol o territorio en la jerarquía.

Suposición : – Voy a usar el número de cuenta como etiqueta de grupo público y nombre de grupo. La razón detrás de esto es que necesitamos un nombre único para el nombre del grupo público y el número de cuenta (campo estándar en el objeto de la cuenta) siempre es único para el negocio. Si desea usar algo más como Nombre de cuenta más Número de cuenta o ID, considere usar el campo de fórmula.

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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Arda utilizando el flujo activado por registro después de guardar . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar si es una cuenta de socio
  3. Agregue un elemento de creación de registros para crear un nuevo grupo público

Paso 1: 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 registro opción, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Cuenta
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: uso del elemento de decisión para verificar si la cuenta es una cuenta de socio o no

Ahora usaremos el elemento Decisión para verificar si la cuenta es una cuenta de socio o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.IsPartner}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar el resultado : solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición
  6. Haga clic en Listo .

La razón por la que seleccionaríamos la casilla de verificación para la pregunta (Solo si el registro que activó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición) es para permitir que el flujo desencadenado por el registro ejecute las acciones solo si el registro cumple con los criterios. ahora, pero los valores que tenía el registro inmediatamente antes de guardarlo no cumplían con los criterios. Esto significa que estas acciones no se ejecutarán cuando se realicen cambios irrelevantes.

Paso 3: Agregar acción: crear un registro

El siguiente paso es crear un grupo público, tan pronto como una cuenta se habilite como cuenta de socio . Para ello utilizaremos el elemento Create Records .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. 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 establecer los campos de registro : use recursos separados y valores literales
    4. Objeto : Grupo
    5. Establecer valores de campo para la relación de eventos
    6. Fila 1:
      1. Campo : Nombre
      2. Valor : {!$Record.AccountNumber}
  4. Haga clic en Listo .

Al final, Arda's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Introducir etiqueta de flujo   el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Crear automáticamente un grupo público para una cuenta nueva {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

Si un representante de ventas o un administrador del sistema crea o actualiza una cuenta como cuenta de socio, el flujo activado por registro se activará y creará automáticamente un grupo público .

  1. Vaya a la pestaña Cuenta e identifique una cuenta que desee habilitar como cuenta de socio. En este caso, quiero habilitar Grand Hotels & Resorts Ltd como cuenta de socio. <img data-attachment-id="8522" data-permalink="https://automationchampion.com/2022/05/05/auto-create-a-public-group-for-new-account-3/new-account/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/new-account.png?fit=2078%2C888&ssl=1" data-orig-size="2078,888" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="New Account" data-image-description="

    New Account

    » data-image-caption=»

    New Account

    » data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/new-account.png?fit=300%2C128&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/new-account.png?fit=640%2C273&ssl=1″ loading=»lazy» class=»aligncenter wp-image-8522 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/05/crear-automaticamente-un-grupo-publico-para-una-cuenta-nueva-10.png» alt=»Nueva cuenta» width=»640″ height=»273″ data-recalc-dims=»1″>

  2. Haga clic en Administrar cuenta externa y luego haga clic en Habilitar como socio , como se muestra en la siguiente captura de pantalla: <img data-attachment-id="8523" data-permalink="https://automationchampion.com/2022/05/05/auto-create-a-public-group-for-new-account-3/enable-partner-account/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/enable-partner-account.png?fit=2216%2C894&ssl=1" data-orig-size="2216,894" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Enable Partner Account" data-image-description="

    Enable Partner Account

    » data-image-caption=»

    Enable Partner Account

    » data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/enable-partner-account.png?fit=300%2C121&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/enable-partner-account.png?fit=640%2C258&ssl=1″ loading=»lazy» class=»aligncenter wp-image-8523 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/05/crear-automaticamente-un-grupo-publico-para-una-cuenta-nueva-11.png» alt=»Habilitar cuenta de socio» width=»640″ height=»258″ data-recalc-dims=»1″>

  3. Espere unos minutos y luego navegue hasta el grupo público (Haga clic en Configuración | Administrar | Administrar usuarios | Grupos públicos )

<img data-attachment-id="8524" data-permalink="https://automationchampion.com/2022/05/05/auto-create-a-public-group-for-new-account-3/proof-of-concept-6/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=1524%2C506&ssl=1" data-orig-size="1524,506" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Proof of concept" data-image-description="

Proof of concept

» data-image-caption=»

Proof of concept

» data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=300%2C100&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=640%2C212&ssl=1″ loading=»lazy» class=»aligncenter wp-image-8524 size-full jetpack-lazy-image» src=»https://discover.egafutura.com/wp-content/uploads/2022/05/crear-automaticamente-un-grupo-publico-para-una-cuenta-nueva-12.png» alt=»Prueba de concepto» width=»640″ height=»212″ data-recalc-dims=»1″ srcset=»data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7″>

<img data-attachment-id="8524" data-permalink="https://automationchampion.com/2022/05/05/auto-create-a-public-group-for-new-account-3/proof-of-concept-6/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=1524%2C506&ssl=1" data-orig-size="1524,506" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Proof of concept" data-image-description="

Proof of concept

» data-image-caption=»

Proof of concept

» data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=300%2C100&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/08/proof-of-concept.png?fit=640%2C212&ssl=1″ loading=»lazy» class=»aligncenter wp-image-8524 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/05/crear-automaticamente-un-grupo-publico-para-una-cuenta-nueva-13.png» alt=»Prueba de concepto» width=»640″ height=»212″ data-recalc-dims=»1″>

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/05/05/auto-create-a-public-group-for-new-account-3/

Categories
Developers

Generar automáticamente tareas en contratos de renovación

Última actualización el 12 de abril de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se generan tareas si los contratos se renuevan en 30 días?

Objetivos:

Después de leer este blog, podrá:

  • Cree un flujo activado programado optimizado
  • Utilice fórmulas (fecha, concatenación) en el flujo de Salesforce
  • Use el flujo desencadenado por programación para generar automáticamente tareas para contratos de renovación
  • Use el elemento crear registros para crear un registro (tarea)
  • Supervisar la cola de flujo activada programada
  • y mucho más

Olivia Rodrigo trabaja como administradora de sistemas en Gurukul on Cloud (GoC) . Ha recibido un requisito de la administración de que, si los contratos están listos para vencer en 30 días a partir de hoy, cree una tarea para el propietario de la cuenta con los siguientes detalles:

  • Asunto : – Renovación del contrato – Nombre de la cuenta – Año actual
  • Estado : – No iniciado
  • Prioridad : – Alta
  • Fecha de vencimiento: – 15 días antes de la fecha de finalización del contrato
  • Relacionado con :- Contacto
  • Asignado a :- Titular de la cuenta

Enfoque de Campeón de Automatización (I-do):

Si bien esto se puede resolver con varias herramientas de automatización como Batch Apex y otras , usaremos el flujo activado por programación . Tal vez se pregunte por qué usamos el flujo desencadenado por programación en lugar del flujo desencadenado por registro.

En primer lugar, el flujo activado por registros solo se ejecuta cuando se crea, actualiza o elimina un registro. ¿Qué pasará si nadie actualiza el registro del contrato después de la activación? Entonces, el activador de registro nunca se activará y es posible que perdamos el contrato.

En segundo lugar, es mejor tener un trabajo que se ejecute todas las noches y verifique si un contrato está listo para vencer en 30 días a partir de hoy, y luego crear una tarea para él, que no requiere que nadie actualice el contrato para crear una tarea. a medida que el flujo desencadenado programado se ejecuta a la hora especificada.

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.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Olivia mediante el flujo activado programado . Debemos:

  1. Cree un campo de fórmula (Días restantes del contrato) en el objeto del contrato para calcular los días hasta la fecha de finalización del contrato.
  2. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por programación
    2. Crear una fórmula para construir el asunto de la tarea
    3. Crear una fórmula para calcular la fecha de vencimiento de la tarea
    4. Agregue un elemento de creación de registros para generar una nueva tarea

Paso 1: crear un campo de fórmula para calcular los días restantes del contrato

En el objeto Contrato , cree un campo de fórmula llamado Días restantes en el contrato como se menciona en los pasos a continuación.

  1. Haga clic en Configuración.
  2. En el Administrador de objetos, escriba Contrato y seleccione Contrato .
  3. Seleccione Campo y relación , luego haga clic en Nuevo .
  4. Seleccione Fórmula como tipo de datos y luego haga clic en Siguiente .
  5. Elija el tipo de salida
    1. Ingrese Etiqueta de campo y haga clic en la tecla de tabulación, se completará el nombre de la API .
    2. Seleccione Tipo de devolución de fórmula como Número .
  6. Ingrese la fórmula: Fecha de finalización-Hoy ()
  7. Configure la seguridad a nivel de campo para los perfiles , asegúrese de configurar este campo como lectura y escritura.
  8. Agregue este campo a Diseño de página .
  9. Haga clic en Guardar .

Paso 2.1: Flujo de Salesforce: definir las propiedades del 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, haga clic en Crear y configure el flujo de la siguiente manera:
    1. Establecer horario
      1. Fecha de inicio: 08 de abril de 2022
      2. Hora de inicio: 2:00 a . m.
      3. Frecuencia: Diaria
      4. Haga clic en Listo .
    2. Seleccionar Objeto : Contrato
  5. Requisitos de condición : se cumplen todas las condiciones (Y)
    1. Establecer condiciones :
      1. Fila 1:
        1. Campo : Días_restantes_en_contrato__c
        2. Operador : Igual
        3. Valor : 30
      2. Añadir fila
      3. Fila 2:
        1. Campo : Estado
        2. Operador : Igual
        3. Valor : Activado
  6. Haga clic en Listo.

–> El propósito de definir la condición del filtro en el flujo activado programado es evitar el límite diario de la organización. La cantidad máxima de entrevistas de flujo activadas por programación por 24 horas es 250 000, o la cantidad de licencias de usuario en su organización multiplicada por 200, lo que sea mayor. Se crea una entrevista para cada registro recuperado por la consulta de flujo activada por programación.

Si especifica un objeto para que el flujo se ejecute para un lote de registros, establezca el tiempo, la frecuencia y las condiciones de registro para evitar alcanzar este límite. Puede usar los registros de depuración para comprobar en cuántos registros se ejecuta un flujo activado por programación. Realice un seguimiento del número de registros con el evento FLOW_START_SCHEDULED_RECORDS . Si su organización alcanza el límite, Salesforce envía un correo electrónico de error de flujo.

Paso 2.2: Flujo de Salesforce: fórmula para construir el asunto de la tarea

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para construir el asunto de la tarea mediante la fórmula de concatenación.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : para T_Subject
    3. Tipo de datos : Texto
    4. Fórmula : 'Renovación de contrato'&' – '&{!$Record.Account.Name}&' – '&TEXT(YEAR({!$Flow.CurrentDate}))
  3. Haga clic en Listo .

Paso 2.3: Flujo de Salesforce: fórmula para calcular la fecha de vencimiento de la tarea

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar la fecha de vencimiento de la tarea.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forD_DueDate
    3. Tipo de datos : Fecha
    4. Fórmula : {!$Record.EndDate}-15
  3. Haga clic en Listo .

Paso 2.4: Flujo de Salesforce – Agregar acción – Crear un registro

El siguiente paso es crear una tarea para esto usaremos el elemento Create Records .

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Crear registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. 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 establecer los campos de registro : use recursos separados y valores literales
    4. Objeto : Tarea
    5. Establecer valores de campo para la asignación de tema
    6. Fila 1:
      1. Campo : Fecha de actividad
      2. Valor : {!forD_DueDate}
    7. Haga clic en Agregar campo
    8. Fila 2:
      1. Campo : ID de propietario
      2. Valor : {!$Record.Account.OwnerId}
    9. Haga clic en Agregar campo
    10. Fila 3:
      1. Campo : Prioridad
      2. Valor : Alto
    11. Haga clic en Agregar campo
    12. Fila 4:
      1. Campo : Estado
      2. Valor : No iniciado
    13. Haga clic en Agregar campo
    14. Fila 5:
      1. Campo : Asunto
      2. Valor : {! para T_Subject}
    15. Haga clic en Agregar campo
    16. Fila 6:
      1. Campo : WhatId
      2. Valor : {!$Record.Id}
    17. Haga clic en Agregar campo
    18. Fila 7:
      1. Campo : QuiénId
      2. Valor : {!$Record.CustomerSignedId}
  4. Haga clic en Listo .

Al final, Olivia's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Introducir etiqueta de flujo   el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 54
  5. Etiqueta de entrevista : Flujo activado por programación: Tarea de renovación de contrato {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

¡Casi ahí! 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 | Empleos | 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 Del para eliminar el trabajo de flujo programado de la cola.

Prueba de concepto

Todas las noches a las 2:00 a. m., se ejecutará un trabajo programado y comenzará a crear una tarea si la fecha de renovación del contrato es igual a 30 días.

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/12/auto-generate-tasks-on-renewal-contracts-2/