Eliminación definitiva de registros con Salesforce Flow

Eliminación definitiva de registros con Salesforce Flow

Última actualización el 22 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo eliminar registros de Salesforce utilizando Flow?

Objetivos:

Después de leer este blog, podrá:

  • Comprender la anotación @InvocableMethod
  • Más información sobre el método database.emptyRecycleBin
  • Configurar la acción de Apex para eliminar registros de forma permanente de Flow
  • Configurar el flujo de pantalla con el elemento Eliminar registro
  • Y mucho más

¿Qué es la eliminación completa?

La eliminación definitiva es la eliminación permanente de los registros especificados de la Papelera de reciclaje. Cuando los datos se eliminan de forma permanente, es casi imposible recuperarlos. Esto generalmente se logra a través de los métodos Database.EmptyRecycleBin .

Al vaciar los contenedores de reciclaje, tenga en cuenta las siguientes reglas y pautas:

  • Una vez que los registros se eliminan de la Papelera de reciclaje mediante esta llamada, se pueden consultar mediante queryAll() durante algún tiempo. Por lo general, este tiempo es de 24 horas, pero puede ser más corto o más largo.
  • Una vez que los registros se eliminan mediante la llamada Database.EmptyRecycleBin , no se pueden recuperar.

Warren Mason es administrador de sistemas en Gurukul on Cloud (GoC). En GoC están utilizando Salesforce Flow para optimizar los procesos de ventas. Warren tiene un requisito para eliminar clientes potenciales sin correo electrónico. Está construyendo un flujo de pantalla:

  1. Descubra todos los clientes potenciales sin correo electrónico
  2. Eliminar definitivamente tales clientes potenciales

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

Si bien esto se puede resolver con varias herramientas de automatización como Apex Trigger y otras, usaremos Salesforce Flow y llamaremos a un método de Apex . Para llamar a un método de Apex , agregue el elemento Acción a su Flujo de Salesforce y seleccione una clase de Apex con una anotación @InvocableMethod .

En este artículo, usaremos la llamada clase de base de datos EmptyRecycleBin . Con Database.EmptyRecycleBin es posible borrar los registros de Salesforce. El método EmptyRecycleBin() elimina los registros de la papelera de reciclaje inmediatamente. A partir del lanzamiento de Summer'23 , no es posible acceder directamente al método EmptyRecycleBin desde Flow, por eso estamos usando la clase Apex Invocable.

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

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito comercial de Warren usando Screen Flow . Debemos:

  1. Cree una clase de Apex y una clase de prueba para eliminar registros de forma permanente de la Papelera de reciclaje.
  2. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue un elemento Obtener registros para encontrar todos los clientes potenciales sin dirección de correo electrónico
    3. Agregue un elemento de decisión para verificar los clientes potenciales encontrados o no (del paso 2)
    4. Agregue el elemento Eliminar registros para eliminar clientes potenciales
    5. Agregar acción: llame a Empty RecycleBin Invocable Apex Class

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

Ahora, tenemos que comprender una nueva anotación de Apex, es decir, @InvocableMethod . Esta anotación nos permite usar un método de Apex como algo que se puede llamar desde Flow y Apex. Los métodos invocables se llaman con la API REST y se usan para invocar un solo método de Apex. Los métodos invocables tienen valores de entrada y salida dinámicos y admiten llamadas de descripción.

La anotación InvocableVariable identifica una variable de clase utilizada como parámetro de entrada o salida para la acción invocable de un método InvocableMethod. Si crea su propia clase personalizada para usarla como entrada o salida de un método invocable, puede anotar variables de miembros de clase individuales para que estén disponibles para el método.

La anotación de variable invocable admite los modificadores que se muestran en este ejemplo.


@InvocableVariable(label='variableLabel' description='variableDescription' requerido=(verdadero | falso))

La clase EmptyRecycleBin contiene dos variables, una para eliminar un solo registro y otra para manejar la eliminación de varios registros. Siéntase libre de pasar el valor a una o ambas variables según sea necesario. Cree la siguiente clase en su organización.


clase pública EmptyRecycleBin { @InvocableMethod(label='Papelera de reciclaje vacía' description='Eliminar permanentemente los registros de la Papelera de reciclaje.' iconName='slds:estándar:record_delete' categoría = 'Acciones de Apex personalizadas') ejecución de vacío estático público (Lista <Solicitudes> lista de solicitudes) { List<SObject> recordstoDelete = New List<SObject>(); para (Solicitudes req: lista de solicitudes) { if(req.obj != null){ recordstoDelete.add(req.obj); } if(req.listofSObjects != null){ recordstoDelete.addAll(req.listofSObjects); } } if(registrosparaEliminar.tamaño()>0){ Database.emptyRecycleBin(registrosparaEliminar); } } Solicitudes de clases públicas{ @InvocableVariable (descripción ='Aceptar un registro de tipo SObject.' requerido=falso) objeto público SObject; @InvocableVariable (descripción ='Aceptar múltiples registros de un tipo SObject.' requerido=falso) public List<SObject> listofSObjects; }
}

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

Paso 2.1: Definir propiedades de flujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos y luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   opción y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 2.2: Adición de elementos Obtener registros para encontrar clientes potenciales sin correo electrónico

El siguiente paso es usar el objeto Prospecto para encontrar los prospectos sin dirección de correo electrónico.

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

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

Ahora usaremos el elemento Decisión para comprobar la Variable de recopilación de registros del paso 2 para saber si devuelve el cliente potencial 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_Leads}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    2. Haga clic en Listo .

Paso 2.4: Agregar acción: eliminar registros para eliminar clientes potenciales

El siguiente paso es eliminar los clientes potenciales que encontramos en el Paso 2.2 . 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 Usar los ID almacenados en una variable de registro o una variable de colección de registros .
  4. Selecciona el   {!Get_Leads} de la lista desplegable.
  5. Haga clic en Listo.

Paso 2.5: Adición de una acción para llamar a una clase de Apex invocable

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Seleccione la clase de Apex invocable EmptyRecycleBin .
  3. Ingrese un nombre en el campo Etiqueta : el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada:
    1. Objeto para “listofSObjects” (Entrada) : Lead
    2. Objeto para "obj" (Entrada) : Plomo
  5. Almacenar valores de entrada
    1. listofSObjects : {!Get_Leads}
  6. Haga clic en Listo .

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

Una vez que todo se vea bien, guarde el flujo.

Prueba de concepto

  1. Creé 201 clientes potenciales sin una dirección de correo electrónico para probar el flujo anterior.
  2. Ahora ejecute el flujo de pantalla y espere a que se complete el flujo.
  3. Vuelva a la Papelera de reciclaje para asegurarse de que los clientes potenciales se hayan eliminado definitivamente.

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.

Seguir leyendo

Buscar el siguiente día hábil a partir de una fecha específica

Buscar el siguiente día hábil a partir de una fecha específica

Última actualización el 7 de abril de 2023 por Rakesh Gupta Gran idea o pregunta duradera: no queremos trabajar los fines de semana o días festivos, ¡todos lo entendemos! Si es así, ¿cree que nuestros clientes o prospectos lo hacen? Si tiene dudas, intente enviar un correo electrónico a

La publicación Buscar el siguiente día hábil a partir de una fecha específica apareció por primera vez en Automation Champion .

Seguir leyendo

Agregar seguidores de Chatter al registro

Cómo agregar automáticamente seguidores de Chatter al registro

La publicación Agregar seguidores de Chatter al registro apareció primero en Automation Champion .

Seguir leyendo

Maximice su uso de Salesforce AppExchange

Última actualización el 15 de marzo de 2023 por Rakesh Gupta Durante la última década, Salesforce AppExchange ha tenido un gran éxito debido a su capacidad para ayudar a las empresas a impulsar el éxito y el crecimiento. Hoy en día, hay más de 6000 aplicaciones y firmas de consultoría listadas en el intercambio. Con tantas excelentes opciones disponibles, identificar

La publicación Maximice su uso de Salesforce AppExchange apareció primero en Automation Champion .

Seguir leyendo

Las 8 métricas que importan en el servicio de campo: cómo puede mejorarlas

Si no ve el tipo de rendimiento que desea, o si busca mejorar la eficiencia, vigile estas métricas importantes.

Seguir leyendo

Comience a crear aplicaciones de Salesforce ahora con un nuevo proyecto de Trailhead ☁️

Los desarrolladores valoran y confían en Salesforce Platform porque simplifica el proceso de creación de soluciones empresariales seguras. Al utilizar las herramientas y los servicios integrados de la plataforma para la automatización, la integración y más, los desarrolladores pueden lograr el éxito comercial más rápido. Los desarrolladores de Salesforce abordan problemas comerciales complejos escribiendo código y utilizando herramientas sin código que ofrecen funciones simples rápidamente. Los […]

La publicación Comenzar a crear aplicaciones de Salesforce ahora con un nuevo proyecto de Trailhead apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Implemente la gamificación en su Salesforce

Última actualización el 22 de noviembre de 2022 por Rakesh GuptaGran idea o pregunta duradera: ¿Cómo puedo usar la gamificación en Salesforce para impulsar las ventas? ¿Cuáles son las formas de automatizar la gamificación? Objetivos: después de leer esta publicación de blog, el lector podrá: Crear un flujo que publicará automáticamente un

La publicación Implemente la gamificación en su fuerza de ventas apareció primero en Automation Champion .

Seguir leyendo

Cómo aprobar el examen

Última actualización el 20 de noviembre de 2022 por Rakesh Gupta Han pasado aproximadamente tres años desde que aprobé el examen de Einstein Analytics and Discovery Consultant. En las últimas semanas, muchas personas se comunicaron conmigo para pedirme orientación y un camino para convertirme en un consultor certificado de análisis y descubrimiento de Einstein.

La publicación How to Pass Tableau CRM & Einstein Discovery Consultant Exam apareció primero en Automation Champion .

Seguir leyendo

Cómo aprobar el examen de certificación de consultor de Sales Cloud

Última actualización el 20 de noviembre de 2022 por Rakesh Gupta Como consultor certificado de Sales Cloud recién nombrado, estoy compartiendo mis experiencias de estudio con usted y quiero que sea el próximo en hacerlo. ¡Así que prepárate y sumérgete! 👉 Ya que estás aquí, quizás quieras

La publicación Cómo aprobar el examen de certificación de consultor de Sales Cloud apareció primero en Automation Champion .

Seguir leyendo

Una experiencia de desarrollador completa en Heroku, funciones de Salesforce y AWS ☁️

En Salesforce, la innovación es uno de nuestros valores fundamentales. Con eso en mente, nos comprometemos a innovar en las tecnologías de la plataforma Salesforce, como Heroku y Salesforce Functions, así como a través de nuestra asociación con AWS, para unificar y mejorar la experiencia del desarrollador. En esta publicación de blog, le brindamos una descripción general de nuestras actualizaciones recientes, nuestro […]

La publicación Una experiencia de desarrollador completa en Heroku, Salesforce Functions y AWS apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Campañas conectadas de Marketing Cloud

Algunos de vosotros ya sabréis que en Pardot existe oficialmente una funcionalidad llamada “Campañas Conectadas”. Esta es una funcionalidad que aún no está disponible para su hermano de otra madre: Marketing Cloud. Personalmente, Marketing Cloud es su propia bestia… una que debe domar antes de que se salga de control. Comparando muy brevemente Lea más sobre las campañas conectadas de Marketing Cloud[…]

Seguir leyendo

3 formas de promover un crecimiento eficiente con los recursos que ya tiene

¿Cómo aumentan las ventas en tiempos difíciles? Vuelve a lo básico. Las grandes empresas utilizan estas estrategias para gestionar el riesgo y aumentar los ingresos a medida que fluctúan las condiciones del mercado.

Seguir leyendo

Cómo aprobar el examen de certificación de consultor Pardot de Salesforce

Última actualización el 8 de octubre de 2022 por Rakesh Gupta Han pasado seis años desde que aprobé el examen de Consultor Pardot certificado de Salesforce. En los últimos meses, muchas personas se pusieron en contacto conmigo para pedirme orientación y un camino para convertirme en un consultor certificado de Pardot (Marketing Cloud Account Engagement). Que

La publicación Cómo aprobar el examen de certificación de consultor Pardot de Salesforce apareció primero en Automation Champion .

Seguir leyendo

Cómo aprobar el examen de certificación de consultor de servicio de campo de Salesforce

Después de temer y demorar un par de veces, finalmente reuní el coraje para presentarme hoy al examen de certificación de consultor de servicio de campo. Y logré pasarlo en mi segundo intento. Entonces, ¡sigue adelante en el 'Camino de ladrillos amarillos'! La primera vez que me presenté a este examen fue

La publicación Cómo aprobar el examen de certificación de consultor de servicio de campo de Salesforce apareció primero en Automation Champion .

Seguir leyendo

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

Última actualización el 2 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo puede crear automáticamente un caso a partir de una publicación de Chatter si incluye una palabra clave específica? Objetivos: después de leer este blog, podrá: Comprender qué son los tipos de metadatos personalizados y cuándo debe uno.

La publicación Creación automática de un caso a partir de la palabra clave utilizada en Chatter apareció primero en Automation Champion .

Seguir leyendo

¿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 GuptaGran 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í 'autoasignar conjunto de permisos a nuevos usuarios'? El artículo fue escrito usando Flow Trigger – ahora,

¿El perfil de la publicación? ¡Asi que ayer! – Asignar automáticamente un grupo de conjuntos de permisos a un usuario apareció por primera vez en Automation Champion .

Seguir leyendo

Publicar automáticamente un mensaje en Chatter cuando se crea un evento

Última actualización el 6 de abril de 2022 por Rakesh GuptaGran idea o pregunta duradera: ¿Cómo se publica automáticamente un mensaje en el mensaje del grupo de Chatter cuando un usuario crea un evento? En Salesforce, Chatter Group representa el grupo de personas. Es una excelente manera de impulsar la colaboración en su organización.

La publicación Publicar automáticamente un mensaje en Chatter cuando se crea un evento apareció primero en Automation Champion .

Seguir leyendo

Cambiar condicionalmente el color de los valores de campo de texto en Salesforce

Gran idea o pregunta duradera: ¿Cómo se muestran los valores de los campos de texto en diferentes colores según la etapa de la oportunidad? Objetivos: después de leer este blog, podrá: Entender cuándo usar el flujo antes de guardar Usar la fórmula para mostrar textos en diferentes colores Usar la función SUSTITUIR para eliminar

La publicación Cambio condicional del color de los valores de campo de texto en Salesforce apareció primero en Automation Champion .

Seguir leyendo

Cómo usar TypeScript con Salesforce – Parte 2 ☁️

En esta segunda publicación de nuestra serie de dos partes sobre TypeScript, analizaremos los distintos lugares en los que puede utilizar TypeScript dentro del ecosistema de Salesforce. Le recomendamos encarecidamente que lea la publicación anterior (Parte 1), antes de leer esta. En él explicamos qué es TypeScript y en qué se diferencia de JavaScript. Nosotros […]

La publicación Cómo usar TypeScript con Salesforce – Parte 2 apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

@Mencionar a un usuario relacionado en una acción Publicar en Chatter

Última actualización el 4 de abril de 2022 por Rakesh GuptaGran idea o pregunta persistente: ¿Cómo @menciona usuarios relacionados en una acción Publicar en Chatter Salesforce Flow? Objetivos: después de leer este blog, podrá: Usar la acción de publicación para charlar en el flujo activado por registros Usar el elemento Obtener para

La publicación @Mention a Related User In a Post to Chatter Action apareció primero en Automation Champion .

Seguir leyendo

Las estadísticas de servicio al cliente más importantes para 2022

¿Busca puntos de referencia de la industria y estadísticas de la industria de soporte y servicio al cliente? Te tenemos cubierto.

La publicación Las estadísticas de servicio al cliente más importantes para 2022 apareció primero en Groove Blog.

Seguir leyendo

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

Última actualización el 17 de marzo de 2022 por Rakesh GuptaGran 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á: Usar Flow para agregar automáticamente una licencia de paquete a nuevos usuarios Usar obtener

La licencia de paquete de asignación automática posterior a nuevos usuarios apareció primero en Automation Champion .

Seguir leyendo

Cómo integrar Salesforce con WhatsApp Messenger

Desde el momento en que WhatsApp introdujo la capacidad de que las empresas lo usen para conectarse con sus clientes, cada vez más empresas aprovechan WhatsApp para sus comunicaciones proactivas y reactivas. Y dado que Salesforce es el sistema de CRM líder en el mundo, la integración de Salesforce y WhatsApp fue muy esperada. Con WhatsApp siendo utilizado por 2 mil millones de personas […]

La publicación Cómo integrar Salesforce con WhatsApp Messenger apareció primero en Inspire Planner.

Seguir leyendo