Categories
Enterprise Software

Comenzando con Salesforce CDRM: Guía de primeros pasos para optimizar tus procesos de gestión de datos

Introducción

Salesforce CDRM (Customer Data Relationship Management) es una herramienta poderosa que permite a las empresas gestionar y organizar eficientemente sus datos de clientes. En un mundo cada vez más digital, donde la información es clave para el éxito de cualquier negocio, contar con una solución de gestión de datos robusta se ha vuelto fundamental.

En este artículo, exploraremos en detalle qué es Salesforce CDRM y por qué es importante para tu negocio. También discutiremos los pasos necesarios para preparar tu cuenta de Salesforce para la implementación de CDRM, cómo configurar tus objetos y campos de datos, cómo importar y limpiar tus datos, cómo crear reglas de validación y duplicados, cómo definir tus procesos de negocio, cómo automatizar tus procesos de gestión de datos y cómo realizar análisis y reporting de datos. Al final del artículo, entenderás la importancia de implementar Salesforce CDRM en tu negocio y estarás listo para aprovechar al máximo esta herramienta.

¿Qué es Salesforce CDRM y por qué es importante para tu negocio?

Salesforce CDRM es una solución de gestión de datos que permite a las empresas almacenar, organizar y gestionar eficientemente la información de sus clientes. Esta herramienta se basa en la plataforma Salesforce, que es líder en el mercado de CRM (Customer Relationship Management).

La gestión eficiente de los datos del cliente es crucial para cualquier negocio. Los datos son el activo más valioso de una empresa y su correcta gestión puede marcar la diferencia entre el éxito y el fracaso. Salesforce CDRM ofrece una serie de beneficios que ayudan a las empresas a optimizar sus procesos de gestión de datos.

Uno de los principales beneficios de Salesforce CDRM es la centralización de la información del cliente. Con esta herramienta, todas las interacciones con los clientes, como llamadas, correos electrónicos, reuniones y transacciones, se registran y almacenan en un solo lugar. Esto facilita el acceso a la información y permite a los equipos de ventas y marketing tener una visión completa de cada cliente.

Además, Salesforce CDRM ofrece funcionalidades avanzadas de análisis y reporting que permiten a las empresas obtener información valiosa sobre sus clientes. Esto les ayuda a tomar decisiones más informadas y a personalizar sus estrategias de marketing y ventas.

Preparando tu cuenta de Salesforce para CDRM

Antes de implementar Salesforce CDRM, es importante preparar tu cuenta de Salesforce para asegurarte de que esté limpia y organizada. Esto implica eliminar datos duplicados, corregir errores y asegurarse de que los campos estén correctamente etiquetados.

El primer paso para preparar tu cuenta de Salesforce es realizar una auditoría exhaustiva de tus datos existentes. Esto implica revisar todos los registros y eliminar cualquier duplicado o información incorrecta. También debes asegurarte de que todos los campos estén correctamente etiquetados y que la información esté organizada de manera coherente.

Una vez que hayas limpiado tus datos existentes, es importante establecer un proceso para mantener tu cuenta de Salesforce organizada en el futuro. Esto implica establecer reglas y políticas claras para la entrada de datos, así como capacitar a tu equipo en la importancia de mantener la integridad de los datos.

Configurando tus objetos y campos de datos en Salesforce CDRM

En Salesforce CDRM, los objetos son entidades que representan diferentes tipos de registros, como cuentas, contactos, oportunidades y casos. Los campos son atributos de estos objetos que almacenan información específica, como el nombre del cliente, la dirección de correo electrónico y el número de teléfono.

La configuración de los objetos y campos de datos en Salesforce CDRM es fundamental para adaptar la herramienta a las necesidades específicas de tu negocio. Esto implica definir qué objetos y campos son relevantes para tu empresa y cómo se relacionan entre sí.

Por ejemplo, si eres una empresa de comercio electrónico, es posible que desees configurar un objeto de «producto» con campos como el nombre del producto, el precio y la cantidad disponible. También puedes configurar un objeto de «pedido» con campos como el cliente, la fecha del pedido y los productos comprados.

La configuración de los objetos y campos también implica establecer reglas de validación para garantizar que los datos ingresados sean precisos y consistentes. Por ejemplo, puedes establecer una regla de validación que requiera que se ingrese un número de teléfono válido en el campo correspondiente.

Importando tus datos a Salesforce CDRM

Una vez que hayas configurado tus objetos y campos en Salesforce CDRM, es hora de importar tus datos existentes a la plataforma. Es importante seguir las mejores prácticas para garantizar la precisión de los datos durante el proceso de importación.

Antes de importar tus datos, debes asegurarte de que estén limpios y organizados. Esto implica eliminar duplicados, corregir errores y asegurarte de que los campos estén correctamente etiquetados.

Una vez que tus datos estén listos para ser importados, puedes utilizar las herramientas de importación de Salesforce CDRM para cargarlos en la plataforma. Estas herramientas te permiten mapear los campos de tus datos existentes a los campos correspondientes en Salesforce CDRM.

Durante el proceso de importación, es importante verificar la precisión de los datos y corregir cualquier error que se encuentre. También debes asegurarte de que los datos se importen en el formato correcto y que se asignen a los objetos y campos correspondientes.

Limpieza y normalización de datos en Salesforce CDRM

La limpieza y normalización de datos es un paso crucial en la gestión de datos en Salesforce CDRM. Esto implica eliminar duplicados, corregir errores y asegurarse de que los datos estén formateados correctamente.

La limpieza de datos implica eliminar registros duplicados o incorrectos. Esto se puede hacer utilizando las herramientas de deduplicación de Salesforce CDRM, que identifican registros duplicados basados en criterios específicos, como el nombre del cliente o la dirección de correo electrónico.

La normalización de datos implica asegurarse de que los datos estén formateados correctamente y sean consistentes. Esto implica estandarizar la forma en que se ingresan los datos, como las fechas, los números de teléfono y las direcciones. También implica asegurarse de que los campos estén correctamente etiquetados y que la información esté organizada de manera coherente.

La limpieza y normalización de datos es un proceso continuo que debe realizarse regularmente para garantizar la integridad de los datos en Salesforce CDRM. Esto implica establecer reglas y políticas claras para la entrada de datos, así como capacitar a tu equipo en la importancia de mantener la calidad de los datos.

Creando reglas de validación y de duplicados en Salesforce CDRM

Las reglas de validación y duplicados son herramientas poderosas que ayudan a garantizar la precisión y consistencia de los datos en Salesforce CDRM.

Las reglas de validación son reglas que se aplican a los campos de datos para garantizar que los datos ingresados sean precisos y consistentes. Por ejemplo, puedes establecer una regla de validación que requiera que se ingrese un número de teléfono válido en el campo correspondiente.

Las reglas de duplicados son reglas que se aplican a los registros para identificar y prevenir registros duplicados. Por ejemplo, puedes establecer una regla de duplicados que identifique registros duplicados basados en criterios específicos, como el nombre del cliente o la dirección de correo electrónico.

La creación y personalización de reglas de validación y duplicados en Salesforce CDRM es fundamental para garantizar la calidad de los datos. Esto implica definir las reglas que son relevantes para tu negocio y configurarlas en la plataforma.

Definiendo tus procesos de negocio en Salesforce CDRM

La definición de tus procesos de negocio en Salesforce CDRM es fundamental para garantizar una gestión eficiente de los datos. Esto implica establecer flujos de trabajo claros y personalizados que reflejen tus procesos empresariales.

Los flujos de trabajo en Salesforce CDRM son secuencias automatizadas de tareas y acciones que se activan en función de eventos específicos. Por ejemplo, puedes configurar un flujo de trabajo que envíe automáticamente un correo electrónico de seguimiento a un cliente después de una reunión.

La definición y personalización de tus procesos de negocio en Salesforce CDRM te permite automatizar tareas repetitivas y garantizar que se sigan los pasos correctos en cada interacción con el cliente. Esto ayuda a mejorar la eficiencia y la consistencia de tus procesos empresariales.

Automatizando tus procesos de gestión de datos con Salesforce CDRM

La automatización de los procesos de gestión de datos es otro beneficio clave de Salesforce CDRM. Esto implica utilizar herramientas como flujos de trabajo y el generador de procesos para automatizar tareas y acciones.

Los flujos de trabajo en Salesforce CDRM te permiten automatizar tareas repetitivas y garantizar que se sigan los pasos correctos en cada interacción con el cliente. Por ejemplo, puedes configurar un flujo de trabajo que envíe automáticamente un correo electrónico de seguimiento a un cliente después de una reunión.

El generador de procesos en Salesforce CDRM te permite crear procesos empresariales personalizados que se activan en función de eventos específicos. Por ejemplo, puedes configurar un proceso que se active cuando se crea una nueva oportunidad de venta y que envíe automáticamente una notificación al equipo de ventas.

La automatización de los procesos de gestión de datos en Salesforce CDRM ayuda a mejorar la eficiencia y la consistencia de tus operaciones comerciales. También te permite ahorrar tiempo y recursos al eliminar tareas manuales y repetitivas.

Análisis y reporting de datos en Salesforce CDRM

El análisis y reporting de datos es fundamental para tomar decisiones informadas y personalizar tus estrategias de marketing y ventas. Salesforce CDRM ofrece una serie de herramientas avanzadas que te permiten realizar análisis detallados y crear informes personalizados.

Las herramientas de análisis en Salesforce CDRM te permiten realizar análisis de datos en tiempo real y obtener información valiosa sobre tus clientes. Por ejemplo, puedes analizar las tendencias de compra de tus clientes y utilizar esta información para personalizar tus ofertas y promociones.

Las herramientas de reporting en Salesforce CDRM te permiten crear informes personalizados que reflejen tus necesidades empresariales. Puedes crear informes que muestren métricas clave, como el número de oportunidades de venta cerradas o el retorno de la inversión en marketing.

El análisis y reporting de datos en Salesforce CDRM te ayuda a tomar decisiones más informadas y a optimizar tus estrategias de marketing y ventas. También te permite identificar áreas de mejora y realizar cambios necesarios en tus procesos empresariales.

Mejorando continuamente tus procesos de gestión de datos con Salesforce CDRM

La mejora continua es fundamental en la gestión de datos en Salesforce CDRM. Esto implica utilizar la herramienta para identificar áreas de mejora y realizar los cambios necesarios en tus procesos empresariales.

Salesforce CDRM ofrece una serie de herramientas que te permiten realizar un seguimiento del rendimiento de tus procesos de gestión de datos. Puedes utilizar informes y paneles personalizados para analizar métricas clave, como la precisión de los datos y la eficiencia del proceso.

Una vez que hayas identificado áreas de mejora, puedes utilizar las herramientas de configuración y automatización en Salesforce CDRM para realizar los cambios necesarios en tus procesos empresariales. Por ejemplo, puedes ajustar las reglas de validación o crear nuevos flujos de trabajo para mejorar la calidad y eficiencia de tus operaciones comerciales.

La mejora continua en la gestión de datos en Salesforce CDRM te ayuda a optimizar tus procesos empresariales y a mantener la calidad de tus datos a largo plazo. También te permite adaptarte a los cambios en el mercado y a las necesidades cambiantes de tus clientes.

Conclusión

En resumen, Salesforce CDRM es una herramienta poderosa que permite a las empresas gestionar y organizar eficientemente sus datos de clientes. Esta herramienta ofrece una serie de beneficios, como la centralización de la información del cliente, la personalización de los procesos empresariales y la automatización de tareas repetitivas.

Para aprovechar al máximo Salesforce CDRM, es importante preparar tu cuenta de Salesforce, configurar tus objetos y campos de datos, importar y limpiar tus datos, crear reglas de validación y duplicados, definir tus procesos de negocio, automatizar tus procesos de gestión de datos y realizar análisis y reporting de datos.

Implementar Salesforce CDRM en tu negocio te ayudará a mejorar la eficiencia y la consistencia de tus operaciones comerciales, tomar decisiones más informadas y personalizar tus estrategias de marketing y ventas. No pierdas más tiempo y comienza a utilizar Salesforce CDRM para una mejor gestión de datos en tu negocio.
Si estás interesado en aprender más sobre el mundo de las remesas, te recomendamos leer nuestro artículo «¿Qué es una remesa?» en el que explicamos qué son las remesas y cómo funcionan. También puedes encontrar información útil sobre otros temas relacionados como el IBAN, el Reglamento General de Protección de Datos, el ciclo de vida del producto, las tarjetas de débito, SEPA, los holdings y muchas otras temáticas relevantes. ¡No te lo pierdas!

Categories
Developers

Nunca te pierdas el ritmo: notificaciones para la eliminación de clientes potenciales en la cadencia de participación de ventas

Última actualización el 1 de noviembre de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se notifica al propietario del cliente potencial cuando alguien elimina un cliente potencial de la cadencia de participación de ventas?

Objetivos:

Después de leer este blog, podrás:

  • Comprender la captura de datos modificados
  • Comprender el objeto ActionCadenceTracker
  • Suscríbase para cambiar eventos mediante un activador de Apex
  • Llamar a un flujo iniciado automáticamente desde la clase Apex
  • Y mucho más.

👉 Anteriormente, escribí un artículo sobre Sales Engagement. ¿Por qué no echarles un vistazo mientras lo haces?

  1. ¿Ya ha recorrido el camino de ladrillos amarillos de la cadencia de ventas?

A Benjamin Moore , administrador de Salesforce en Gurukul On Cloud (GoC), se le ha asignado una tarea específica. Siempre que un vendedor por teléfono o el equipo de ventas internas elimine un cliente potencial (cliente potencial) de la cadencia de participación de ventas, asegúrese de la creación automática de una tarea con estos detalles:

  • Asunto : – Cliente potencial eliminado de la cadencia de participación en ventas
  • Estado : – No iniciado
  • Prioridad :- Alta
  • Fecha de vencimiento : – Hoy
  • Relacionado con : – Plomo
  • Asignado a : – Propietario principal

¿Qué es la cadencia de participación en ventas?

La adquisición de clientes potenciales es un paso importante en cualquier esfuerzo de marketing. Una vez que los equipos de ventas internas tienen una lista de clientes potenciales, están listos para emprender actividades de divulgación. ¡Pero espera! Demos un paso atrás y reflexionemos sobre las siguientes preguntas como preámbulo para comprender la cadencia de ventas: (1) ¿Con qué frecuencia desea que sus representantes se comuniquen con los clientes potenciales? (2) ¿Cómo le gustaría que se comunicaran con el cliente potencial, mediante llamada o correo electrónico? (2) ¿Cómo desea capturar la disposición de las llamadas? (3) etcétera.

La cadencia de participación de ventas es una línea de tiempo de las actividades y métodos de ventas que siguen los representantes de ventas para atraer clientes potenciales. El propósito de una cadencia es facilitar que el representante de ventas interno cumpla con el cronograma y garantice que los prospectos no sean olvidados, es decir, que nada se pierda. Por ejemplo, si ofrece una consulta gratuita en su sitio web y alguien completa un formulario, la cadencia incluiría una lista de las cosas que hace para programar la primera reunión.

Una cadencia de ventas normalmente incluye tres puntos de contacto diferentes: correo electrónico , redes sociales y llamadas/correos de voz . La cadencia, para diferentes embudos de ventas, puede diferir, pero siempre debe incluir una combinación de las tres formas de comunicación mencionadas.

Una cadencia de participación de ventas se parece a esto:

HVS.png

En otras palabras, las cadencias de participación de ventas difieren de un tipo de proceso de ventas a otro, pero la idea básica sigue siendo la misma: toques consistentes y secuenciales.

¿Qué es la captura de datos modificados?

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2023/11/01/never-miss-a-beat-notifications-for-prospect-removal-in-sales-engagement-cadence/

Categories
Developers

Cómo mantener la seguridad en los flujos de trabajo de recopilación de datos de Salesforce

Última actualización el 18 de agosto de 2023 por Rakesh Gupta

La seguridad de los datos debe ser una de sus principales prioridades si recopila, almacena y administra información personal. La protección de datos es especialmente importante si sus flujos de trabajo de recopilación de datos de Salesforce se integran con varias herramientas, como un generador de formularios web o un sistema de pago.

Muchas regiones e industrias tienen leyes estrictas de privacidad de datos, que incluyen GDPR, GLBA, HIPAA y otras, que rigen la forma en que las organizaciones manejan los datos. Puede garantizar la seguridad y el cumplimiento de los datos a lo largo de sus flujos de trabajo de recopilación de datos de Salesforce de varias maneras, incluido el enmascaramiento y el cifrado de datos, el control y los permisos de acceso, y el monitoreo regular.

Comprender la importancia de mantener los datos seguros

Los datos confidenciales son todos los datos que se pueden usar para identificar a una persona o dañarlos si se pierden o son robados. Los tipos de datos confidenciales incluyen:

  • Información de identificación personal
  • información de salud protegida
  • Registros financieros o educativos
  • Datos étnicos, políticos y biométricos

Mantener la seguridad de los datos personales ayuda a generar confianza con las personas que comparten su información personal con usted. También garantiza que su organización evite sanciones por incumplimiento de las leyes de privacidad de datos.

Prácticas recomendadas de seguridad al recopilar datos

Su organización es responsable de asegurarse de que las herramientas de recopilación de datos que utiliza tengan implementadas las medidas de seguridad adecuadas. Podrá proteger mejor los datos confidenciales desde el momento en que se recopilan, a medida que se mueven a través de sus flujos de trabajo y cuando se trasladan a Salesforce.

Enmascarar campos sensibles

El enmascaramiento de campo ayuda a garantizar que los datos confidenciales se mantengan confidenciales y no se expongan innecesariamente a usuarios no autorizados.

Cifrar datos

El cifrado de datos ayuda a proteger los datos confidenciales contra el acceso, uso o robo no autorizados, ya sea que estos datos estén en reposo o en tránsito.

Limite el acceso a los datos

La implementación de control de acceso y permisos garantiza que solo los usuarios autorizados puedan acceder o modificar los datos.

Supervisar y auditar flujos de trabajo

La vigilancia constante ayuda a garantizar que los flujos de trabajo de recopilación de datos mantengan el nivel adecuado de seguridad para mantener seguros los datos confidenciales.

2 formas de mejorar la seguridad en los flujos de trabajo de recopilación de datos de Salesforce

Un flujo de trabajo de recopilación de datos de varios pasos tendrá diferentes puntos de entrada con posibles riesgos de seguridad, como formularios, correos electrónicos y cargas de archivos. Es importante que en cada paso de sus procesos de datos, tenga medidas de seguridad para garantizar que personas no autorizadas no accedan a datos o archivos.

Asegúrese también de probar continuamente sus flujos de trabajo de recopilación de datos de Salesforce en busca de vulnerabilidades de seguridad. La detección temprana de amenazas disminuirá la posibilidad de una violación de datos u otras consecuencias graves.

Implementar reglas de retención de datos

La creación de una política clara de retención de datos es fundamental para definir cómo su organización maneja los datos con fines de cumplimiento. Es importante establecer reglas sobre qué datos deben conservarse y durante cuánto tiempo, así como reglas sobre quién tiene acceso y cómo deshacerse de los datos correctamente una vez que ya no se necesitan.

Acceso a los datos

Establecer reglas de acceso a datos como parte de su política de retención de datos garantizará que solo los usuarios autorizados en un flujo de trabajo tengan acceso a datos confidenciales. Los controles administrativos también pueden incluir el requisito de que los usuarios inicien sesión para ver o modificar las listas de respuestas del flujo de trabajo.

Purga de datos

Dentro de su flujo de trabajo, la configuración de reglas de depuración de datos puede garantizar que los datos de respuesta se eliminen de forma permanente una vez que ya no los utilice. Personalice esta configuración de depuración de datos, como la frecuencia con la que se completa una depuración, según sus requisitos de retención de datos.

Aproveche las aprobaciones del flujo de trabajo

Establecer pasos de aprobación dentro de los flujos de trabajo es importante para garantizar la responsabilidad durante el proceso de recopilación de datos. Los pasos de aprobación dentro de un flujo de trabajo significan que ningún usuario tiene control total sobre los cambios o decisiones de datos, lo que ayuda a mejorar la seguridad y la confidencialidad.

Detección de errores

Los pasos de aprobación en un flujo de trabajo proporcionan un proceso de revisión de datos estándar antes de que los datos se acepten o utilicen oficialmente. Esto ayuda a reducir las incoherencias y los errores, así como a garantizar el cumplimiento de las normas de privacidad de datos pertinentes.

Pista de auditoría

Los registros de auditoría para las aprobaciones de flujos de trabajo simplifican el proceso al registrar cada paso de aprobación y crear un registro histórico de los cambios realizados en los datos. También se pueden utilizar durante las investigaciones en caso de brechas de seguridad o problemas de datos.

Simplificación de los flujos de trabajo de recopilación de datos de Salesforce con FormAssembly

Cuando se trata de proteger los flujos de trabajo de datos, es fundamental contar con políticas de privacidad y seguridad de datos. Su organización puede beneficiarse del uso de una única plataforma de flujo de trabajo y recopilación de datos como FormAssembly, que facilita la centralización de la protección contra amenazas y garantiza el cumplimiento. Este enfoque le permite escalar más fácilmente, auditar los flujos de datos de forma centralizada y aumentar la eficiencia, al mismo tiempo que maximiza la seguridad en todos sus flujos de trabajo de recopilación de datos de Salesforce.

La potente plataforma conectada a Salesforce de FormAssembly combina la recopilación de datos segura y compatible con un generador de procesos visual e inteligente que le permite crear procesos complejos que incluyen formularios, correos electrónicos, integraciones y más, todo sin código.

Descubra cómo FormAssembly puede ayudarlo a optimizar sus flujos de trabajo de recopilación de datos de Salesforce mientras mantiene seguros los datos confidenciales.

👉 Más información sobre el flujo de trabajo de FormAssembly

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/2023/08/18/how-to-maintain-security-in-salesforce-data-collection-workflows/

Categories
Developers Salesforce

Agregar seguidores de Chatter al registro

Última actualización el 23 de marzo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puedo permitir que los usuarios agreguen fácilmente a otros como seguidores de un registro?
  • ¿Puedo incorporarlo como parte de un flujo nuevo/existente?

Objetivos:

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

  • Agregar otro usuario como seguidor de un registro específico utilizando Salesforce Flow
  • Utilice un elemento de decisión para saber si un campo contiene un valor o no.
  • Y, por último, pero no menos importante, descubra cómo usar el elemento Crear registros para crear registros.
  • y mucho más

Brenda David trabaja como administradora de sistemas en Gurukul on Cloud (GoC). Ha recibido un requisito para desarrollar una aplicación que permitirá a los usuarios con acceso de edición en el objeto de la cuenta agregar seguidores de Chatter al registro.

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

Hay algunas soluciones posibles para el escenario empresarial anterior . Usaremos Record-Triggered Flow para resolver el requisito.

El flujo se puede ejecutar en modo Sistema , omitiendo los permisos del usuario en ejecución. Para obtener instrucciones sobre cómo lograr este mismo caso de uso solo con Screen Flow, consulte esta publicación: Primeros pasos con Salesforce Flow: parte 42 (Ejecución de un flujo en modo de sistema)

Antes de continuar, debe familiarizarse 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 revisar 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 Brenda utilizando el flujo activado por registro después de guardar . Debemos:

  1. Creación de un campo de búsqueda personalizado en la cuenta para almacenar un nuevo seguidor
  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 que el valor del campo de búsqueda personalizado no sea nulo
    3. Agregue un elemento de obtención de registros para encontrar el estado del seguidor del usuario seleccionado para el registro actual
    4. Agregue un elemento de decisión para verificar si el usuario está siguiendo el registro actual o no
    5. Agregue un elemento de creación de registros para agregar un usuario al seguidor de registros

Paso 1: crear un campo de búsqueda personalizado en el objeto de cuenta para almacenar un nuevo seguidor

  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 Relación de búsqueda como tipo de datos y, a continuación, haga clic en Siguiente .
  5. Seleccione Usuario relacionado con y , a continuación, haga clic en Siguiente .
  6. Ingrese Etiqueta de campo y haga clic en la tecla de tabulación, se completará el Nombre de campo .
  7. Como práctica recomendada, siempre ingrese una descripción .
  8. Configure la Seguridad a nivel de campo para los perfiles , asegúrese de configurar este campo como Solo visible .
  9. Agregue este campo a Diseño de página .
  10. 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 comprobar que el valor del campo de búsqueda personalizado no es nulo

Ahora usaremos el elemento Decisión para verificar si el campo de búsqueda personalizado para Usuario contiene algún valor 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.Add_Follower__c}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
  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 2.3: Adición de un elemento Obtener registro para encontrar el estado del seguidor del usuario seleccionado para el registro actual

El siguiente paso es usar el elemento Obtener registros para encontrar el estado de seguidor del usuario seleccionado para el registro actual.

  1. En Flow Designer, debajo del nodo Agregar seguidor no es nulo , 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.Id}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo : ID de suscriptor
      2. Operador : Igual
      3. Valor : {!$Record.Add_Follower__c}
  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.4: uso del elemento de decisión para verificar si el usuario seleccionado está siguiendo el registro actual o no

Ahora usaremos el elemento Decisión para verificar que la variable de registro del paso 2.3 sea nula 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_Follower_Status}
      2. Operador: es nulo
      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.5: Crear registros: agregar usuarios al seguidor de registros

Para agregar un nuevo usuario a Record Follower necesitamos crear un registro en el objeto EntitySubscription . Para ello utilizaremos el elemento Create Records. Ahora sigue los pasos a continuación:

  1. En Flow Designer, debajo del nodo No , 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 : EntitySubscription
    5. Establecer valores de campo para EntitySubscription
    6. Fila 1 :
      1. Campo: ParentId
      2. Valor: {!$Record.Id}
    7. Haga clic en Agregar campo
    8. Fila 2 :
      1. Campo: ID de suscriptor
      2. Valor: {!$Record.Add_Follower__c}
  4. Haga clic en Listo.

Al final, Brenda'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 : 57
  5. Etiqueta de entrevista : Agregar seguidor de Chatter para registrar {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

  1. Inicie sesión como Brenda David ( Perfil asignado : – Usuario estándar, la licencia de función Force.com Flow User no está asignada a este usuario).
  2. Navegue a un registro de cuenta y complete el campo Agregar seguidor con Nushi Davoud
  3. Confirmar que el usuario ha sido agregado
    1. Cerrar sesión como Brenda .
    2. Cambiar a Clásico
    3. Navega a la cuenta y revisa los seguidores.
  4. Estás listo .

Práctica Independiente (Hacemos):

Identifique los casos de uso en los que es posible que sea necesario compartir los registros de otros objetos de una manera más manual e implemente el uso compartido con la solución anterior.

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/2023/03/23/add-chatter-followers-to-record-3/

Categories
Developers

Cómo generar documentos en airSlate para Salesforce

Última actualización el 27 de diciembre de 2022 por Rakesh Gupta

La integración nativa de airSlate con Salesforce aborda las tareas más desafiantes para las empresas que buscan automatizar sus flujos de trabajo de documentos dentro de su organización de Salesforce. Permite crear flujos de trabajo integrales, de varios pasos y de varias sucursales dentro de Salesforce para automatizar la generación, el enrutamiento, las aprobaciones, las notificaciones y el almacenamiento de documentos.

airSlate hace que la automatización del flujo de trabajo de documentos sin código sea una experiencia fácil gracias a:

  • Generación automática de documentos utilizando datos de sus registros de Salesforce
  • Gestión flexible de roles y permisos de acceso basados en roles
  • Más de 100 bots sin código utilizados para automatizar cualquier tarea en cuestión

La integración de airSlate con Salesforce le permite iniciar flujos de trabajo automatizados de varias maneras: mediante botones personalizados, widgets de rayos, generador de procesos de Salesforce, Salesforce Flow y/o flujos programados. Lo que es más importante, puede realizar un seguimiento del progreso de su documento a lo largo de todo su ciclo de vida.

En esta publicación, explicaremos cómo automatizar la generación de documentos usando airSlate para Salesforce.

Generación Automatizada de Documentos en airSlate

La generación de documentos es un proceso que implica crear, personalizar, editar y compartir automáticamente documentos basados en datos. Con la generación de documentos de airSlate, los usuarios pueden automatizar diferentes flujos de trabajo de documentos, como la incorporación de empleados, la negociación de contratos, la facturación y muchos más al:

  • Crear plantillas de documentos avanzadas y enviarlas como archivos PDF
  • Relleno previo de documentos con datos de registros de Salesforce, así como muchas otras fuentes de datos

Los beneficios de la generación de documentos airSlate:

  1. Plantillas de documentos avanzadas : cree una plantilla basada en DOCX con campos de combinación, tablas dinámicas, lógica condicional, campos rellenables, imágenes dinámicas y envíelas como PDF.
  2. Herramientas de edición en línea : AirSlate Document Editor permite generar nuevos documentos desde cero o editar archivos PDF existentes como si fueran documentos de Word. Puede escribir texto en cualquier parte de un PDF, editar contenido original, imágenes, gráficos, oscurecer detalles confidenciales y agregar campos rellenables junto con el logotipo de su empresa.
  3. Integraciones de bots sin código: integre sus documentos con cualquier sistema de registro o aplicación en la nube utilizando bots sin código. Extraiga y envíe datos para completar documentos automáticamente, actualizar registros existentes o crear otros nuevos.

Botones personalizados

Los botones personalizados son esenciales para automatizar la generación de documentos en airSlate para Salesforce. Un botón personalizado es una funcionalidad integrada de Salesforce que permite a los usuarios integrar datos de Salesforce con URL externas, aplicaciones u otros sistemas sin codificación.

Esto es muy útil cuando los usuarios necesitan acceder con frecuencia a otras páginas dentro o fuera de su organización, acceder directamente a objetos y páginas de registro, o iniciar enlaces personalizados. Los botones personalizados permiten a los usuarios generar informes, recopilar datos de clientes y procesar documentos con un solo clic.

Aquí hay algunos ejemplos de cómo usar botones personalizados con airSlate:

  • Ejecute un nuevo flujo de trabajo en airSlate, utilizando una plantilla de flujo de trabajo predefinida
  • Seleccione una plantilla de flujo de trabajo en airSlate y ejecútela en Salesforce
  • Ejecute múltiples flujos de trabajo con solo hacer clic en un botón usando una plantilla de flujo de trabajo predefinida
  • Ejecute un flujo de trabajo diferente para cada instancia, según los datos del registro.

Por ejemplo, ejecutar un flujo de trabajo en Salesforce con un botón personalizado puede ayudar a los equipos de recursos humanos a organizar y simplificar el proceso de incorporación de nuevos empleados. Al contratar nuevos empleados, los profesionales de recursos humanos a menudo tienen que enviarles un paquete de documentos estándar que incluye un NDA, los formularios de impuestos requeridos, el código de conducta de la empresa, etc.

Cuando está configurado correctamente, el botón personalizado de airSlate permite a los equipos de recursos humanos generar este paquete de documentos automáticamente con un solo clic.

Cómo automatizar la generación de documentos para la incorporación de empleados usando airSlate para Salesforce

La incorporación de empleados es uno de los flujos de trabajo comerciales críticos que se pueden automatizar con airSlate para Salesforce. Por lo general, los departamentos de recursos humanos necesitan enviar documentos de forma masiva para que los nuevos empleados los completen y los firmen electrónicamente, luego exportan automáticamente los datos y documentos recopilados a Salesforce.

En nuestro ejemplo, hay tres participantes involucrados en el proceso de incorporación:

  • Reclutador , que debe enviar cartas de oferta, formularios de impuestos e información de beneficios para que el nuevo empleado los firme y los almacene en SF.
  • Empleado , que debe completar el proceso de incorporación a la empresa revisando y firmando esos documentos.
  • Y Gerente , a quien se le debe notificar automáticamente cuando se complete el proceso de incorporación.

Así es como funciona el flujo de trabajo de incorporación de empleados en airSlate

El proceso comienza en Salesforce, donde hay una lista de nuevos empleados con información básica sobre ellos. El reclutador selecciona a los empleados y hace clic en el botón airSlate personalizado para iniciar un nuevo flujo de trabajo. Los paquetes de incorporación, con todos los datos de los empleados, se completan previamente y se envían a los empleados por correo electrónico.

[contenido incrustado]

El Empleado recibe una notificación por correo electrónico para completar los documentos. Hacen clic en el enlace en el cuerpo del correo electrónico y son llevados a los documentos, con la mayor parte de su información ya completada. El Empleado puede revisar y firmar cada documento. A medida que completan un documento, la información se transfiere automáticamente al siguiente.

Tan pronto como el empleado haya completado todos los documentos necesarios, el gerente recibe una notificación automática por correo electrónico sobre la incorporación del nuevo empleado a su equipo. El Gerente puede revisar todos los documentos de los empleados y completar los campos asignados a ellos.

Volviendo a Salesforce, podemos ver que toda la información que el Empleado agregó a los documentos se ha transferido automáticamente al registro de Salesforce. El reclutador puede revisar todos los documentos completados y firmados, ya que se adjuntaron automáticamente al registro del empleado.

Instrucciones paso a paso para configurar el flujo de trabajo de incorporación de empleados usando airSlate para Salesforce:

Paso 1 Agregue todos los documentos y formularios necesarios en el flujo de trabajo. Personalícelos agregando los diversos campos rellenables que necesita, incluido el texto, la fecha, la firma y más.

Mira el video para obtener instrucciones paso a paso

[contenido incrustado]

Paso 2 Configure Pasos para cualquiera que tenga que completar o ver los documentos.

Administre destinatarios de documentos y asígneles campos o documentos completos. Personaliza la notificación y agrega condiciones sobre cuándo enviar los documentos.

[contenido incrustado]

Paso 3 Finalmente, agregue bots sin código que lo ayuden a automatizar varias tareas en un flujo de trabajo de documentos. Los bots pueden enviar recordatorios y notificaciones, completar documentos, transferir datos, actualizar registros en CRM y mucho más.

[contenido incrustado]

Paso 4 Lo último que debe hacer es crear un botón personalizado que permita la creación de documentos directamente desde Salesforce. Para hacer esto, vaya a Herramientas de administración en su cuenta de Salesforce. Escriba una etiqueta de botón y una descripción, y configure las acciones que desea iniciar cuando se hace clic en el botón. Luego, seleccione en qué lugar de Salesforce desea que esté disponible el botón. ¡Y ya está todo listo!

[contenido incrustado]

La línea de fondo

En esta revisión, revisamos las funcionalidades de generación de documentos de airSlate para Salesforce utilizando el flujo de trabajo de incorporación de empleados como ejemplo. Sin embargo, sentimos que solo arañamos la superficie de lo que es posible, por lo que si airSlate para Salesforce ha captado su atención, definitivamente solicite una demostración para verlo en acció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/12/27/how-to-generate-documents-in-airslate-for-salesforce-2/

Categories
Developers

Integración de Salesforce más fácil y escalable con webhooks declarativos

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

¿Qué es un webhook?

Cada vez que se conectan dos sistemas separados, pueden comunicarse entre sí a través de Internet mediante el envío y la recepción de mensajes. Uno de los sistemas puede ser el sistema de recepción y el otro el sistema de envío , pero a veces pueden cambiar roles dependiendo de la integración. El sistema de recepción expone lo que llamamos una API ( interfaz de programación de aplicaciones ), que consiste en una lista de puntos finales, cada uno de los cuales espera un tipo diferente de mensaje.

Los mensajes generalmente consisten en una dirección donde vive el sistema receptor (URL), un método que determina qué pretende hacer el sistema emisor con los datos ( GET , POST , DELETE , etc.), y luego el cuerpo del mensaje en sí. El cuerpo del mensaje que se envía tiene un formato específico para ese extremo. Si el sistema receptor recibe lo que espera y todo va bien, devuelve un mensaje de respuesta, que consta de un código de respuesta (es decir, 200 = éxito, 400 = solicitud incorrecta, 500 = error del servidor, etc.) y un cuerpo de respuesta. Esto es lo que llamamos un webhook.

Las API REST suelen utilizar elformato JSON para intercambiar mensajes. El formato JSON es un formato de intercambio de datos que simplifica la lectura y escritura de datos tanto para humanos como para máquinas.

¿Cómo puede crear Webhooks en Salesforce?

Salesforce puede estar tanto en el lado de envío como en el lado de recepción de una integración. Salesforce ya tiene una API REST para extraer y manipular datos, por lo que puede actuar como un sistema de recepción básico. De fábrica, Salesforce también puede actuar como un sistema de envío en el que puede enviar de forma declarativa mensajes muy simples a otras API.

Las cosas se complican cuando desea integrarse con API REST más complejas. Las opciones que tienes por ahí tienen algunos inconvenientes. Exploremos las opciones.

Apéndice

Una opción común es construir la integración desde cero usando Apex, el lenguaje de programación back-end de Salesforce. Con Apex, puede implementar llamadas salientes y terminales entrantes, de modo que su organización pueda actuar como sistema de envío y recepción. Puede usar la clase HttpRequest para generar llamadas salientes a una API REST externa. Luego puede usar RestResource para crear un punto final donde un sistema externo puede enviar mensajes.

Implementar la integración en Apex puede brindarle mucha flexibilidad en las necesidades de integración y, si se hace correctamente, una integración muy estable.

Desafortunadamente, también tiene algunos inconvenientes. Primero, requiere habilidades de programación de Apex. Con la escasez de desarrolladores en el ecosistema, esta se convierte en una opción costosa para integrar con una API REST personalizada. Otro inconveniente es que, si no se hace correctamente, la integración puede volverse poco confiable y bastante difícil de depurar. Además, la solución puede ser difícil de mantener ya que, para realizar un cambio, debe crear un espacio aislado, realizar el cambio allí y luego implementar los cambios en producción.

software intermedio  

Otra opción para integrar 2 sistemas es usar una aplicación de integración de middleware , como Zapier o Workato . Las aplicaciones como estas no viven en ninguno de los sistemas, sino que pueden conectarse a ambos sistemas a través de la API y los registros de sincronización.

Para poder usar un middleware, ambos sistemas necesitan exponer una API. Entonces, ambos sistemas actuarán como un sistema receptor para el middleware. Además, el middleware necesita conectores predefinidos para conectarse a cada sistema. Por lo general, tienen conectores para API de uso común como Salesforce o Google, pero las API REST patentadas o menos populares no, por lo que no puede conectarse fácilmente a ellos usando esto.

Las integraciones de middleware pueden dificultar la reacción a los cambios de datos en tiempo real para sincronizar datos entre sistemas. También puede ser bastante caro.

Webhooks declarativos

¿No sería genial si pudiéramos implementar una integración que:

  1. No requiere código
  2. Es fácil de actualizar incluso sin un sandbox
  3. Es confiable y robusto.
  4. Es flexible y le permite usar cualquier API REST basada en JSON
  5. ¿Se puede incrustar declarativamente en su proceso de negocio?
  6. Es seguro y nativo de la plataforma Salesforce

¡Ahí es donde entran en juego los webhooks declarativos !

¡Omnitoria pasó muchos años construyendo integración tras integración para sus clientes! ¡Era hora de usar la experiencia para poner el poder y la flexibilidad en manos de los administradores de Salesforce!

¿Cómo pueden los webhooks declarativos ayudarlo a integrar Salesforce con API externas?

Webhooks declarativos es una aplicación que vive en Salesforce. Le ayuda a conectarse a cualquier API REST, sin importar si es una API privada o cuán popular es, ¡y no necesita un desarrollador! Con un poco de conocimiento de JSON y la documentación de la API, puede crear y usar llamadas salientes y oyentes de webhook entrantes. Con Webhooks declarativos, puede estar tanto en el lado de envío como en el de recepción de una integración.

Llamadas salientes

Para realizar llamadas a una API externa, los webhooks declarativos utilizan plantillas de llamadas. Una plantilla de llamada es el modelo de una llamada. Cuando edita una plantilla de llamada, puede definir los detalles del mensaje: la URL, el método, los detalles de autenticación, los encabezados y el cuerpo JSON. Para todos estos detalles, puede definir la asignación de campos desde sus objetos de Salesforce.

La potente interfaz JSON Builder facilita la definición de nodos JSON, asigna campos en ellos, define fórmulas basadas en campos, etc. Le permite definir JSON de prácticamente cualquier complejidad y asignar campos a partir de objetos relacionados, listas relacionadas, etc.

Después de definir los detalles de la llamada, puede definir qué acciones desea realizar. Puede actualizar el registro desde el que comenzó, crear y actualizar registros relacionados, etc. Luego puede probar una plantilla de llamada desde la página de prueba integrada.

Después de definir, probar y activar una plantilla de llamada, puede llamarla automáticamente desde un flujo, un generador de procesos, un botón personalizado en un diseño de página, puede programarla para que se ejecute regularmente e incluso puede iniciarla con Apex.

Se registran todas las llamadas que se realizan, ya sea desde la página de prueba o cualquier implementación. Puede ver un historial de todas las llamadas realizadas, con todos los detalles del mensaje, así como el código de respuesta y el cuerpo de la respuesta, para depurar fácilmente cualquier problema de integración.

Cuando define una plantilla de texto destacado, también puede configurar una estrategia de reintento. Puede configurar una plantilla para volver a intentar una llamada hasta 5 veces, en intervalos personalizables. Todas las llamadas que se realizan automáticamente desde Flujos, Process Builder o trabajos programados se volverán a intentar automáticamente si la llamada falla y se configura el reintento.

Llamadas entrantes

Con Webhooks declarativos, Salesforce también puede actuar como sistema de recepción con plantillas de llamadas entrantes.

De manera similar a las Plantillas de llamada, cuando define una Plantilla de llamada entrante, tiene la opción de elegir qué acciones tomar cuando entra una llamada entrante, así como la respuesta para enviar a la persona que llama. Puede hacer que la plantilla sea pública (si desea que cualquier persona con el enlace pueda enviar llamadas) o privada (solo los sistemas autenticados pueden realizar llamadas).

Similar a la llamada saliente, la interfaz JSON Builder lo ayuda a definir la respuesta JSON de cualquier complejidad y asignarle campos.

Una vez activada, la plantilla actuará sobre cualquier llamada entrante que llegue a su URL definida. Puede verificar la actividad en los registros de llamadas. Puede ver cuál fue la solicitud y cómo respondió la plantilla.

Secuencias de llamadas

Cuando tiene que enviar varias llamadas una tras otra, puede usar secuencias de llamada. Por ejemplo, necesita integrarse con múltiples sistemas basados en una actualización de registro, o desea enviar datos a dos puntos finales diferentes. Puedes definir qué llamadas hacer en una secuencia y qué criterios usar para decidir cuándo hacer una u otra llamada.

Conclusión

Entonces necesita integrar Salesforce con otro sistema. Quiere una solución de Salesforce flexible pero robusta que pueda configurar usted mismo y que no rompa su banco. ¡ No hay mejor manera de lograrlo que los webhooks declarativos !

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/23/easier-and-more-scalable-salesforce-integration-with-declarative-webhooks-2/

Categories
Developers

Migración del flujo de trabajo de Salesforce: ¿cómo se hace realmente?

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

Mi nombre es Pablo González . Soy el creador de HappySoup.io y he sido desarrollador de Salesforce durante 11 años.

A menos que haya estado viviendo debajo de una roca en los últimos meses (¡y no juzgaré si es así!), es posible que haya escuchado que Salesforce tiene planes de retirar las Reglas de flujo de trabajo y los Generadores de procesos en favor de Flujos.

El anuncio oficial responde a la mayoría de las preguntas que podría tener al respecto, por lo que recomiendo leerlo e intentaré no repetir mucho al respecto aquí. Sin embargo, lo importante es esto:

Queremos hacer de Flow su ventanilla única para la automatización de código bajo. Y queremos asegurarnos de que podemos poner toda la fuerza de nuestros desarrolladores en la creación de funciones nuevas e impresionantes y trabajar en la ampliación de lo que tenemos, lo que significa que estamos deteniendo el desarrollo activo en Process Builder y Workflow Rules.

La mejor manera de mantener y preparar su organización para el futuro es trasladar su automatización a Flow. Esa puede ser una tarea grande y desalentadora para aquellos de ustedes que se han convertido en estrellas de rock de Process Builder o están mirando una pila gigante de Reglas de flujo de trabajo que nadie ha tocado en 3 años. Sabemos que esto llevará tiempo.

Bien, un día no podrá crear nuevos flujos de trabajo y Salesforce nos anima a migrar nuestros flujos de trabajo existentes a flujos. ¿Entonces cómo hacemos eso?

En este artículo, le mostraré cómo usar la nueva herramienta de migración de flujo de trabajo de HappySoup y el producto gratuito de Salto para ayudarlo con la tarea en cuestión.

No migre, consolide en su lugar

Salesforce ha lanzado su herramienta oficial de migración de flujos de trabajo , que crea una asignación 1:1 de un flujo de trabajo a un flujo.

Entonces, si tiene un flujo de trabajo que tiene una actualización de campo, la herramienta creará un flujo que actualice un campo en el registro que activó el flujo.

Este es un buen comienzo, pero no es escalable. Por ejemplo, si tiene 20 flujos de trabajo en el objeto Cuenta, el uso de la herramienta le dejaría con 20 flujos. Eso no es mejor; acabas de mover tu desorden de una habitación a otra.

Idealmente, deberíamos mirar esos 20 flujos de trabajo y descubrir cómo podemos consolidarlos en menos flujos. Por ejemplo, podría consolidar todos los flujos de trabajo de actualización de campos en un solo flujo llamado "Actualizaciones de cuenta", donde usa elementos de decisión para decidir qué campos se actualizan.

Esto podría hacer que sea más fácil razonar sobre sus Flujos. Por ejemplo, tendría un flujo para actualizaciones de cuenta, otro para alertas por correo electrónico, etc.

Ese es solo un ejemplo. También puede agrupar flujos de trabajo en función de campos comunes o procesos comerciales comunes y moverlos a un solo flujo.

Bien, todo eso suena muy bien, pero ¿cómo lo hago de nuevo?

HappySoup.io y Salto.io al rescate

La idea de mirar 20 o más flujos de trabajo y descubrir en qué se parecen suena genial, pero en la práctica es muy difícil de hacer. Debe exportar de alguna manera toda la información sobre sus flujos de trabajo y poder ordenarlos por los campos que están usando en los criterios, qué campos se están actualizando, etc.

Cuando se trata de Process Builders, necesita una forma de comprender rápidamente lo que están haciendo y cómo se comparan con los flujos existentes en la organización.

Herramienta de exportación de flujo de trabajo HappySoup.io

HappySoup.io es una aplicación 100% gratuita y de código abierto para el análisis de impacto de Salesforce. Recientemente agregué una nueva función que le permite exportar todos sus flujos de trabajo en un formato aplanado. Esto le permite ponerlos en un documento de Excel y filtrarlos, clasificarlos y organizarlos de la forma que imagine.

Como de costumbre, una imagen (video en este caso) vale más que mil palabras, así que mira este video donde explico cómo funciona esta función.

Información de migración del flujo de trabajo de Happy Soup

Visualización gratuita del generador de procesos y el flujo de productos de Salto

Salto.io tiene un nivel 100% gratuito con capacidades de análisis de impacto, similar a HappySoup.io (¡y a menudo mejor!).

El producto gratuito también le permite visualizar Process Builders y Flows en un formato completamente nuevo. Esto hace que sea muy fácil comprender qué está haciendo Process Builder, qué variables se están utilizando, las acciones/condiciones, etc.

Nuevamente, una imagen vale más que mil palabras, así que aquí hay un video que muestra cómo se hace:

[contenido incrustado]

Avanzando

Con estas dos herramientas gratuitas, ahora tiene una manera de comprender todo sobre lo que están haciendo sus flujos de trabajo y una forma de visualizar flujos complejos y generadores de procesos.

Lo que queda es pasar algún tiempo revisándolos y creando un documento o un diagrama de proceso que mapee cómo todas estas automatizaciones funcionarán bien entre sí.

Asegúrese de realizar una prueba de regresión exhaustiva (basada en lo que documentó) para asegurarse de no interrumpir ningún proceso comercial en el camino.

¿Tiene alguna idea o idea para facilitar esta migración? ¡Házmelo saber en los comentarios!

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/30/salesforce-workflow-migration-how-do-you-actually-do-it-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

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

Fórmula de flujo para estandarizar el nombre de oportunidad

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

Gran idea o pregunta duradera:

  • ¿Cómo estandariza el nombre de la oportunidad para seguir la convención de nomenclatura definida por el negocio?

Objetivos:

Después de leer este blog, podrá:

  • Comprender cuándo usar el flujo antes de guardar
  • Use la fórmula para concatenar campos en el flujo
  • Utilice el elemento de asignación para actualizar los registros
  • y mucho más

Olivia Rodrigo trabaja como administradora de sistemas en Gurukul on Cloud (GoC) . GoC quiere que todas sus oportunidades sigan la misma convención de nomenclatura, pero los usuarios a menudo olvidan o ponen el nombre incorrecto. Olivia recibió un requisito de su director de ventas para ayudar al equipo a estandarizar el nombre de la oportunidad como se muestra a continuación cada vez que se crea o actualiza el registro.

  • Nombre : – Nombre de la cuenta | Tipo | Importe | Escenario

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

Hay algunas soluciones posibles para el escenario empresarial anterior. Sin embargo, nuestro propósito, en este blog, es aprender sobre Flow y sus características. Por lo tanto, utilizaremos el flujo desencadenado por registro antes de guardar.   para resolver el requisito comercial anterior .

El uso de before-save nos permite lograr el mismo objetivo que Process Builder (After-save Flow), pero mucho más rápido porque cada registro no se vuelve a guardar en la base de datos. Evitar ese procedimiento de guardado adicional significa omitir otra ronda de reglas de asignación, reglas de respuesta automática y otras personalizaciones que tardan en ejecutarse.

Use un flujo antes de guardar en los siguientes casos de uso:

  1. Actualizar campos en registros nuevos o modificados
  2. Active una regla de validación (esta es una solución personalizada que no está disponible de fábrica)

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 empresarial de Olivia utilizando el flujo activado por registro antes de guardar . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Cree una fórmula para construir el nombre de la oportunidad
  3. Agregar un elemento Asignación al nombre 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 : Oportunidad
    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 actualizaciones de campo rápidas
  5. Haga clic en Listo .

Paso 2: fórmula para construir el nombre de la oportunidad

  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 : forT_OpportunityName
    3. Tipo de datos : Texto
    4. Fórmula : {!$Record.Account.Name}&' | '&TEXTO({!$Registro.Tipo})&' | '&TEXT({!$Record.Amount})&' '&TEXT({!$Record.CurrencyIsoCode})&' | '&TEXTO({!$Registro.NombreEtapa})
  3. Haga clic en Listo .

👉 Elimine CurrencyIsoCode de la fórmula anterior si la función multidivisa no está habilitada en su organización.

La fórmula TEXT() convierte un campo de porcentaje, número, fecha, fecha/hora, lista de selección o moneda en texto. TEXT() devuelve la salida sin formato, comas o signos de moneda.

Paso 3. Uso del elemento de asignación para actualizar el nombre de la oportunidad

El siguiente paso es actualizar el Nombre de la oportunidad. Usaremos la Asignación   elemento, ya que estamos usando before-save flow .

  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 : {!$Registro.Nombre}
      2. Operador : Igual
      3. Valor : {!forT_OpportunityName}
  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 la entrevista : estandarizar el nombre 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

A partir de ahora, si un usuario crea o actualiza una oportunidad, el flujo activado por registro antes de guardar actualizará automáticamente el nombre 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/04/13/flow-formula-to-standardize-opportunity-name-2/

Categories
Developers Salesforce

¡Agregue automáticamente miembros del grupo de Chatter al grupo público!

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

Gran idea o pregunta duradera:

  • ¿Cómo se agregan automáticamente miembros del grupo de chat a un grupo público o cola?

Objetivos:

Después de leer este blog, podrá:

  • Comprender qué es un grupo público
  • comprender los errores DML mixtos y las soluciones para evitar tales errores
  • Crear un grupo público y una cola
  • Trabaje con un grupo público y una cola en flujo
  • Agregar miembros al grupo público o a la cola a través del flujo
  • y mucho más

Donna Serdula trabaja como administradora de sistemas en Gurukul on Cloud (GoC) . Es una administradora experimentada de Salesforce y es experta en el uso de la automatización para eliminar los procesos manuales. Donna se enteró de que su colega, Amy Collins, pasa varias horas a la semana agregando usuarios a un grupo de chat y luego, agregando los mismos usuarios a un grupo público:

Amy comparte con Donna un ejemplo del proceso comercial que sigue para agregar usuarios a Ventas: EMEA Chatter Group y luego a Ventas: EMEA Public Group:

  1. Si se agrega un usuario al grupo de chat Ventas – EMEA .
  2. Luego, el usuario debe agregarse al grupo público Ventas – EMEA .

Amy le menciona a Donna que lograr lo anterior implica toneladas de trabajo manual, ya que UC tiene muchos Chatter y grupos públicos y se debe seguir el mismo proceso comercial en todos los casos.

¡Donna le asegura a Amy que puede automatizar el proceso en el futuro! ¡Ay! ¡Qué alivio! Amy agradece a Donna y aprende de ella cómo automatizar el proceso. ¡Ven, únete a Donna y Amy en el viaje!

¿Qué es un error de operación DML mixta?

Cuando las operaciones DML en ciertos sObjects a veces se denominan objetos de configuración ( como un objeto de usuario ) , junto con el objeto que no es de configuración ( como cuentas ), en la misma transacción, se genera un error de DML mixto. un usuario.

El error de DML mixto se genera cuando un usuario realiza acciones de DML en objetos de configuración y que no son de configuración en la misma transacción, porque algunos sObjects afectan el acceso del usuario a los registros en la organización. Por lo tanto, un usuario debe insertar o actualizar estos tipos de sObjects en diferentes transacciones para evitar que se realicen operaciones con permisos de nivel de acceso incorrectos. Por ejemplo, un usuario no puede actualizar una cuenta y un rol de usuario en una sola transacción. Sin embargo, eliminar una operación DML no tiene restricciones (consulte la ayuda de Salesforce).

A continuación, le mostraré cómo usar Salesforce Flow para evitar obtener un error de operación de DML mixto.

En primer lugar , realizaré operaciones DML en objetos de configuración ( Usuario ) y objetos que no son de configuración ( CollaborationGroupMember ) en la misma transacción. Esto generará un error de operación DML mixta porque no se puede realizar una operación DML en objetos de configuración y que no son de configuración en la misma transacción.

A continuación , le mostraré cómo utilizar una Ruta programada o dependiente del tiempo , en el Flujo de Salesforce, para realizar operaciones DML en Objetos de configuración y que no son de configuración en el mismo proceso sin incurrir en un error de operación DML mixta. La acción dependiente del tiempo/programada se usa porque ayuda a separar las operaciones DML en los objetos de configuración y los que no son de configuración.

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

Un grupo público comprende muchos conjuntos de usuarios, a saber (1) un conjunto general de usuarios; (2) un conjunto de usuarios dentro de un territorio; o (3) un conjunto de usuarios dentro de un rol específico; o (4) usuarios subordinados dentro de una jerarquía de funciones; o, (5) otros grupos. Mientras que los grupos públicos se pueden usar para múltiples propósitos, Chatter Group está orientado principalmente a impulsar la colaboración entre los usuarios dentro de una organización. Al igual que un grupo público, un grupo de Chatter también comprende un conjunto de usuarios. De hecho, se pueden agregar usuarios ilimitados a un grupo de Chatter .

Es un trabajo diario de un administrador de Salesforce agregar usuarios a grupos públicos o grupos de chat . En muchas organizaciones, es responsabilidad del administrador del sistema mantener estos grupos sincronizados.

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.

Hagamos una pausa aquí y familiaricémonos con los objetos CollaborationGroupMember y GroupMember en Salesforce.

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 Donna utilizando el flujo activado por registro después de guardar . Debemos:

  1. Crear un grupo público y un grupo de chat
  2. Pasos de flujo de Salesforce:
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregar una ruta programada
    3. Agregue un elemento de obtención de registros para encontrar el grupo público
    4. Agregue un elemento de decisión para verificar si se encontró o no el grupo público
    5. Agregue un elemento de creación de registros para agregar miembros del grupo de chat a un grupo público

Paso 1: Cree un grupo público y un grupo de Chatter

  1. En primer lugar, cree un grupo de Chatter Ventas: EMEA
  2. Y un grupo público de ventas: EMEA

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 : Membresía de grupo (CollaborationGroupMember)
    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 2.2: Flujo de Salesforce: agregar rutas programadas

El propósito de usar una ruta programada es ejecutar el flujo después de 0 horas de la creación de CollaborationGroupMember. El propósito de poner una acción dependiente del tiempo es evitar errores MIXED DML.

  1. En Inicio , seleccione Agregar rutas programadas (opcional) .
  2. En RUTAS PROGRAMADAS, haga clic en Nueva ruta programada .
  3. En Detalles de rutas programadas ,   ingrese la etiqueta , el nombre de la API se completará automáticamente.
  4. Fuente de tiempo: cuando se crea CollaborationGroupMember
  5. Número de compensación: 0
  6. Opciones de compensación: Horas después
  7. Opciones avanzadas
    1. Tamaño del lote : 200
  8. Haga clic en Listo .

Paso 2.3: Adición de un elemento Obtener registro para encontrar el grupo público (Ventas – EMEA)

El siguiente paso es utilizar el elemento Obtener registros para buscar el grupo público Ventas: EMEA.

  1. En Flow Designer, debajo del nodo 0 h después , 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 la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : nombre del desarrollador
      2. Operador : Igual
      3. Valor : Ventas_EMEA
  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.4: uso del elemento de decisión para verificar si se encontró o no un grupo público (Ventas – EMEA)  

Ahora, usará el elemento Decisión para verificar si el elemento Obtener registros anterior devuelve un 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: {!Get_Public_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.5: Agregar acción: crear un registro

El siguiente paso es crear un registro para agregar un grupo de chat, nuevos miembros, a un grupo público, para esto, usaremos 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. 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 : miembro del grupo
    5. Establecer valores de campo para el miembro del grupo
    6. Fila 1:
      1. Campo : ID de grupo
      2. Valor : {!Get_Public_Group.Id}
    7. Haga clic en Agregar campo
    8. Fila 2:
      1. Campo : UserOrGroupId
      2. Valor : {!$Record.MemberId}
  4. Haga clic en Listo .

Al final, Donna'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 la entrevista : ¡Agregue automáticamente miembros del grupo de Chatter 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

  1. La próxima vez, cuando el administrador del sistema agregue un usuario al grupo de Chatter (Ventas EMEA).
  2. El flujo que creamos (usando el flujo activado por registro) se activará y agregará al usuario al grupo público (Ventas – EMEA).

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 | Monitoreo | Flujo de trabajo basado en el tiempo .
  2. Haga clic en Buscar .
  3. Ahora busque su trabajo de flujo programado que muestra información como se muestra en la siguiente captura de pantalla:
  4. Utilice el botón Eliminar para eliminar el trabajo de flujo basado en tiempo de la cola.

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/17/auto-add-chatter-group-members-to-public-group-3/

Categories
Developers Salesforce

Cómo reparar el error FIELD_CUSTOM_VALIDATION_EXCEPTION

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

Gran idea o pregunta duradera:

  • ¿Cómo resuelve el error FIELD_CUSTOM_VALIDATION_EXCEPTION?

El flujo activado por registros es una forma de automatizar los procesos comerciales. Record-Triggered Flow es una poderosa herramienta para que los administradores y desarrolladores de sistemas implementen procesos comerciales sin escribir código. Sin embargo, un gran poder conlleva una gran responsabilidad : si un usuario comienza a crear un nuevo flujo para cada requisito, o crea flujos sin comprender las limitaciones de Salesforce, entonces, un usuario puede encontrar muchos problemas, ya sea en el futuro o durante la fase de prueba/implementación. .

En mi última publicación Cómo corregir un error de operación DML MIXTO , analicé cómo resolver el error de operación del lenguaje de manipulación de datos mixtos (DML) mediante el uso de una ruta programada. La ruta programada separa las operaciones DML, en los objetos de configuración y no configuración, en el mismo proceso y, por lo tanto, evita incurrir en un error de operación DML mixto.

Este artículo va un paso más allá; analiza otro error común : error FIELD_CUSTOM_VALIDATION_EXCEPTION. El artículo lo ayudará a comprender los siguientes elementos:

  1. Por qué pueden ocurrir errores
  2. Cómo identificar errores (usando un registro de depuración)
  3. Como resolver el problema

Objetivos:

Después de leer este blog, podrá:

  • Comprender qué es el error FIELD_CUSTOM_VALIDATION_ EXCEPTION
  • Resolver error FIELD_CUSTOM_VALIDATION_EXCEPTION
  • 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.

¿Qué es el error FIELD_CUSTOM_VALIDATION_EXCEPTION?

Supongamos que ha creado un flujo activado por registros en el objeto Lead para realizar alguna operación DML. Ahora está actualizando registros de 1K a través del cargador de datos, lo que activa el flujo activado por registro en el objeto de cliente potencial. Si el flujo desencadenado por registro falla en cualquier registro debido a una Regla de validación / Campos obligatorios / Desencadenador de Apex (interviniendo en el medio si tiene alguno), actualmente hace que todo el lote se revierta y encontrará el error FIELD_CUSTOM_VALIDATION_EXCEPTION .

A continuación, le mostraré cómo, si hay una regla de validación definida en un objeto y se cumplen las condiciones de error de validación, un flujo falla y arroja un error roll_back a un usuario.

Antes de comenzar, suponga que hay una regla de validación definida en el objeto de cotización . Establece que el campo Descripción debe completarse, o no puede ser nulo, si el campo Estado , en el Objeto de cotización , se actualiza a Denegado . Suponga también que el campo Descripción, en una de las Cotizaciones, se dejó en blanco.

A la luz de lo anterior, primero, actualicemos la Etapa de oportunidad a Cerrada perdida . Esto activará nuestro Proceso en el Objeto de Oportunidad y actualizará automáticamente el Estado de Cotizaciones relacionado a Denegado .

Esto, a su vez, generará un error ALL_OR_NONE_OPERATION_ROLLED_BACK porque, como se mencionó anteriormente, hay una regla de validación definida en el Objeto de cotización para asegurarse de que, si alguien actualiza el Estado a Denegado, el campo Descripción de la cotización no puede ser nulo.

A continuación , usaremos el correo electrónico de error para identificar la causa raíz de la falla del flujo.

Y luego, finalmente, actualizaremos nuestro flujo, en función de la falla de la causa raíz capturada del registro de depuración, completando el campo Descripción y, por lo tanto, resolviendo el error ALL_OR_NONE_OPERATION_ROLLED_BACK.

requisitos previos

Lea primero este artículo y asegúrese de completar los pasos enumerados Actualizar cotizaciones relacionadas a Denegadas excepto la que fue aceptada .

👉 El correo electrónico de error de falla de flujo que se envía al creador del proceso que está fallando no puede explicar el motivo detrás del error FIELD_CUSTOM_VALIDATION_ EXCEPTION . Actualmente, según el diseño de flujo, si un registro falla en tiempo de ejecución, todo el lote se revertirá.

El motivo del error FIELD_CUSTOM_VALIDATION_EXCEPTION es que actualmente el flujo de Salesforce está diseñado para funcionar solo cuando el encabezado allOrNone es verdadero . En otras palabras, Salesforce Flow revertirá todos los cambios a menos que todos los registros se procesen correctamente.

Para resolver el mismo error en Apex, utiliza el método de clase de la base de datos. Al usar el método, puede especificar si desea o no permitir el procesamiento de registros parciales si se encuentran errores. Puede hacerlo pasando un segundo parámetro booleano adicional. Si especifica falso para este parámetro y si un registro falla, el resto de las operaciones DML aún pueden tener éxito.

 Actualización de la base de Database .update(opp tList, false );

De forma predeterminada, este parámetro allOrNone es true , lo que significa que si al menos un sObject no se puede procesar, todos los sObjects restantes no se procesarán y se generará una excepción para el registro que provoca un error.

Solucionar el error FIELD_CUSTOM_VALIDATION_ EXCEPTION

Para corregir el error ALL_OR_NONE_OPERATION_ROLLED_BACK en un flujo, debemos actualizar el flujo y agregarle el campo Descripción . Realice las siguientes instrucciones para solucionar el error ALL_OR_NONE_OPERATION_ROLLED_BACK en un Flujo:

Paso 1: Clonar 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, cotizaciones relacionadas actualizadas a denegadas .
  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: Modifique el elemento Actualizar registros para agregar una descripción

El siguiente paso es modificar la acción Actualizar cotizaciones relacionadas para agregarle el campo Descripción , como se muestra en la siguiente captura de pantalla:

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

  1. Ahora actualice el Estado de cotización a Aceptado . Tenga en cuenta que las Cotizaciones relacionadas son actualizadas por el Flujo.

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/17/how-to-fix-field_custom_validation_exception-error-2/

Categories
Developers

Crear automáticamente un registro a partir de un flujo

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

Gran idea o pregunta duradera:

¿Cómo se crea automáticamente un registro con Salesforce Flow?

Objetivos:

Después de leer este blog, podrá:

  • Comprender los componentes básicos de Salesforce Flow
  • Aprenda a crear automáticamente un registro con Salesforce Flow

Corey Eridon trabaja como administrador de sistemas en Gurukul on Cloud (GoC). Recibió un requisito para crear un flujo que crearía automáticamente un caso secundario cada vez que se crea un nuevo caso con el Razón del caso – Desglose.

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

Para crear automáticamente un caso secundario , Corey utilizará Salesforce Flow.

Sin embargo, antes de sumergirnos en la solución para ayudar a Corey, primero debemos comprender qué es Salesforce Flow y sus componentes.

Con Salesforce Flow, puede crear una automatización simple y avanzada, todo con la facilidad de apuntar y hacer clic. A diferencia de las reglas de flujo de trabajo y Process Builder, Salesforce Flow permite muchas más funciones, incluidas, entre otras, las siguientes:

  • Creación de flujos de pantalla y flujos iniciados automáticamente
  • Recorriendo registros
  • Pausa de flujos
  • Y mucho más

Hay cinco tipos de flujo básicos que deben tenerse en cuenta antes de comenzar a crear una solución, sobre los que puede obtener más información aquí .

Tipo de flujo Descripción
Flujo de pantalla Guía a los usuarios a través de un proceso comercial que se inicia desde páginas Lightning, sitios de Experience Cloud, acciones rápidas y más.
Flujos activados programados Se inicia a una hora y frecuencia específicas para cada registro de un lote. Este flujo iniciado automáticamente se ejecuta en segundo plano.
Flujo iniciado automáticamente (sin disparador) Se inicia cuando lo invoca Apex, los procesos, la API REST y más. Este flujo iniciado automáticamente se ejecuta en segundo plano.
Flujo activado por registro Se inicia cuando se crea, actualiza o elimina un registro. Este flujo iniciado automáticamente se ejecuta en segundo plano.
Flujo desencadenado por eventos de plataforma Se inicia cuando se recibe un mensaje de evento de la plataforma. Este flujo iniciado automáticamente se ejecuta en segundo plano.

También hay algunos elementos de flujo que deberán tenerse en cuenta al diseñar su solución, sobre los que puede obtener más información aquí .

Para comprender mejor los requisitos de Universal Containers, analicemos el caso de uso por componente Salesforce Flow. Esto nos ayudará a conceptualizar el proceso definiendo primero cada acción.

Componente Proceso
Flujo activado por registro Cuando se crea un nuevo caso, el flujo debe activarse
Definir condiciones de decisión Los casos con un valor de campo de Motivo del caso = Desglose entrarán en el flujo
Crear elemento de registros Crear un caso secundario

Antes de profundizar más, déjame mostrarte también un diagrama del Flujo en un nivel alto. 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 empresarial de Corey utilizando el flujo activado por registro antes de guardar . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar si el motivo del caso es un desglose
  3. Agregue un elemento de creación de registros para crear un caso secundario

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 : Caso
    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 comprobar si el motivo del caso es una avería

Ahora usaremos el elemento Decisión para verificar si el motivo del caso es un desglose.

  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.Razón}
      2. Operador : Igual
      3. Valor : Desglose
  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 .

Paso 3: Agregar acción: crear un registro

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

  1. En Flow Designer, debajo del nodo Desglose , 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: Nuevo
    7. Haga clic en Agregar campo
    8. Fila 2 :
      1. Campo: Origen
      2. Valor: Correo electrónico
    9. Haga clic en Agregar campo
    10. Fila 3 :
      1. Campo: ParentId
      2. Valor: {!$Record.Id}
  4. Haga clic en Listo .

Al final, Corey'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 : creación automática de casos secundarios {!$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 un caso, Salesforce Flow activará y creará automáticamente un caso secundario siempre que el motivo del caso = desglose. Vamos a probarlo.

  1. Ahora cree un nuevo Caso con Motivo del caso – Desglose . Puedes seguir la captura de pantalla a continuación:
  2. Una vez que se crea el caso, haga clic en Ver jerarquía de casos .
  3. Un registro de caso secundario se crea automáticamente con los valores de campo deseados que establecemos en el elemento Crear registros.

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/13/automatically-create-a-record-from-a-flow/

Categories
Developers

Adición de una acción dependiente del tiempo al flujo activado por registro

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

Gran idea o pregunta duradera:

¿Cómo programa una acción basada en el tiempo con Salesforce Flow?

Objetivos:

Después de leer este blog, podrá:

  • Comprender los conceptos básicos de la programación de una acción con Salesforce Flow
  • Agregue una acción de rutas programadas en el flujo desencadenado por registro después de guardar
  • Aprenda a automatizar el flujo que requiere que los usuarios realicen ciertas actividades después de x horas o días
  • y mucho más

corey eridon   está trabajando como administrador de sistemas en Gurukul on Cloud (GoC). Recibió un requisito para actualizar automáticamente el campo Descripción del activo (con la oración " Actualizar el número de serie ") después de 1 día de su creación si el Número de serie del activo está en blanco.

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

La regla de flujo de trabajo le permite actualizar los campos del mismo objeto u objeto principal (solo en el caso de una relación maestro-detalle). Mientras que Salesforce Flow le permite actualizar el registro desde el mismo objeto o registros desde el objeto secundario o registros desde el objeto principal (ya sea la relación Maestro-detalle o Búsqueda).

A medida que nos estamos alejando de la Regla de flujo de trabajo y el Generador de procesos , Corey debería usar Salesforce Flow. 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 empresarial de Corey mediante Record-Triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregar una ruta programada
  3. Agregue un elemento de Decisión para verificar si el campo Número de serie está en blanco
  4. Agregue un elemento Actualizar registros para actualizar la descripción del activo

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 : Activo
    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 2: Flujo de Salesforce: agregue rutas programadas

El propósito de usar una ruta programada es actualizar la descripción del activo después de 1 día.

  1. En Inicio , seleccione Agregar rutas programadas (opcional) .
  2. En RUTAS PROGRAMADAS, haga clic en Nueva ruta programada .
  3. En Detalles de rutas programadas ,   ingrese la etiqueta , el nombre de la API se completará automáticamente.
  4. Hora Origen: Activo: Fecha de creación
  5. Número de compensación: 1
  6. Opciones de compensación: Días después
  7. Opciones avanzadas
    1. Tamaño del lote : 200
  8. Haga clic en Listo .

Paso 3: usar el elemento de decisión para verificar si el número de serie está en blanco

Ahora usaremos el elemento Decisión para verificar si el número de serie del activo está en blanco.

  1. En Flow Designer, debajo del nodo 1 día después , 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.SerialNumber}
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Haga clic en Listo .

Paso 4: agregar acción – actualizar registros

El siguiente paso es actualizar la descripción del activo. Usaremos los registros de actualización   elemento.

  1. En Flow Designer, debajo del nodo No , 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 Usar el registro de activos que activó el flujo.
  4. Seleccione Ninguno: Actualizar siempre el registro .
  5. Establecer valores de campo para los registros de oportunidad
    1. Fila 1:
      1. Campo : Descripción
      2. Valor : actualizar el número de serie
  6. Haga clic en Listo .

Al final, Corey'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 descripción de activo {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .


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

Nota : antes de activar su proceso, 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.

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 | Monitoreo | Flujo de trabajo basado en el tiempo .
  2. Haga clic en Buscar .
  3. Ahora busque su trabajo de flujo programado que muestra información como se muestra en la siguiente captura de pantalla:
  4. Utilice el botón Eliminar para eliminar el trabajo de flujo basado en tiempo de la cola.

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/adding-a-time-dependent-action-to-record-triggered-flow-2/

Categories
Developers

Agregar productos automáticamente a la nueva oportunidad

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

Gran idea o pregunta duradera:

¿Cómo agrega automáticamente productos a una nueva oportunidad?

Objetivos:

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

  • Usar el generador de flujo de Salesforce para asignar automáticamente el producto a una oportunidad
  • Use obtener elementos para evitar la codificación rígida de Id.
  • Funciona con el libro de precios y la entrada del libro de precios.
  • y mucho más

Martin Jones trabaja como administrador de sistemas en Gurukul on Cloud (GoC) . Ha creado un proceso utilizando Process Builder para asignar automáticamente Pricebook a una nueva oportunidad en función de los tipos de registro, como se menciona a continuación:

  • Si el tipo de registro de Oportunidad es Fabricación , asigne un libro de precios Fabricación
  • Si el tipo de registro de Oportunidad es Minorista , asigne un libro de precios Minorista

Funciona bien y los representantes de ventas están contentos. Sin embargo, Martin recibió otro requisito del vicepresidente de ventas : cuando se agrega el libro de precios de fabricación a una oportunidad recién creada , se le agregan automáticamente los siguientes productos :

  • iPhone 13 Plus – Cantidad (3) – Precio de venta ($0)

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

Una vez que los representantes de ventas crean una nueva oportunidad, el siguiente paso es agregarle el libro de precios y los productos. Los productos son bienes o servicios físicos que vendes a los clientes. Sus representantes de ventas pueden usar productos para generar cotizaciones de ventas, contratos o pedidos.
Price Book es un catálogo en el que se enumera el precio de venta regular de los productos. Los libros de precios se utilizan para vender productos a diferentes precios según la geografía , el volumen, los contratos gubernamentales, los clientes sin fines de lucro, los clientes estratégicos, etc. En Salesforce , un producto se puede asociar con varios Libros de precios y un Libro de precios puede tener varios productos.
¡Sí! ¡Tienes razón! Esto requiere un objeto Junction. ¡Y he aquí que tenemos uno conocido como Price Book Entry ! Price Book Entry es un objeto de unión entre Product y Price Book , como se muestra en la siguiente captura de pantalla:

Este blog es una continuación de mi blog anterior: asignación automática de Pricebook según el tipo de registro de oportunidad .

En el blog anterior, discutí cómo asignar automáticamente el libro de precios según el tipo de registro de Oportunidad . Recibí toneladas de solicitudes para escribir otro blog sobre cómo agregar algunos productos predeterminados a la nueva oportunidad.

¡Asi que aqui esta! El requisito es interesante. Entonces, crearemos una solución para el requisito existente, ¡usando Salesforce Flow!

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 Martin mediante Record-Triggered Flow . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Fórmula para determinar si la oportunidad se crea o actualiza
  3. Agregue un elemento de decisión para verificar el libro de precios asociado en la oportunidad
  4. Agregue un elemento Obtener registros para encontrar la entrada del libro de precios para iPhone 13 Plus
  5. Agregue un elemento de decisión para verificar si se encontró o no la entrada del libro de precios para iPhone 13 Plus
  6. Agregue un elemento de creación de registros para agregar un producto a 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 y haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : Oportunidad
    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 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 la lista de precios asociada en la oportunidad

Ahora usaremos el elemento Decisión para verificar si el libro de precios de fabricación está asociado a una oportunidad.

  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. Recurso: {!$Record.PriceBook2Id}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    4. Haga clic en Agregar condición
    5. Fila 3:
      1. Recurso: {!$Record.PriceBook2.Name}
      2. Operador: Igual
      3. Valor: Fabricación
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 4: Adición de un elemento Obtener registro para encontrar el ID de entrada del libro de precios del iPhone 13 Plus

El siguiente paso es usar el elemento Obtener registros para encontrar el ID de entrada del libro de precios del iPhone 13 Plus.

  1. En Flow Designer, debajo del nodo Fabricación , 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 Entrada de libro de precios de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Pricebook2Id
      2. Operador : Igual
      3. Valor : {!$Record.PriceBook2Id}
    2. Haga clic en Agregar condición
    3. Fila 2:
      1. Campo: Nombre
      2. Operador: Igual
      3. Valor: iPhone 13 Plus
  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: usar el elemento de decisión para verificar si se encontró o no la entrada del libro de precios del iPhone 13 Plus  

Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 4 para encontrar si devuelve el Id. de entrada del libro de precios 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_Pricebook_Entry}
      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 el producto a la oportunidad

El paso final es agregar el producto iPhone 13 Plus a la oportunidad. 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. Cuántos registros crear : uno
    2. Cómo establecer los campos de registro : use recursos separados y valores literales
    3. Objeto : Producto de oportunidad
    4. Establecer valores de campo para la licencia del paquete de usuario
    5. Fila 1:
      1. Campo : ID de oportunidad
      2. Valor : {!$Record.Id}
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : Cantidad
      2. Valor : 3
    8. Haga clic en Agregar campo
    9. Fila 3:
      1. Campo : PricebookEntryId
      2. Valor : {!Find_Pricebook_Entry.Id}
    10. Haga clic en Agregar campo
    11. Fila 4:
      1. Campo : PrecioUnitario
      2. Valor : 0
  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 : Agregar producto automáticamente a la oportunidad {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

De ahora en adelante, si un usuario comercial crea una Oportunidad con el tipo de registro Fabricación , Salesforce Flow agregará automáticamente el libro de precios y los productos.

  1. Navegar a la Oportunidad   y cree una nueva oportunidad para el tipo de registro Fabricación .
  2. Una vez hecho esto, haga clic en Guardar   botón. El flujo agregará automáticamente el libro de precios y los productos predeterminados, 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/03/30/automatically-add-products-to-new-opportunity-2/

Categories
Developers Salesforce

Licencia de paquete de asignación automática a nuevos usuarios

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

Gran idea o pregunta duradera:

  • ¿Cómo puede asignar automáticamente una licencia de paquete administrado a nuevos usuarios?

Objetivos:

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

  • Use Flow para agregar automáticamente una licencia de paquete a nuevos usuarios
  • Use el elemento obtener registros para evitar el código duro de Id.
  • Utilice el elemento de decisión para validar los datos
  • Comprender cómo usar Flow para crear registros

Pamela Kline trabaja como Administradora de sistemas en Universal Containers (UC). Están utilizando Conga Composer para optimizar y escalar su proceso de generación de documentos. Ha recibido un requisito de la gerencia para asignar automáticamente la licencia de Conga Composer a los nuevos usuarios. Lo que les ayuda a minimizar las actividades manuales posteriores a la creación de usuarios.

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

Hace unos meses , había escrito un artículo Agregar automáticamente un usuario a un grupo de Chatter para discutir una forma a través de la cual puede agregar automáticamente nuevos usuarios a un grupo de Chatter . Para lograrlo , utilizamos Salesforce Flow .

Recibí muy buenos comentarios de todos ustedes y algunos de ellos solicitaron que explicaran cómo pueden automatizar el proceso de asignación de licencias de paquetes. En esta publicación de blog, explicaré cómo configurar un Flujo de Salesforce para automatizar el proceso de asignación de licencias de paquetes.

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.

Hagamos una pausa aquí, familiarícese con los objetos UserPackageLicense y los objetos PackageLicense en Salesforce.

Nombre del objeto Detalles
Licencia de paquete de usuario Representa una licencia de un paquete administrado instalado, asignado a un usuario específico.
PaqueteLicencia Representa una licencia de un paquete administrado instalado.

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 6 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. Fórmula para determinar si el usuario es creado o actualizado
  3. Agregue un elemento de decisión para verificar el resultado de la fórmula anterior
  4. Agregue un elemento de obtención de registros para encontrar el ID de licencia del paquete Conga Composer
  5. Agregue un elemento de decisión para verificar si se encontró o no la licencia de Conga Composer
  6. Agregue un elemento de creación de registros para asignar la licencia del paquete al 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 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: 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 3: uso del elemento de decisión para verificar si el usuario está activo y recién creado

Ahora usaremos el elemento Decisión para comprobar si el usuario acaba de configurarse y está activo.

  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 4: Adición de un elemento Obtener registro para encontrar el ID de licencia del paquete Conga Composer

El siguiente paso es utilizar el elemento Obtener registros para obtener el Id. del paquete instalado de Conga Composer.

  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 Licencia de paquete de registro de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo: Prefijo de espacio de nombres
      2. Operador: Igual
      3. Valor: APXTConga4
  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 .

Para encontrar el prefijo de espacio de nombres de los paquetes instalados, vaya a Configuración | Aplicaciones | Embalaje | Paquetes instalados , como se muestra en la siguiente captura de pantalla:

Prefijo de espacio de nombres

<img data-attachment-id="7094" data-permalink="https://automationchampion.com/2022/03/17/auto-assign-package-license-to-new-users/namespace-prefix/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/09/namespace-prefix.png?fit=1126%2C436&ssl=1" data-orig-size="1126,436" 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="Namespace Prefix" data-image-description="

Namespace Prefix

» data-image-caption=»

Namespace Prefix

» data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/09/namespace-prefix.png?fit=300%2C116&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/09/namespace-prefix.png?fit=640%2C248&ssl=1″ loading=»lazy» class=»aligncenter wp-image-7094 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/03/licencia-de-paquete-de-asignacion-automatica-a-nuevos-usuarios-10.png» alt=»Prefijo de espacio de nombres» width=»640″ height=»248″ data-recalc-dims=»1″>

Paso 5: uso del elemento de decisión para verificar si se encontró o no la licencia de Conga Composer (del paso 4)

Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 4 para encontrar si devuelve la identificación de la licencia del paquete 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: {!Conga_Composer_Package_License_Id}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    2. Haga clic en Listo .

Paso 6: agregue el elemento Crear registros para asignar la licencia del paquete a los nuevos usuarios

El último paso es asignar la licencia del paquete Conga a los nuevos usuarios.

  1. En Flow Designer, debajo del nodo Licencia encontrada , 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 : Licencia de paquete de usuario
    4. Establecer valores de campo para la licencia del paquete de usuario
    5. Fila 1:
      1. Campo : Id . de licencia del paquete
      2. Valor : {!Conga_Composer_Package_License_Id.Id}
    6. Haga clic en Agregar campo
    7. Fila 2:
      1. Campo : ID de usuario
      2. Valor : {!$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 : 54
  5. Etiqueta de entrevista : Asignar licencia de paquete de Conga {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

¡Casi llegamos! 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, Salesforce Flow se activará automáticamente y agregará una licencia de paquete ( Conga Composer ) al usuario recién creado. Vamos a probarlo.

  1. Ahora cree un nuevo usuario a través de la interfaz de usuario
  2. Una vez que se crea el usuario, nuestra automatización asignará automáticamente la licencia del paquete al usuario recién creado . Para validar Puede consultar el objeto Licencia del paquete de usuario o navegar a Configuración | Aplicaciones | Embalaje | Paquetes Instalados | Compositor de congas | Administrar Licencias.

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/03/17/auto-assign-package-license-to-new-users/

Categories
Developers

Cómo usar el flujo de trabajo de FormAssembly para la automatización del proceso de recopilación de datos

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

La automatización del flujo de trabajo se ha convertido en un tema cada vez más popular para las organizaciones que buscan optimizar los procesos, reducir el agotamiento de los empleados y ahorrar tiempo y recursos. La automatización es especialmente importante para los procesos de recopilación de datos mediante formularios web, sin importar el negocio o la industria. La recopilación de datos limpia y automatizada es lo que impulsa a las organizaciones a tomar decisiones más inteligentes que influyen en los ingresos al tiempo que mejoran la eficiencia y agilizan las operaciones.

Si bien una cosa es capturar datos en formularios y enviarlos a su organización de Salesforce, la automatización de estos procesos de recopilación de datos puede resultar complicada sin la plataforma adecuada. Hoy, estamos cubriendo FormAssembly Workflow y cómo proporciona automatización de procesos optimizada para organizaciones en cualquier industria.

Descripción general del flujo de trabajo de FormAssembly

FormAssembly es una poderosa plataforma de recopilación de datos todo en uno creada para organizaciones preocupadas por la seguridad en todas las industrias, incluidos los servicios financieros y de atención médica. La plataforma ofrece un generador de formularios web intuitivo y sin código, integración avanzada de Salesforce y muchas funciones adicionales. El lanzamiento reciente de su nuevo generador de procesos, FormAssembly Workflow, brinda a los usuarios una forma de mapear visualmente procesos complejos de recopilación de datos para una variedad de casos de uso.

Antes del lanzamiento de Workflow, la plataforma de FormAssembly, aunque era una solución todo en uno, aún requería que los usuarios se movieran entre diferentes áreas de la plataforma para acceder a formularios web y conectores. Sin embargo, Workflow permite visualizar todos estos pasos en una sola vista, sin necesidad de navegar a otras secciones de la plataforma. Un beneficio adicional es que los usuarios no técnicos pueden desarrollar fácilmente procesos automatizados en Workflow sin necesidad de comprender el código o involucrar a TI o administradores.

Comprender el Generador de flujos de trabajo

Workflow Builder hace posible mapear fácilmente los pasos de un proceso de recopilación de datos más complejo que involucra rutas condicionales. Esto significa que Workflow es excelente para cualquier proceso que necesite conectar múltiples formularios web, correos electrónicos, integraciones y tomadores de decisiones, como admisiones de estudiantes, incorporación de nuevos clientes u organización de eventos. La interfaz de Workflow Builder, llamada Workflow Map, es donde los usuarios construyen visualmente flujos de trabajo de recopilación de datos utilizando pasos y rutas.

Mediante potentes conectores y reglas condicionales (para Salesforce, PayPal y otros sistemas), un flujo de trabajo comienza con un solo formulario web, pero puede ramificarse en varias direcciones según los criterios establecidos en cada ruta. Esto significa que los usuarios tienen total transparencia y control incluso sobre los flujos de trabajo de recopilación de datos más complejos, desde el formulario inicial hasta las integraciones entre sistemas, las notificaciones automáticas con correos electrónicos y los redireccionamientos de página. Y todo esto se administra en una sola vista dentro de una interfaz de arrastrar y soltar sin código.

Casos de uso del flujo de trabajo de FormAssembly

El flujo de trabajo ayuda a simplificar y aumentar el control sobre procesos de recopilación de datos grandes y complejos. Los usuarios sin conocimientos técnicos pueden tomar estos complicados procesos de múltiples participantes y construirlos, conectarlos y automatizarlos fácilmente dentro de Workflow Builder. Por ejemplo, Workflow facilita la creación de los siguientes casos de uso, independientemente de la industria, los requisitos de seguridad o la complejidad.

Flujo de trabajo para aplicaciones

Las solicitudes están en todas partes, desde admisiones de educación superior hasta préstamos hipotecarios y reclamos de desempleo. Con Workflow, los usuarios pueden automatizar la forma en que los datos viajan de las personas a los formularios web y a los tomadores de decisiones clave en el proceso. Una vez que un solicitante envía un formulario, un flujo de trabajo activa notificaciones automáticas para las partes interesadas que necesitan tomar decisiones de aprobación.

El enrutamiento condicional basado en estas decisiones envía a los solicitantes por caminos diferentes dependiendo de si su solicitud fue aprobada o rechazada. A partir de ahí, un flujo de trabajo envía al solicitante al siguiente paso del proceso o lo redirige a una página con más instrucciones.

Flujo de trabajo para revisiones de empleados

Los procesos de revisión anual de los empleados pueden volverse rápidamente desorganizados y tediosos, especialmente si un departamento de recursos humanos realiza muchas de estas revisiones cada mes. Con Workflow Builder, los equipos de recursos humanos pueden controlar y automatizar las notificaciones relacionadas con estos procesos de revisión. Un formulario inicial que solicita la información del empleado (como nombre, correo electrónico, nombre del gerente y departamento) inicia el flujo de trabajo.

Tras el envío, se notifica automáticamente al gerente que el proceso ha comenzado y se envía un formulario de autoevaluación al empleado. El envío del formulario de autoevaluación genera una notificación para que el gerente llene el formulario de revisión del gerente. En cada paso, las notificaciones automáticas alertan a los participantes para que continúen con la siguiente fase del proceso una vez que se completa la fase anterior, sin ningún esfuerzo adicional por parte del equipo de recursos humanos.

Beneficios de la automatización de procesos con Workflow

Workflow es una solución poderosa que solo se suma a la ya robusta plataforma de recopilación de datos de FormAssembly que ofrece formularios seguros, web-to-anything e integración avanzada con Salesforce. Al automatizar los procesos de recopilación de datos con Workflow, las organizaciones pueden experimentar varios beneficios, que incluyen:

  • Eficiencia interdepartamental: los flujos de trabajo aceptan múltiples encuestados y facilitan la automatización de notificaciones, proporcionando una mayor eficiencia para los participantes independientemente de la complejidad del flujo de trabajo.
  • Datos limpios y de alta calidad : la validación avanzada, las listas de selección dinámicas, la búsqueda de objetos y el llenado previo ayudan a garantizar que los datos ingresados en los formularios estén en el formato adecuado para las organizaciones de Salesforce.
  • Toma de decisiones estratégicas : los equipos de todos los departamentos tienen control total sobre los flujos de trabajo de recopilación de datos y saben cómo, cuándo y dónde viajan los datos en un momento dado.
  • Procesos optimizados : los flujos de trabajo pueden completar previamente los datos recopilados en cualquier punto durante el proceso para eliminar los tediosos intercambios y errores.
  • Reduzca los costos : una plataforma todo en uno con integraciones externas avanzadas reduce los costos asociados con la combinación de múltiples software y sistemas para lograr el mismo resultado.
  • Mejor experiencia de usuario : los flujos de trabajo automatizados minimizan los errores, los retrasos y las frustraciones de los usuarios que son comunes con los procesos manuales basados en papel.
  • Escalabilidad significativa : una plataforma que automatiza los flujos de trabajo de recopilación de datos no requiere personal ni recursos adicionales, incluso si hay una gran afluencia de encuestados.

Más información sobre FormAssembly

La plataforma de recopilación de datos de FormAssembly y su nueva función Workflow son herramientas esenciales para los usuarios de Salesforce que necesitan optimizar los procesos para las organizaciones de cualquier industria. La plataforma es especialmente ideal para organizaciones con altos estándares de seguridad y cumplimiento que necesitan una forma sencilla de crear formularios personalizados y recopilar datos en Salesforce. Sus planes escalonados facilitan que cualquier organización optimice los flujos de trabajo, incluidas las organizaciones sin fines de lucro con un solo usuario, una gran organización de atención médica que necesita cumplir con HIPAA o una agencia gubernamental con requisitos de FedRAMP.

Puede visitar su sitio web para conocer cómo funciona su plataforma , obtener una descripción general de cada plan y explorar Workflow más a fondo.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/03/11/how-to-use-formassembly-workflow-for-data-collection-process-automation-2/

Categories
Developers Salesforce

Agregar usuario de socio automáticamente al grupo público

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

Gran idea o pregunta duradera:

¿Cómo agrega automáticamente usuarios asociados a un grupo público?

Esta es una continuación de mi último artículo Primeros pasos con Process Builder – Parte 56 (Creación automática de un grupo público para una cuenta nueva) . En mi artículo anterior, había discutido un caso de uso, cada vez que una cuenta está habilitada como cuenta de socio, luego crea automáticamente un grupo público para ella. Este artículo va un paso más allá y explica cómo alguien utiliza el flujo de Salesforce para agregar usuarios de socios de esa cuenta al grupo público automáticamente.

Objetivos:

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

  • Agregue automáticamente los usuarios asociados recién creados a un grupo público
  • Cómo referir una etiqueta personalizada en el flujo de iluminación
  • Cómo usar un elemento de decisión para buscar: la variable de registro o la variable de colección de registros contiene un registro o no

Donna Serdula trabaja como administradora de sistemas en Universal Containers (UC). 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 firman el contrato, el siguiente paso es crear cuentas y contactos de socios en Salesforce que les otorgarán acceso a la comunidad de socios. Actualmente, en Universal Containers tienen pocos procesos manuales que quieren automatizar, los cuales 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 del Generador de Procesos 56 )
  • Luego, agregue usuarios asociados de esa cuenta al grupo público creado en el paso anterior. ( Blog de flujo de Salesforce 102 )

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

Voy a explicar la solución para el segundo requisito en este artículo. Blog 56 se refiere a la solución al primer requisito. Hay un par de soluciones posibles para el segundo escenario empresarial .

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.

Hagamos una pausa aquí, familiarícese con el Grupo   y miembro del 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.
Miembro del grupo Representa a 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 compréndalo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

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

  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 ha completado el ID de cuenta
  4. Agregue un elemento de obtención de registro para encontrar el Id. de registro de grupo público
  5. Agregue un elemento de decisión para verificar la identificación del grupo público de la variable de registro (del paso 4)
  6. Agregue un elemento de creación de registros para agregar un usuario al 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 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: 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 3: usar el elemento de decisión para verificar si el usuario tiene el identificador de cuenta completado

Ahora usaremos el elemento Decisión para verificar si el ID de cuenta se completa en el usuario.

  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.AccountId}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    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 4: Adición de un elemento Obtener registro para encontrar el ID de grupo público para la cuenta del usuario del socio

El siguiente paso es encontrar el ID de grupo público para la cuenta de usuario del socio.

  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. Nombre del campo
      2. Operador: Igual
      3. Valor: {!$Record.Account.AccountNumber}
  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 comprobar el ID de 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 la identificación del 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 6: agregue el elemento Crear registros para agregar un usuario de socio al grupo público

El paso final es agregar usuarios de socios al grupo público, tan pronto como se active la cuenta de usuario de socios . 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, Donna'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 : activado por registro: usuario después de guardar {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si un administrador del sistema crea un usuario de socio, Salesforce Flow lo activará y lo agregará automáticamente a su respectivo grupo público .

  1. Navegar a la cuenta   pestaña, luego abra una cuenta Grand Hotels & Resorts Ltd. Ya la he habilitado como cuenta de socio en mi último artículo Creación automática de un grupo público para una nueva cuenta . Grand Hotels & Resorts Ltd - Cuenta de socio
  2. La cuenta de socio Grand Hotels & Resorts Ltd tiene dos contactos, como se muestra en la captura de pantalla anterior. Ahora, voy a habilitar el contacto de Tom Barr como usuario asociado. Para hacer esto, abra el contacto de Tom Barr , haga clic en Administrar usuario externo y luego haga clic en Habilitar usuario de socio , como se muestra en la siguiente captura de pantalla: Habilitar contacto como usuario asociado
  3. Te redirigirá a la pantalla de configuración de nuevo usuario, desde donde puedes crear un nuevo usuario. Configurar nuevo usuario de socio
  4. Una vez hecho esto, haga clic en el botón Guardar n. Espere unos minutos y luego abra el grupo público CD439877 (Haga clic en Configuración | Administrar | Administrar usuarios | Grupos públicos ).

Prueba de concepto

<img data-attachment-id="8757" data-permalink="https://automationchampion.com/2022/03/11/automatically-add-partner-user-to-public-group-2/proof-of-concept-7/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/09/proof-of-concept.png?fit=1854%2C632&ssl=1" data-orig-size="1854,632" 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/09/proof-of-concept.png?fit=300%2C102&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2016/09/proof-of-concept.png?fit=640%2C218&ssl=1″ loading=»lazy» class=»aligncenter wp-image-8757 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/03/agregar-usuario-de-socio-automaticamente-al-grupo-publico-21.png» alt=»Prueba de concepto» width=»640″ height=»218″ 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/03/11/automatically-add-partner-user-to-public-group-2/

Categories
Developers

Cuenta de usuario de congelación automática

Última actualización el 21 de febrero de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

Hay algunas situaciones en las que la cuenta de usuario requiere más trabajo antes de desactivarla . Para evitar que los usuarios inicien sesión en la organización mientras realiza los pasos para desactivarlos , puede congelar las cuentas de los usuarios . Para congelar una cuenta de usuario , debe navegar hasta el registro de usuario y luego hacer clic en el botón Congelar .

Objetivos:

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

  • Crear un campo personalizado
  • Use el flujo activado por programación para automatizar la congelación de un usuario
  • Supervisar la cola de flujo de trabajo de programación

Steven Greene trabaja como administrador de sistemas en Universal Container . Recibió un nuevo requisito para automatizar el proceso de congelación de usuarios . Quieren permitir que sus administradores de sistema o administradores delegados ingresen la fecha de congelación de la cuenta de un usuario y el sistema congelará automáticamente la cuenta de usuario ese día .

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

Si bien esto se puede resolver con varias herramientas de automatización como Apex , etc., usaremos el flujo activado programado .

Antes de continuar, debe comprender el objeto UserLogin . Representa la configuración que afecta la capacidad de un usuario para iniciar sesión en una organización.

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 2 pasos para resolver el requisito empresarial de Brenda mediante el flujo activado programado .

  1. Cree un campo de fecha personalizado (Fecha congelada) en el objeto de usuario
  2. Pasos de flujo de rayos:
    1. Definir propiedades de flujo para el flujo desencadenado por programación
    2. Agregue un elemento de decisión para verificar si la fecha de congelación es menor o igual a la actual
    3. Agregue un elemento de registros de actualización para actualizar isFrozen=True
    4. Agregue un elemento de registros de actualización para eliminar el valor del campo Fecha de congelación

Paso 1: crear un campo de fecha personalizado en el objeto de usuario

  1. Haga clic en Configuración .
  2. En el Administrador de objetos, escriba Usuario .
  3. Seleccione Campos y relaciones , luego haga clic en Nuevo.
  4. Seleccione Fecha como Tipo de datos, luego 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. Establezca la seguridad a nivel de campo para los perfiles , asegúrese de configurar este campo como de solo lectura para todos, excepto los administradores del sistema o los usuarios correctos.
  8. Agregue este campo a Diseño de página .
  9. Haga clic en Guardar.

Campo personalizado - Fecha de congelación

<img data-attachment-id="6173" data-permalink="https://automationchampion.com/2022/02/21/auto-freeze-users-account-2/custom-field-freeze-date/" data-orig-file="https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/06/custom-field-freeze-date.png?fit=708%2C285&ssl=1" data-orig-size="708,285" 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="Custom field – Freeze Date" data-image-description="

Custom field – Freeze Date

» data-image-caption data-medium-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/06/custom-field-freeze-date.png?fit=300%2C121&ssl=1″ data-large-file=»https://i0.wp.com/automationchampion.com/wp-content/uploads/2015/06/custom-field-freeze-date.png?fit=640%2C258&ssl=1″ loading=»lazy» class=»aligncenter wp-image-6173 size-full» src=»https://discover.egafutura.com/wp-content/uploads/2022/02/cuenta-de-usuario-de-congelacion-automatica-2.png» alt=»Campo personalizado – Fecha de congelación» width=»640″ height=»258″ data-recalc-dims=»1″>

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 y haga clic en Crear y configure el flujo de la siguiente manera:
    1. ¿Cómo quieres empezar a construir ? Auto-Layout
    2. Establecer horario
      1. Fecha de inicio: 22 de febrero de 2022
      2. Hora de inicio: 00:00
      3. Frecuencia: Diaria
      4. Haga clic en Listo .
    3. Seleccionar objeto : Usuario
  5. Establecer condiciones :
    1. Fila 1:
      1. Campo : EstáActivo
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.Verdadero}
    2. Añadir fila
    3. Fila 2:
      1. Campo : Freeze_Date__c
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
  6. Haga clic en Listo .

Paso 2.2: Flujo de Salesforce: uso del elemento de decisión para verificar si la fecha de congelación es menor o igual a la actual

Ahora usaremos el elemento Decisión para comprobar si la fecha de congelación es menor o igual a la 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.Freeze_Date__c}
      2. Operador: Menor que o Igual
      3. Valor: {!$Flow.CurrentDate}
  5. Haga clic en Listo .

Paso 2.3: Flujo de Salesforce: actualizar registros para actualizar IsFrozen a True

El siguiente paso es actualizar el campo IsFrozen en el objeto UserLogin para congelar la cuenta del usuario.

  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 : inicio de sesión de usuario
  5. Seleccione Se cumplen todas las condiciones (Y) .
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo: ID de usuario
      2. Operador: Igual
      3. Valor: {!$Record.Id}
  7. Establecer valores de campo para los registros de inicio de sesión del usuario
    1. Fila 1:
      1. Campo: Está congelado
      2. Valor: {!$ConstanteGlobal.True}
  8. Haga clic en Listo .

Paso 2.4: Flujo de Salesforce: actualizar registros para actualizar la fecha de congelación igual a nula

El siguiente paso es actualizar el campo Congelar fecha a Nulo en el objeto de usuario.

  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 Usar la variable global $Record del usuario.
  4. Establecer condiciones de filtro: ninguna: actualizar siempre el registro
  5. Establecer valores de campo para los registros de usuario
    1. Fila 1:
      1. Campo: Freeze_Date__c
      2. Valor:
  6. 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. Tipo : Flujo activado por programación
  5. Versión de API para ejecutar el flujo : 54
  6. Etiqueta de la entrevista : cuenta de usuarios de congelación automática {!$Flow.CurrentDateTime}
  7. Haga clic en Guardar .

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 12:00 a. m., se ejecutará un trabajo programado y comenzará a congelar la cuenta del usuario si la fecha de congelación es menor o igual a la actual.

  1. De ahora en adelante, si un administrador del sistema o cualquier otra persona establece la fecha de congelación para un usuario.
  2. El flujo programado se activará todas las noches y congelará la cuenta de usuario.

Práctica guiada (tú-haces):

Identifique acciones adicionales (como eliminar conjunto de permisos) que deben completarse cuando un usuario está congelado. Agregar al Generador de procesos.

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/02/21/auto-freeze-users-account-2/

Categories
Salesforce

Flujos de Salesforce: su guía definitiva

No hay duda de que ha oído hablar de Salesforce Flows: pronto serán la ventanilla única en lo que respecta a la automatización declarativa (usando clics, no código) en la plataforma de Salesforce. Salesforce Flows puede ser una herramienta poderosa para cualquier organización de Salesforce. Le permiten automatizar procesos comerciales fácilmente sin tener que escribir código.

En este artículo, hablaremos sobre una serie de prácticas recomendadas que debe conocer mientras trabaja con Salesforce Flows. También aprenderá sobre los diferentes tipos de flujos que puede crear (activados por registro, flujos de pantalla, etc.), cómo depurar flujos y, finalmente, algunos escenarios en los que no debería usar Salesforce Flows.

¿Qué es un flujo de Salesforce?

Tabla de contenido

Si bien Salesforce Flow ha existido durante varios años, ahora se eleva dentro de las filas de las herramientas de automatización de Salesforce como la única herramienta de automatización declarativa que deben usar los administradores y desarrolladores de Salesforce. Durante un tiempo, ha existido junto con otras dos herramientas: Reglas de flujo de trabajo y Generador de procesos. Salesforce ha comenzado la migración de estas dos herramientas a Salesforce Flow, principalmente para evitar confusiones sobre qué herramienta usar y reducir la complejidad al ejecutar todas las automatizaciones a través de una sola herramienta.

Ejemplo de flujo de Salesforce

Salesforce Flow admite conceptos de procesamiento complejos como colecciones, bucles a través de colecciones y admite la capacidad de ejecutar flujos específicos antes o después de una transacción (y admite la capacidad de ejecutar flujos asíncronos). Salesforce Flow también es compatible con la capacidad de crear pantallas orientadas al usuario y permite que los componentes Lightning se utilicen para mejorar estas interfaces.

Tipos de flujos de Salesforce

Hay cinco tipos diferentes de Flujos que puede crear, cada uno con su propio propósito y funcionalidad especial.

Flujos de pantalla

Estos flujos requieren la entrada del usuario. Puede crear elementos de pantalla y configurar interfaces para sus usuarios.

Flujos de Salesforce - Flujos de pantalla

Flujos activados por programación

Estos flujos de Salesforce se ejecutan en un horario específico y realizan acciones automatizadas en segundo plano.

Flujos de Salesforce - Flujos activados programados

Flujos activados por registro

Estos flujos se comportan de forma similar a los activadores de Apex en el sentido de que se activan cuando se crea, edita o elimina un registro. También realizan acciones automatizadas entre bastidores.

Flujos de Salesforce: flujos activados por registro

Flujos activados por eventos de plataforma

Estos flujos se activan cuando se recibe un mensaje de evento de la plataforma y realizan acciones automatizadas entre bastidores.

Flujos de Salesforce: flujos activados por eventos de plataforma

Flujos iniciados automáticamente

Estos flujos de Salesforce realizan acciones entre bastidores cuando Apex, la API REST, otro flujo y más los llaman. No tienen un gatillo incorporado.

Flujos de Salesforce - Flujos iniciados automáticamente

10 mejores prácticas para usar flujos de Salesforce

1. Usar flujos de Salesforce antes de Apex (clics, no código)

Los flujos de Salesforce son muy intuitivos y pueden ser muy útiles para hacer las cosas de forma rápida y sencilla. Además, son menos costosos de mantener que el código Apex, por lo que pueden ser una opción más rentable para muchas organizaciones.

Salesforce recomienda un enfoque de desarrollo de "clics, no código" para reducir la deuda técnica en su organización de Salesforce. La deuda técnica es el término utilizado para describir la acumulación de código y otra tecnología que es difícil o costosa de mantener y dificulta que las empresas escalen su solución a un negocio en rápida evolución. Cuando una empresa adopta un enfoque de "clics, no código", significa que está diseñando la automatización de su negocio de una manera que reducirá la cantidad de código que se requiere.

Salesforce Flows es una buena idea para las empresas que desean preparar su organización de Salesforce para el futuro. Al usar Salesforce Flows en lugar del código Apex u otras herramientas de personalización programática, las empresas pueden reducir la cantidad de deuda técnica que acumulan con el tiempo. Además, los flujos son fáciles de aprender y no requieren que se escriban clases de prueba para todos y cada uno de los elementos, ya que Apex requiere una clase de prueba para cubrir el 75 % del código.

2. Limite el uso de elementos rojos (crear, actualizar, eliminar y obtener)

Los desarrolladores deben tener cuidado al usar los elementos Crear, Actualizar, Eliminar y Obtener al diseñar y crear Flujos de Salesforce para evitar errores causados por alcanzar los límites del gobernador. Estos límites existen para evitar que las transacciones ralenticen el sistema (recuerde, Salesforce es un entorno multiusuario, lo que significa que varias organizaciones utilizan la misma infraestructura y recursos). Los desarrolladores deben tener especial cuidado al trabajar con colecciones y bucles, ya que usar un elemento rojo dentro de un bucle es un ENORME no-no y puede llevar fácilmente a exceder los límites del gobernador.

Limite el uso de elementos rojos (crear, actualizar, eliminar y obtener)

3. Primero, desarrolle sus flujos de Salesforce en un Sandbox

Cada vez que diseñe y cree un flujo de Salesforce, debe desarrollarlo en un Sandbox para que cualquier error o mal funcionamiento no afecte los datos de producción y pueda resolverse antes de la implementación. Probablemente hayas escuchado el dicho popular que hizo famoso el superhéroe lanzador de telarañas favorito de todos: "Un gran poder conlleva una gran responsabilidad". Como administrador o desarrollador responsable y exitoso de Salesforce, también debe tener esto en cuenta. Los flujos de Salesforce pueden ser extremadamente poderosos y, como resultado, requieren que se asuma una gran responsabilidad al crearlos.

Desarrollar primero en un Sandbox

Los flujos no solo crean registros, sino que también los editan y eliminan, la mayoría de las veces sin intervención del usuario. Imagine que este tipo de poder automatizado se construye incorrectamente y elimina información valiosa de su organización de Salesforce: ¡sus flujos harán más daño que bien! Por esta razón, siempre (¡repito, SIEMPRE!) cree y pruebe sus flujos de Salesforce en un entorno Sandbox y asegúrese de que estén haciendo exactamente lo que espera que hagan antes de enviarlos a su entorno de producción.

4. Cree documentación clara y concisa

Es importante recordar que no estará presente para siempre y que la lógica del negocio no puede existir únicamente en su cabeza. Es probable que tenga muchos trabajos diferentes en su carrera de Salesforce para muchas organizaciones diferentes, y debe asegurarse de haber informado adecuadamente a quienes lo sucedan.

Su documentación debe explicar claramente el propósito de su Flujo y cómo lo logra. Si alguna vez en el futuro sus Flujos se reconstruyen o combinan debido a la evolución de la herramienta en sí, o los requisitos comerciales cambian, su documentación debe proporcionar una guía para que el administrador o desarrollador actual haga lo que debe hacer. .

Su empresa debe tener un repositorio central para toda la documentación relacionada con Salesforce a la que los administradores, desarrolladores o consultores deben tener acceso. Esto facilitará que su organización se amplíe o reduzca a la vez que reduce los problemas, ya que todos los involucrados deberían poder encontrar rápidamente la documentación relevante.

Además de la documentación adecuada de sus flujos de Salesforce, también debe adquirir el hábito de completar los campos de descripción de cualquier elemento que cree dentro de Salesforce, incluidos los elementos de flujo. Esto le da al próximo administrador o desarrollador una buena idea de para qué se está utilizando ese elemento en particular si alguna vez necesita mejorar o actualizar el Flujo.

Esto es particularmente importante para los elementos de flujo que no usan terminología estándar o usan terminología que puede cambiar. Garantizar una descripción clara de lo que es ese elemento en particular hará que sea más fácil cuando usted (u otro administrador o desarrollador de Salesforce) regrese a Salesforce Flow en el futuro.

5. Cree flujos complejos y escalables de Salesforce mediante acciones y subflujos invocables

Si hay una gran cantidad de funciones que se encuentra reconstruyendo constantemente en los Flujos de Salesforce que crea, considere crear un Subflujo que pueda ser aprovechado por múltiples Flujos para ahorrar tiempo en la creación y el mantenimiento de sus Flujos.

Cree flujos de Salesforce complejos y escalables mediante subflujos

Un subflujo es un flujo más pequeño que realiza una tarea común. La documentación de Salesforce brinda un ejemplo de un flujo que recopila información de tarjetas de crédito o realiza la autorización de una compra con tarjeta de crédito como ejemplo de un subflujo.

Otra forma en que puede mejorar sus flujos de Salesforce con componentes reutilizables es crear Apex invocable que se pueda llamar desde sus flujos y usarlos en varios lugares. Si recuerda que Salesforce prefiere un enfoque de desarrollo de "clics, no de código", solo debe considerar el uso de Apex invocable cuando la funcionalidad no se puede lograr mediante el uso de un subflujo.

Cree flujos de Salesforce complejos y escalables mediante acciones invocables

6. Tenga cuidado con los valores nulos y las variables vacías

Si no verifica los valores nulos o vacíos en sus flujos de Salesforce, es posible que esté intentando usar algo que no está allí y provoque un error. Particularmente después de usar un elemento Obtener registros, es aconsejable crear una Decisión para asegurarse de que ha recopilado las variables que está anticipando para evitar errores. ¡Recuerde, planifique siempre para cada escenario cuando esté creando un Flujo de Salesforce!

7. Aprenda a usar diferentes tipos de flujos de Salesforce

Salesforce Flows tiene una curva de aprendizaje significativamente más pequeña que Apex, pero sigue siendo bastante extenso. Una vez que haya aprendido los conceptos básicos, le resultará muy valioso aprender a crear todos los demás tipos de flujos disponibles para usted.

Los cinco tipos de flujos se describen arriba y cada uno tiene su propia funcionalidad.

8. Evite codificar la lógica, los valores o los ID en los flujos de Salesforce

Evite codificar su lógica, valores o ID de uso frecuente dentro de sus Flujos de Salesforce para ayudar a reducir el mantenimiento de sus Flujos, Apex y otras automatizaciones dentro de su organización de Salesforce. El uso de funciones de Salesforce como los metadatos personalizados para los ID de referencia frecuente que pueden cambiar significa que, llegado el momento, solo hay un activo que debe actualizarse, en lugar de 10 flujos, 7 clases de Apex y 38 reglas de validación.

Permitir que la lógica se cree dinámicamente dentro de sus Flujos (y otras herramientas como Apex) significa que podrá escalar sus automatizaciones hacia arriba y hacia abajo según lo requiera el negocio. Por ejemplo, supongamos que tiene una notificación por correo electrónico que se envía al contacto principal de una cuenta cada 14 días si tiene un saldo pendiente. Unos años más tarde, su gerente de ventas le pide que cree otra automatización para las cuentas que deberían recibir una notificación cada 21 días. Pasa un poco más de tiempo y se requiere otra automatización para aquellos que necesitan ser notificados cada 7 días.

Si hubiera diseñado su lógica para enviar una notificación en X días (donde X es un valor que se completa a partir de un campo en la Cuenta), sería tan simple como agregar un nuevo valor a una lista de selección cada vez que cambien los requisitos, en lugar de creando un nuevo Flujo cada vez (o incluso actualizando el Flujo cada vez).

9. Asegúrese de que se manejen los errores

Asegúrese de que incluso si algo sale mal, sus usuarios no se queden con un mensaje de error feo. Si hay un punto de falla en su sistema (es decir, si una variable debe completarse antes de que sus usuarios continúen), asegúrese de que se muestre un mensaje de error amigable y que sus usuarios tengan la oportunidad de regresar y realizar las acciones requeridas.

Si sus errores no se verifican, sus usuarios se mostrarán con un mensaje hostil de "se ha producido un error no controlado", que nunca es una experiencia positiva.

Asegúrese de que se manejen los errores

Además, asegúrese de que sus usuarios estén capacitados sobre cómo usar correctamente los flujos que ha creado para ellos. Y si reciben un mensaje de error no manejado, asegúrese de que sepan cómo informarlo correctamente (entrénelos para que vuelvan sobre sus pasos y proporcionen información contextual sobre cómo activaron el Flujo, desde dónde lo activaron, etc.).

10. ¡Conéctese con Salesforce Ohana!

Finalmente, recuerda que no eres la única persona en el mundo que configura Salesforce Flows. Existe una comunidad amigable para ayudarlo a medida que aprende las nuevas herramientas, lo ayuda a aprender mejores formas de aprovechar las nuevas funciones a medida que aparecen y puede compartir sus soluciones con usted.

Conéctese con Salesforce Ohana

Puede mejorar sus Flujos de Salesforce con componentes de AppExchange o de fuentes de código abierto como UnofficialSF. Hay recursos de capacitación de Salesforce como AutomationChampion que están ahí para ayudarlo a hacer su viaje más fácil, y siempre puede aprovechar Trailblazer Community cuando se encuentra con un problema.

Probar sus flujos de Salesforce mediante la depuración

A diferencia de Apex, los flujos de Salesforce no requieren una clase de prueba o un porcentaje específico de cobertura de código para pasar antes de que puedan implementarse en un entorno de producción. Dicho esto, sigue siendo absolutamente imperativo que pruebe sus Flujos de Salesforce a fondo antes de implementarlos en Producción.

Salesforce ha observado el requisito de probar exhaustivamente un Flujo antes de la implementación y ha creado la herramienta Depurar. Con la herramienta Depurar, puede asegurarse de que su flujo de Salesforce funcione y no afecte negativamente a ninguna otra funcionalidad dentro de su organización antes de permitir que manipule datos comerciales reales.

Uso de Salesforce Flow con Inspire Planner

También puede utilizar herramientas de gestión de proyectos de Salesforce como Inspire Planner para mejorar su experiencia de Salesforce Flow. Por ejemplo, supongamos que su empresa desea una manera fácil de crear una plantilla de proyecto estandarizada dentro de Inspire Planner para guiar a sus administradores, desarrolladores y otros profesionales de Salesforce en la forma estandarizada de su empresa para crear, probar y documentar flujos de Salesforce.

Puede crear etapas para cada uno de sus pasos principales, como Investigar la necesidad empresarial, Desarrollar el flujo (y las mejores prácticas sobre cómo hacerlo, ¡que puede extraer directamente de este artículo!), Documentar el flujo, Probar el flujo, y finalmente Desplegando el Flujo.

Plantilla de flujo de Salesforce en Inspire Planner, una aplicación de gestión de proyectos nativa de Salesforce

Otro escenario común es crear un Flujo de Salesforce para crear automáticamente Proyectos en Inspire Planner a partir de una plantilla cuando las Oportunidades pasan a la etapa Cerrado/Ganado (por ejemplo, incorporación de clientes o implementación de software). Este nuevo proyecto tendrá toda la información requerida previamente completada a partir de la plantilla, como todas las tareas, predecesores, archivos, roles de recursos y más.

Cree un nuevo proyecto en Inspire Planner a partir de una plantilla cuando la oportunidad pase a Cerrada/Ganada

Cuándo debe evitar el uso de flujos de Salesforce

Salesforce siempre solicita a los administradores y desarrolladores que utilicen un enfoque de "clics, no código" para crear en la plataforma de Salesforce, entonces, ¿por qué estaríamos sugiriendo motivos para evitar activamente el uso de Salesforce Flow? La respuesta es bastante simple, en teoría: por increíble que sea Salesforce Flow, no es Apex ni un componente web Lightning.

Salesforce ha creado marcos completos y lenguajes de codificación para permitir que los desarrolladores amplíen la funcionalidad del sistema y, con el tiempo, también han creado herramientas declarativas con la intención de capacitar a quienes no tienen experiencia en TI para que hagan lo mismo.

Apex es un lenguaje de programación avanzado que admite tipos de colecciones más complejos (como Conjuntos y Mapas), así como soporte para procesamiento de datos más complejos. Si alguna vez necesita usar un Mapa para comparar un conjunto de datos usando una clave, aquí es donde deberá alejarse de Flow y usar Apex en su lugar (incluso si crea una acción de Apex invocable y transfiere esa sección particular de su Salesforce Flujo para hacer el procesamiento más complejo).

Aura Components y Lightning Web Components son dos marcos que Salesforce ha creado para permitir a los desarrolladores programáticos crear componentes de interfaz de usuario reutilizables para usar en la plataforma de Salesforce. Los flujos de pantalla le permiten crear pantallas utilizando una serie de componentes estándar (campos de entrada, mostrar texto, etc.), pero estas interfaces siguen siendo bastante básicas sin que se agregue un componente personalizado en la parte superior (por ejemplo, el componente de pantalla de tabla de datos de UnofficialSF).

Resumen

Ahí lo tiene: su ventanilla única para todo lo relacionado con Salesforce Flow. Esperamos que haya aprendido algunos consejos y trucos nuevos para brindar el máximo valor a su negocio, usuarios y, en última instancia, a sus clientes siguiendo algunas de las mejores prácticas mientras trabaja con Salesforce Flows.

Y si está buscando inspiración para usar Flujos en su organización, puede comenzar con nuestras 5 ideas simples de flujo de Salesforce con gran impacto.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://inspireplanner.com/blog/salesforce-flows-your-ultimate-guide/

Categories
Developers

División automática de ingresos en Oportunidades

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

Gran idea o pregunta duradera :

¿Cómo se dividen automáticamente los ingresos con Salesforce Flow?

En una conversación por correo electrónico reciente con un miembro de la comunidad, discutimos la posibilidad de dividir automáticamente los ingresos de la oportunidad con los miembros del equipo de la oportunidad. Cuando se agrega un nuevo miembro al equipo de oportunidades haciendo clic en el botón Agregar miembros del equipo de oportunidades (1) y no en Agregar equipo predeterminado (2) , como se muestra en la siguiente captura de pantalla:

Objetivos:

Después de leer este blog, podrá:

  • Comprender los componentes básicos de Salesforce Flow
  • Aprenda a dividir los ingresos de la oportunidad con Salesforce Flow

Martin Jones trabaja como administrador de sistemas en Universal Containers (UC) . Recibió un requisito de la alta gerencia para compartir automáticamente el 1% de los ingresos de la Oportunidad con los miembros del equipo de la Oportunidad tan pronto como se agregue un nuevo miembro al equipo de la Oportunidad. Al mismo tiempo, no quieren implementar esta función cuando un usuario usa el botón Agregar equipo predeterminado para agregar un equipo de oportunidad predeterminado a una oportunidad.

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

Se pueden tomar múltiples enfoques para resolver este requisito comercial. Se puede tomar un generador de procesos o una página de Flujo y Visualforce en línea u otros enfoques.

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, adelante, comprenda los objetos de Salesforce que se enumeran a continuación:

Objeto Detalles
OportunidadEquipoMiembro Representa a un Usuario en el equipo de oportunidades de una Oportunidad.
división de oportunidad Acredita a uno o más miembros del equipo de oportunidades una parte del monto de la oportunidad.
Tipo de división de oportunidad Proporciona etiquetas y comportamiento únicos para cada tipo de división.

Antes de discutirlo, permítame mostrarle un diagrama de un flujo de proceso a alto nivel. Dedique unos minutos a repasar el siguiente diagrama de flujo y compréndalo.

Venta en equipo   debe estar habilitado en la organización. Si aún no está habilitado y desea hacerlo, consulte el artículo Dividir el crédito entre su equipo de ventas .

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Martin utilizando Salesforce Flow . Debemos:

  1. Buscar ID de ingresos de tipo de división de oportunidad
  2. Creación de una etiqueta personalizada para almacenar ID de ingresos de tipo de división de oportunidad
  3. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Crear una fórmula para determinar si el registro de cuenta se crea o actualiza
    3. Agregue un elemento de Decisión para verificar si la fórmula IsNew devuelve True o False
    4. Agregue un elemento Crear registros para crear un registro de tipo división de oportunidad

Paso 1: busque el ID de ingresos del tipo de división de oportunidad

El primer paso es averiguar el tipo de división Id of Opportunity Revenue . Una posible solución es utilizar Developer Console.

  1. Haga clic en Configuración | Consola de desarrollador
  2. En el Editor de consultas, ejecute la siguiente consulta SOQL
    1. Seleccione id, MasterLabel de oportunidadSplitType
  3. Asegúrese de copiar el ID de ingresos.

Paso 2: crear una etiqueta personalizada para almacenar el ID de ingresos del tipo de división de oportunidad

  1. Haga clic en Configuración .
  2. En la interfaz de usuario, escriba Etiquetas personalizadas .
  3. Haga clic en el botón Nueva etiqueta personalizada .
  4. Ingrese una descripción breve , el nombre se completará automáticamente.
  5. Ahora ingrese el ID de ingresos del tipo de división de oportunidad en el valor .
  6. Haga clic en Guardar.

Paso 3.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 registro y haga clic en Crear y configure el flujo de la siguiente manera:
    1. Objeto : miembro del equipo de oportunidad
    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 3.2: Flujo de Salesforce: fórmula para determinar si se crea o actualiza el registro de cuenta

  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 3.3: Flujo de Salesforce: uso del elemento de decisión para verificar los resultados de la fórmula IsNew

Ahora usaremos el elemento Decisión para comprobar si la fórmula IsNew devuelve True o False.

  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.True}

Paso 3.4: Agregar acción: crear un elemento de registro para crear un registro de tipo división de oportunidad

El siguiente paso es crear un objeto de tipo división de oportunidad de registro. Para ello utilizaremos el Create Records elemento Ahora sigue los pasos a continuación:

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Registros creados .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta , el nombre de la API se completará automáticamente.
    2. Cuántos registros crear : uno
    3. Cómo establecer los campos de registro : use recursos separados y valores literales
    4. Objeto : división de oportunidad
    5. Establecer valores de campo para la división de oportunidad
      1. Fila 1:
        1. Campo: ID de oportunidad
        2. Valor: {!$Record.OpportunityId}
      2. Haga clic en Agregar fila
      3. Fila 2:
        1. Campo: ID de propietario dividido
        2. Valor: {!$Record.UserId}
      4. Haga clic en Agregar fila
      5. Fila 3:
        1. Campo: ID de propietario dividido
        2. Valor: 1
      6. Haga clic en Agregar fila
      7. Fila 4:
        1. Campo: SplitTypeId
        2. Valor: $Label.opportunity_split_type_revenue_id
  3. Haga clic en Guardar .


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: Record-Trigger : Record-Triggered Flow: miembro del equipo de oportunidad {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

Prueba de concepto

A partir de ahora, si los usuarios comerciales agregan nuevos miembros en el Equipo de la oportunidad haciendo clic en el botón Agregar (disponible en la lista relacionada del Equipo de la oportunidad en la página Detalles de la oportunidad), Salesforce Flow compartirá automáticamente el 1 % de los ingresos de la oportunidad con ellos.

  1. En este momento, solo hay Propietario de la oportunidad y ningún miembro del equipo en el Equipo de la oportunidad para el Generador de la planta de tejido de textiles Burlington de la oportunidad, como se muestra en la siguiente captura de pantalla:
    1. A continuación se muestra el estado actual de las divisiones de oportunidad.
  2. Ahora intentaremos agregar un nuevo miembro del equipo en OpportunityBurlington Textiles Weaving Plant Generator haciendo clic en el botón Agregar miembros del equipo de oportunidad , como se muestra en la siguiente captura de pantalla:
    1. Lo redirigirá a la página desde donde puede agregar nuevos miembros a una Oportunidad, como se muestra en la siguiente captura de pantalla:
  3. Una vez que haya terminado, haga clic en el botón Guardar y navegue hasta la lista relacionada Divisiones de oportunidad disponible en la página Detalle de oportunidad . Salesforce Flow comparte automáticamente el 1 % de los ingresos de la oportunidad con los nuevos miembros del equipo, 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?

Házmelo saber tuiteándome en @automationchamp o búscame en LinkedIn.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/02/07/auto-revenue-splitting-in-opportunities-3/

Categories
Developers

Primeros pasos con Salesforce Flow: Parte 87 (Eliminación masiva de entrevistas de flujo en pausa y fallidas)

Última actualización el 28 de enero de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

En este artículo Acciones programadas , analicé cómo agregar una acción basada en el tiempo a un proceso .

También discutí una forma de verificar las entrevistas en pausa y fallidas en el Generador de flujos y procesos, navegando a Configuración | Entrevistas de flujo en pausa   como se muestra en la siguiente captura de pantalla:

Utilice el enlace Del para eliminar una Entrevista de flujo (Una entrevista es una instancia en ejecución de un flujo) de la pausa y Entrevistas Error en la cola, pero no le permite a los medios de eliminar / eliminar la pausa y Entrevistas de flujo fallado.

En este artículo, vamos a discutir una forma de eliminar/eliminar en masa las entrevistas de flujo fallido y en espera.

Objetivos:

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

  • Cómo eliminar/eliminar en masa las entrevistas de flujo en espera y fallidas.
  • Configurar un flujo simple

Martin Jones trabaja como administrador de sistemas en Gurukul on Cloud (GoC).   Desarrolló un Flujo para actualizar el Lead Rating después de 5 horas de su creación. Con fines de prueba, creó 3 registros, lo que significa que 3 trabajos/entrevistas están esperando en la cola de entrevistas de flujo en pausa y fallidas. Quiere eliminar todas las entrevistas con un solo clic en lugar de eliminarlas una por una.

A continuación se muestra la captura de pantalla de la versión más activa de un proceso.

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

Si bien esto se puede resolver utilizando varias herramientas de automatización como Apex o Flow . En este caso, se está utilizando Salesforce Flow para resolver este requisito.

Antes de continuar, debe comprender los objetos mencionados a continuación en Salesforce:

  • FlowInterview : -Este objeto representa una entrevista de flujo. Una entrevista es una instancia en ejecución de un flujo.

Este artículo lo ayudará a comprender cómo eliminar en masa las entrevistas de flujo en pausa y fallidas. Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Martin mediante Salesforce Flow. Debemos:

  1. Definir propiedades de flujo
  2. Agregue un elemento de eliminación de registros para eliminar entrevistas de flujo

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 y haga clic en Crear y se abrirá el diseñador de flujo para usted.

Paso 2: agregue un elemento Eliminar registros para eliminar entrevistas de flujo

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Eliminar registros.
  2. Arrastre y suelte el elemento Eliminar registros en el diseñador de flujo.
  3. Introduzca un nombre en el campo Etiqueta; el nombre de la API se completará automáticamente.
  4. Para Cómo encontrar registros para eliminar, seleccione Especificar condiciones .
  5. Seleccione la entrevista de flujo   objeto de la lista desplegable.
  6. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo: Etiqueta de entrevista
      2. Operador: Contiene
      3. Valor: formulario de captura de clientes potenciales
  7. Haga clic en Listo .


Surge aquí la pregunta de por qué hemos elegido Flow Label   en la captura de pantalla anterior, ¿por qué no cualquier otro campo?

  • Esto se debe a que hay un número limitado de campos que puede seleccionar en el elemento Eliminar registro para FlowInterview.
  • También le brinda la flexibilidad de eliminar en masa Entrevistas de una versión específica de un Flujo.
  • También le da la opción de elegir otro campo como Versión de flujo
  • Más importante aún, puede personalizar la etiqueta de flujo según sus necesidades.

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


Haga clic en el botón Guardar y guarde el flujo con el nombre Eliminación masiva de entrevistas de flujo como se muestra en la siguiente captura de pantalla:


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

Prueba de concepto

Actualmente, hay 3 entrevistas esperando en la cola de entrevistas de flujo en pausa para la versión(1) de Lead_Capture_Form de flujo, como se muestra en la siguiente captura de pantalla:

Es hora de ejecutar el flujo para eliminar en masa la entrevista que pertenece al proceso Lead_Capture_Form versión (1) . Para hacerlo, haga clic en el botón Ejecutar disponible en el Flujo de pantalla.

Vuelva a la sección Entrevistas de flujo en pausa disponible en la página Gestión de flujo y compruébelo:


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?

Házmelo saber tuiteándome en @automationchamp o búscame en LinkedIn.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/01/28/mass-delete-paused-and-failed-flow-interviews/