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 S铆 , 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 鈥渓istofSObjects鈥 (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

Limite el n煤mero de sesiones simult谩neas en Salesforce

脷ltima actualizaci贸n el 10 de octubre de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo limitar la cantidad de sesiones simult谩neas para un usuario? Objetivos: despu茅s de leer este blog, podr谩: Comprender las sesiones concurrentes y c贸mo identificarlas usando Flow Limitar el n煤mero de sesiones concurrentes con

La publicaci贸n Limitar el n煤mero de sesiones simult谩neas en Salesforce apareci贸 primero en Automation Champion .

Seguir leyendo

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 Eliminar mensajes de Chatter mediante Salesforce Flow, en el que analic茅 una forma que permite a sus usuarios eliminar

La publicaci贸n Eliminar conversaci贸n completa de Chatter mediante Salesforce Flow apareci贸 primero en Automation Champion .

Seguir leyendo

Eliminar mensajes de Chatter mediante Salesforce Flow

脷ltima actualizaci贸n el 17 de junio de 2022 por Rakesh Gupta Gran idea o pregunta persistente: 驴C贸mo se puede permitir que los usuarios eliminen mensajes individuales de Chatter? Objetivos: despu茅s de leer este art铆culo, el lector podr谩: Usar la automatizaci贸n para aumentar los permisos de los usuarios Crear un objeto personalizado para almacenar la identificaci贸n de

La publicaci贸n Eliminar mensajes de Chatter mediante Salesforce Flow apareci贸 primero en Automation Champion .

Seguir leyendo

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

脷ltima actualizaci贸n el 7 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se eliminan los duplicados de las variables de colecci贸n de registros o las variables de colecci贸n en flujo sin escribir c贸digo? Objetivos: despu茅s de leer este blog, podr谩: Comprender los diferentes operadores de flujo en el elemento de asignaci贸n Comprender

La publicaci贸n Eliminar duplicados de las variables de recopilaci贸n de registros en un flujo apareci贸 primero en Automation Champion .

Seguir leyendo

Eliminaci贸n autom谩tica de un registro de grupos de Chatter

脷ltima actualizaci贸n el 19 de mayo de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo se elimina autom谩ticamente un registro de los grupos de Chatter? Salesforce le permite agregar un registro a Grupos de Chatter, lo que significa que ahora puede colaborar y discutir los registros como un equipo en el grupo. T煤

La publicaci贸n Eliminar autom谩ticamente un registro de los grupos de Chatter apareci贸 primero en Automation Champion .

Seguir leyendo

Consulta de registros por lista de ID en el flujo

脷ltima actualizaci贸n el 8 de mayo de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo puede eliminar autom谩ticamente las tareas abiertas relacionadas con la oportunidad y la(s) cotizaci贸n(es) cuando una oportunidad se marca como cerrada perdida? Objetivos: despu茅s de leer esta publicaci贸n de blog, el lector podr谩: Comprender @InvocableMethod e InvocableVariable Annotation

La publicaci贸n Query Records by List of Ids in Flow apareci贸 primero en Automation Champion .

Seguir leyendo

隆Elimine autom谩ticamente la licencia del paquete administrado de un usuario desactivado!

脷ltima actualizaci贸n el 29 de marzo de 2022 por Rakesh GuptaSalesforce Flow es una forma fant谩stica de automatizar varios procesos comerciales. Le permite crear un flujo basado en ciertos criterios que establezca. El flujo de Salesforce puede hacer muchas cosas: crear un registro, actualizar registros, publicar en Chatter, enviar un correo electr贸nico, etc.

隆La licencia de paquete administrado posterior a la eliminaci贸n autom谩tica de un usuario desactivado! apareci贸 por primera vez en Automation Champion .

Seguir leyendo

Eliminaci贸n autom谩tica de publicaciones de Chatter generadas por el sistema

脷ltima actualizaci贸n el 3 de marzo de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se eliminan las publicaciones de Chatter generadas por el sistema? Objetivos: despu茅s de leer esta publicaci贸n de blog, el lector podr谩: Asignar un campo personalizado de prospecto a un campo personalizado de cuenta Crear un flujo activado por registro para eliminar registros y mucho m谩s

La publicaci贸n Eliminaci贸n autom谩tica de publicaciones de Chatter generadas por el sistema apareci贸 primero en Automation Champion .

Seguir leyendo

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, al

La publicaci贸n Primeros pasos con Salesforce Flow: Parte 87 (Eliminaci贸n masiva de entrevistas de flujo en pausa y fallidas) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 81 (驴Alguna vez se pregunt贸 qu茅 es un flujo activado por registro por objeto – Por tipo?))

Esta es una continuaci贸n de mi 煤ltimo art铆culo Salesforce Flow Design Patterns: from Fundamentals to Mastery. En mi art铆culo anterior, habl茅 de varias pr谩cticas recomendadas y consideraciones de dise帽o cuando se trata de crear un flujo eficiente. Este art铆culo va un paso m谩s all谩 y explica c贸mo un usuario puede crear y

La publicaci贸n Getting Started with Salesforce Flow – Part 81 (驴Alguna vez se pregunt贸 qu茅 es un flujo activado por registro por objeto – por tipo?)) Apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 79 (Convenciones de nomenclatura de Salesforce Flow)

脷ltima actualizaci贸n el 9 de noviembre de 2021 por Rakesh Gupta Como programador declarativo, siempre desea crear flujos limpios donde los nombres deben ser apropiados para que a cualquier otro programador le resulte m谩s f谩cil leer el flujo y comprenderlo. Ahora, esto puede parecerle insignificante, pero piense

La publicaci贸n Getting Started with Salesforce Flow – Part 79 (Convenciones de nomenclatura de Salesforce Flow) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 66 (Dejar de seguir autom谩ticamente registros seg煤n criterios)

Gran idea o pregunta duradera: 驴Desea dejar de seguir autom谩ticamente los registros cuando los registros cumplen con criterios espec铆ficos? Como sabe, los usuarios pueden seguir y dejar de seguir registros haciendo clic en el icono Seguir en la p谩gina de detalles del registro. Sin embargo, los usuarios pueden automatizar el proceso Seguir / Dejar de seguir, seg煤n algunos criterios, ya sea por

La publicaci贸n Getting Started with Salesforce Flow – Part 66 (Auto Unfollow Records Based on Criteria) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 37 (Eliminaci贸n autom谩tica de seguidores de una oportunidad cerrada)

脷ltima actualizaci贸n el 4 de enero de 2021 por Rakesh Gupta Para comprender c贸mo resolver un caso de uso empresarial similar utilizando Process Builder. Consulte este art铆culo Introducci贸n a Process Builder – Parte 29 (Eliminaci贸n autom谩tica de seguidores de las preguntas con las mejores respuestas). Grande … Sigue leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 37 (Eliminar seguidores autom谩ticamente de una oportunidad cerrada) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 32 (Programar publicaciones de Chatter)

脷ltima actualizaci贸n el 30 de diciembre de 2020 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo permite que sus usuarios programen previamente las publicaciones de Chatter? Chatter es una excelente manera de impulsar la colaboraci贸n en su organizaci贸n. Puede publicar el estado,鈥 Continuar leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 32 (Preschedule Chatter Posts) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 40 (Correo electr贸nico a cliente potencial con la ayuda de Salesforce Flow)

脷ltima actualizaci贸n el 30 de diciembre de 2020 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo utilizar el flujo y configurar el correo electr贸nico a cliente potencial en Salesforce? Salesforce Flow es una caracter铆stica poderosa proporcionada por Salesforce para minimizar el c贸digo en su鈥 Continuar leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 40 (Email to Lead with the Help of Salesforce Flow) apareci贸 primero en Automation Champion .

Seguir leyendo

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

脷ltima actualizaci贸n el 27 de abril de 2021 por Rakesh Gupta Gran idea o pregunta duradera: los conjuntos de permisos son 煤tiles para proporcionar un conjunto particular de funcionalidades a un usuario adem谩s de los permisos proporcionados por su perfil. Por ejemplo, puede鈥 Continuar leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 62 (Auto Assign or Remove Permission Set to Multiple Users) apareci贸 primero en Automation Champion .

Seguir leyendo

Preguntas de la entrevista sobre uso compartido y seguridad en Salesforce

P. 驴Qu茅 es el grupo de conjunto de permisos? Grupos de conjuntos de permisos es una funci贸n que permite a los administradores combinar varios conjuntos de permisos en un solo grupo de conjuntos de permisos para la asignaci贸n de usuarios. Con el mecanismo de agrupaci贸n, admins … Leer m谩s 禄

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 56 (Combinar temas de Chatter con la ayuda de Salesforce Flow)

脷ltima actualizaci贸n el 2 de febrero de 2021 por Rakesh Gupta Gran idea o pregunta permanente: 驴C贸mo se puede permitir a los usuarios fusionar temas de Chatter? Los temas para objetos nos permiten organizar los registros utilizando el tema de Chatter. Los temas ayudan a organizar los registros en un鈥 Continuar leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 56 (Fusionar temas de Chatter con la ayuda de Salesforce Flow) apareci贸 primero en Automation Champion .

Seguir leyendo

Preguntas de la entrevista sobre el cargador de datos y el asistente de importaci贸n en Salesforce

P. 驴Diferencia entre Bulk Api Vs Data Loader? Dataloader es bueno para insertar hasta 5 millones de registros. La API masiva le permite ejecutar las inserciones en el cargador de datos de forma asincr贸nica. Utilizando … Leer m谩s 禄

Seguir leyendo

Preguntas de la entrevista en profundidad basadas en escenarios sobre la integraci贸n de Salesforce

Generalmente, dominar los conceptos de integraci贸n resulta complicado para muchos desarrolladores de Salesforce. Este art铆culo cubrir谩 todas las preguntas de la entrevista sobre conceptos de integraci贸n de salesforce como Salesforce Connect, Streaming API, SOAP API, … Leer m谩s 禄

Seguir leyendo