Skip to content

Omitir flujo programado los fines de semana y días festivos

Última actualización el 23 de febrero de 2022 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 sus prospectos para comprar una casa en Navidad. ¿O qué tal enviar un correo electrónico de renovación de contrato a sus clientes en un fin de semana? Tasa de éxito si estas acciones no es demasiado difícil de estimar, ¿verdad?

Entiendes mi punto.

Uno de los principios cardinales del marketing es enviar un correo electrónico de solicitud a un cliente o prospecto en el momento más oportuno : los fines de semana o los días festivos no cumplen con los requisitos.

No es de extrañar, entonces, que una de las solicitudes más comunes que recibimos de Ohana sea consejos sobre cómo omitir la activación de alertas por correo electrónico , u otras automatizaciones de procesos comerciales, los fines de semana o días festivos .

Así como la probabilidad de que alguien busque comprar una casa en Navidad es baja. Aún menor es la probabilidad de que alguien revise su correo electrónico corporativo durante un fin de semana para firmar un documento de renovación de contrato.

Si es así, la pregunta es, ¿cómo podemos omitir el trabajo programado los fines de semana o días festivos?

O, ¿cómo podemos omitir el Flujo activado por programación los fines de semana o días festivos?

En otras palabras, ¿existe alguna manera de manejar tales escenarios en Salesforce? ¿Tiene Salesforce funciones, o trucos, para administrar fácilmente dichos requisitos?

Ahora bien, no se nos conoce como Salesforce Ninjas por nada: ¡ni aceptamos ni damos un 'no' como respuesta! Entonces, ¡comencemos usando nuestro sombrero para pensar listo para usar!

Comencemos con un caso de uso comercial.

Objetivos:

¡Esta publicación de blog nos ayudará a aprender cómo aplicar los siguientes conocimientos y herramientas para garantizar el mayor ROI en los puntos de contacto del cliente !:

  • Cuándo usar la acción Invocable de Apex con Flow
  • Comprender la clase BusinesshHours y sus métodos asociados
  • Comprender la anotación @InvocableMethod
  • Cómo llamar a un método de Apex usando Flow para omitir la activación de Flow los fines de semana o días festivos

Warren Mason es administrador de sistemas en Gurukul on Cloud (GoC). Desarrolló un proceso automatizado (que se ejecuta todas las mañanas a las 08:00 am). El proceso asigna automáticamente la aprobación pendiente al Director Financiero de la empresa.

El proceso funciona a la perfección hasta que Warren recibe una solicitud de mejora para omitir el trabajo automatizado los fines de semana y días festivos. ¡¡Ay!!

Lea primero estos artículos:

  1. Primeros pasos con Salesforce Flow: parte 49 (No deje que las solicitudes de aprobación pendientes permanezcan: ¡reasignar!)

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

Si bien esto se puede resolver usando 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, utilizaremos la clase de base de datos llamada BusinessHours del código Apex. Asegúrate de revisarlo. Utilice los métodos BusinessHours para establecer el horario comercial en el que opera su equipo de atención al cliente. A partir del lanzamiento de Spring'22 , no es posible acceder directamente al método BusinessHours 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 3 pasos para resolver el requisito empresarial de Warren mediante Salesforce Flow. Debemos:

  1. Establecer horario comercial y días festivos
  2. Crear clase de Apex y clase de prueba
  3. Flujo de fuerza de ventas
    1. Clonar un flujo existente
    2. Crear una variable para almacenar el resultado de la llamada de Apex
    3. Agregar acción: llame al método BusinessHours a través de Invocable Apex
    4. Agregue un elemento de decisión para verificar si la fecha/hora dada es feriado

Paso 1: Configuración del horario comercial y días festivos

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Horario comercial .
  3. Establezca el horario comercial y los días festivos , como se muestra en la siguiente captura de pantalla:

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

Ahora, tenemos que entender una nueva anotación de Apex, es decir , . @MétodoInvocable . Esta anotación nos permite usar un método de Apex como algo que se puede llamar desde otro lugar que no sea Apex .

La clase CustomBusinessHourAndHolidayHandler contiene un único método que pasa la fecha/hora para encontrar si la fecha/hora objetivo especificada ocurre dentro del horario comercial, incluidos los días festivos. Cree la siguiente clase en su organización.

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Clases de Apex .
  3. Haga clic en el botón Nuevo .
  4. Copie el código de GitHub y péguelo en su clase de Apex.
  5. Haga clic en Guardar.

Paso 3.1: Flujo de Salesforce: 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, reasignar solicitudes pendientes de aprobación .
  4. Haga clic en el botón Guardar como en la parte superior derecha de la página de detalles del flujo.
  5. En la ventana emergente ingrese el Nombre . Se recomienda actualizar la descripción con una nota sobre lo que cambió. El nombre de la API no se puede actualizar.
  6. Para Versión de API para ejecutar el flujo , seleccione siempre la última versión, en este escenario, 54 .
  7. Haga clic en Listo .

Paso 3.2: Flujo de Salesforce: cree una variable para almacenar el resultado de la llamada de Apex

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para almacenar los resultados de las llamadas de Apex.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : Variable
    2. Nombre de la API : varB_IsHoliday
    3. Tipo de datos : booleano
    4. Valor predeterminado : {!$Constante global.Falso}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo .

Paso 3.3: Flujo de Salesforce: agregar una acción para llamar al método BusinessHours a través de Apex invocable

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Seleccione la clase de Apex CustomBusinessHourAndHolidayHandler .
  3. Ingrese un nombre en el campo Etiqueta : el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada:
    1. Campo: Campo de fecha/hora
    2. Valor: {!$Flow.CurrentDateTime}
  5. Almacenar valores de salida
    1. Campo: outputIsBusinessHour
    2. Valor: {!varB_IsHoliday}
  6. Haga clic en Listo .

Paso 3.4: Flujo de Salesforce: uso del elemento de decisión para verificar si la fecha/hora dadas son días festivos

Ahora usaremos el elemento Decisión para verificar si la fecha/hora dada está dentro del horario comercial, incluidos los días festivos.

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

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

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

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.

 Correctora : - Munira Majmundar

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/02/23/scheduled-job-to-exclude-weekend-and-holidays/

Últimas novedades 
de EGA Futura
1954
Desde hace más de 25 años potenciamos a las Empresas de Iberoamérica
🎬 Video de EGA Futura » Conceptos de Seguridad (EGA Futura ERP / Salesforce)

🎬 Video de EGA Futura » Conceptos de Seguridad (EGA Futura ERP / Salesforce)

🎬 Video de Juan Manuel Garrido » Claves para tu Productividad diaria 🙌✅

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Conceptos básicos con EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Configuración de EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Funcionamiento con EGA Futura Windows

🎬 Video de EGA Futura » Configuración de la Plataforma EGA Futura

🎬 Video de EGA Futura » Configuración de usuario en EGA Futura

🎬 Video de EGA Futura » Como automatizar la publicación en Redes Sociales?

🎬 Video de Juan Manuel Garrido » Cómo restaurar la configuración de fábrica de EGA Futura Windows sin perder la información

🎬 Video de Juan Manuel Garrido » Factura electrónica: Prueba de Factura Electronica previa a la activacion

🎬 Video de EGA Futura » Como se registran los Beneficios de cada Empleado en la base de datos de EGA Futura

🎬 Video de EGA Futura » EGA Futura Time Clock » Reloj de Control horario y asistencia

🎬 Video de EGA Futura » Como registrar Observaciones en un Empleado dentro de EGA Futura People?

🎬 Video de EGA Futura » Cómo registrar la Educación de cada Empleado en EGA Futura People?

🎬 Video de EGA Futura » Como hacer la Desvinculación de un Empleado? (Offboarding)

🎬 Video de EGA Futura » Como registrar Habilidades o Skills de empleados dentro de EGA Futura

🎬 Video de EGA Futura » Como hacer el Onboarding o Proceso de Incorporación de un Empleado?

🎬 Video de EGA Futura » Cómo administrar Turno de trabajo dentro de EGA Futura

🎬 Video de EGA Futura » Que es un Ticket interno dentro de la Plataforma EGA Futura

🎬 Video de EGA Futura » Que son los Entrenamientos de Empleado en EGA Futura people?

🎬 Video de EGA Futura » Qué son los Epics dentro de EGA Futura

🎬 Video de EGA Futura » Qué es EGA Futura People?

🎬 Video de EGA Futura » EGA Futura People » Asistencias

🎬 Video de EGA Futura » Soporte EGA Futura » Software de Gestión Windows vs Software de Gestión Nube 🤩

🎬 Video de EGA Futura » ツ Comparando un Objeto con un Fichero

Omitir flujo programado los fines de semana y días festivos
Omitir flujo programado los fines de semana y días festivos