Skip to content

Etiqueta: Prospecto

Preguntas de la entrevista de Salesforce CPQ, parte 2

Preguntas de la entrevista de Salesforce CPQ, parte 2

Preguntas de la entrevista de Salesforce CPQ, parte 1

Enlace de Whatsapp para el grupo Salesforce CPQ

1. ¿Qué son los filtros de búsqueda en el editor de líneas de cotización?

El filtro de búsqueda del editor de líneas de cotización se puede utilizar para filtrar productos, activos o suscripciones por sus valores de campo.

2. ¿Cuál es la diferencia entre la regla del producto y la regla del precio?

La estructura general de las reglas de precios y de productos es la misma:

  • Registro de reglas: que contiene propiedades generales.
  • Condiciones: ambas admiten lógica de condición avanzada
  • Comportamiento

Reglas del producto

Las reglas de productos se utilizan para hacer cumplir la lógica empresarial, ayudar a automatizar los comentarios a los representantes de ventas sobre las selecciones de productos y también aceleran el proceso de cotización.

Hay 4 tipos de reglas de producto:

Reglas de validación: cuando no se cumplen las condiciones, se muestra un mensaje de error y los usuarios no pueden continuar hasta que se solucione la situación. Por tanto, actúan como un freno duro .

Las reglas de alerta son una parada suave en comparación con la parada fuerte de las reglas de validación. También muestran un mensaje, pero es más bien una sugerencia porque el usuario puede continuar sin cumplir con los requisitos comerciales especificados.

Reglas de selección : pueden agregar, eliminar, mostrar, ocultar, habilitar o deshabilitar o realizar alguna combinación de estas acciones en las opciones de productos dentro de un paquete o pueden agregar un producto a una cotización. Esta regla puede ser una excelente manera de aprovechar la Venta Guiada para guiar a sus representantes hacia las opciones apropiadas o más deseadas seleccionando automáticamente los productos correctos.

Las reglas de filtrado se utilizan en paquetes para extraer opciones de productos del catálogo de productos mediante una regla de filtrado . A esto se le suele denominar creación de un paquete dinámico.

Reglas de precios

Se puede considerar que las reglas de precios realizan actualizaciones de campos dentro del cálculo que afectarán el precio. puede usarlos para establecer descuentos y cantidades.

3. ¿Cuáles son las consideraciones para los campos gemelos?

Recuerde que un campo gemelo debe tener el mismo tipo de datos y nombre de API que el campo correspondiente creado en el objeto Opción de producto.

4. ¿Cómo configurar productos de suscripción en Salesforce CPQ?

Hay tres campos esenciales para configurar Productos de suscripción en Salesforce CPQ.

Campo de producto Tipo de datos Descripción
Precios de suscripción Lista de selección El producto no se considerará una suscripción sin que este campo esté configurado en Precio fijo o Porcentaje del total.
Plazo de suscripción Número Este es el periodo asociado a la compra, por lo que puedes establecerlo en 12 meses si se trata de una Suscripción Anual.
Tipo de suscripción Lista de selección Este campo determina si el producto es renovable o único. Las Suscripciones Renovables se transfieren a Cotizaciones de Renovación. Las suscripciones únicas no lo harán.

Para crear Productos de Suscripción , cree un nuevo Registro de productos. Complete los campos: Precio de suscripción , Tipo de suscripción y Plazo de suscripción para el producto. Tenga en cuenta que durante la creación del contrato, los Productos de Suscripción se convierten en registros de Suscripción.

Salesforce CPQ, Productos de suscripción, Campos básicos de nuevos productos: Precios de suscripción; Tipo de suscripción; Plazo de suscripción

5. ¿Cuál es la diferencia entre restricciones de opciones y reglas de productos?

Las restricciones de opciones y las reglas de productos tienen diferentes casos de uso.

Las restricciones de opciones no pueden seleccionar productos automáticamente. (aunque pueden anular la selección de productos cuando se aplica la dependencia). Son buenos en dos escenarios:

  • dependencia
  • exclusión

Las restricciones de opciones permiten el procesamiento en tiempo real . Cada vez que el usuario selecciona o deselecciona una opción, la dependencia o exclusión se activa inmediatamente.

Las reglas de producto tienen más funciones que la restricción de opción, aunque es necesario elegir un evento de evaluación para especificar cuándo Salesforce CPQ debe considerar y ejecutar una regla de producto: Cargar, Editar, Guardar o Siempre.

6. ¿Explicar el paquete de productos en CPQ?

Hay tres objetos clave que definen la estructura del paquete :

  • Producto
  • Opciones
  • Características

Producto

Los paquetes están hechos de productos. Se puede hacer referencia a los productos en un paquete, ya sea como paquete principal o como opciones de producto. Piense en la computadora portátil como un producto

Opciones de producto

Son como hijos que se encuentran debajo del paquete principal y son los que realmente unen el paquete porque los paquetes se crean cuando agrega Opciones a un Producto en la lista relacionada de Opciones. Las opciones de producto para computadora portátil pueden ser mouse, teclado, cargador y software de Microsoft.

Características

Son categorías de opciones de productos dentro de la configuración. No son obligatorios, pero se pueden utilizar para una mejor experiencia visual y también ayudan a impulsar lógica adicional, como las opciones mínimas y máximas. Las funciones son como poner opciones dentro de funciones, por ejemplo:

Software

  • Software de Microsoft

Hardware

  • Ratón
  • Teclado

Aquí Hardware y Software son características que clasifican las opciones del producto.

Hay tres tipos de paquetes :

Paquete estático. Este sería el paquete fijo tradicional, preempaquetado, en el que se venden ciertos productos juntos a un precio fijo, y el usuario no necesita ingresar a la configuración porque no se permiten ajustes.

Paquete configurable. Este tipo de paquete se puede configurar con ciertas restricciones para evitar configuraciones imposibles. El usuario puede seleccionar diferentes opciones para personalizar el paquete y satisfacer las necesidades del cliente.

Paquete anidado. Estos son paquetes dentro de otros paquetes. Se recomienda mantener los paquetes anidados en tres niveles de profundidad. Los paquetes anidados se crean fácilmente agregando el producto principal de un paquete como opción a otro paquete.

Paquete virtual . Este tipo de fardo funciona como contenedor para otros productos. Para configurar un paquete principal virtual, debe estar asociado con un precio de $0,00.

Paquetes dinámicos . Estas funciones, junto con las reglas de filtrado de productos, permiten a sus representantes de ventas seleccionar productos de una lista previamente filtrada de opciones entre las que pueden elegir.

7.¿Qué son las funciones de CPQ?

El objeto de característica está relacionado con productos y "se encuentra" dentro de paquetes. Un paquete puede tener varias funciones o ninguna, y una función puede tener varias opciones.

Las características tienen dos propósitos:

  • Ofrecen una mejor experiencia de usuario mientras navegan por las opciones de productos dentro de los paquetes.
  • Los campos en los registros de funciones nos ayudan a impulsar la lógica empresarial , como establecer las opciones mínimas y máximas, evitando que el usuario seleccione muy pocas o demasiadas opciones. Si el usuario no cumple con los requisitos mínimos/máximos e intenta guardar la configuración.

Una captura de pantalla de una computadora Descripción generada automáticamente

Una captura de pantalla de una lista de productos Descripción generada automáticamente

El campo Número establece el orden de visualización de las funciones, siendo la función con el número más bajo la primera en la lista. Se recomienda utilizar incrementos de 10 al asignar números.

El campo SKU configurado se completa automáticamente cuando el usuario crea una función desde la página de detalles del producto del paquete y representa el producto principal que alberga la función.

8. ¿Explica los diferentes valores del campo del método de selección de opciones en el objeto de características?

El campo Método de selección de opciones controla cómo aparecen al usuario las opciones adjuntas a esta función.

Haga clic : las opciones aparecen como una lista con casillas de verificación junto a ellas:

Una captura de pantalla de una computadora Descripción generada automáticamente

Una captura de pantalla de una lista de productos Descripción generada automáticamente

Agregar : las opciones se colapsan y en su lugar aparece un botón Agregar opciones. Se debe hacer clic en el botón Agregar opciones para navegar a una página separada que muestra los productos para esta función.

Una captura de pantalla de una computadora Descripción generada automáticamente

Una captura de pantalla de una computadora Descripción generada automáticamente

Dinámico : muestra un botón Agregar opciones, que muestra una lista prefiltrada de productos disponibles para su selección. Para utilizar esta funcionalidad, debe configurar una regla de producto de filtro CPQ de Salesforce para paquetes dinámicos.

Una captura de pantalla de una computadora Descripción generada automáticamente

Una captura de pantalla de una computadora Descripción generada automáticamente

9. ¿Explicar el campo del objeto de búsqueda?

Las reglas de producto y las reglas de precio en Salesforce CPQ contienen el campo Objeto de búsqueda. Este campo define el objeto que almacena datos que puede evaluar mediante consultas de búsqueda para compararlos con los campos de cotización, línea de cotización o opción de producto.

10. ¿Explicar la estructura de la plantilla de cotización?

La estructura de la plantilla de cotización incluye:

  1. Información de la plantilla de cotización
  • Información de la página
  • Información de encabezado/pie de página
  • Información corporativa
  • Información de estilo
  • Información de estilo de grupo
  • Títulos de sección
  • Opciones de impresión
  1. Listas relacionadas
  • Columnas de línea
  • Secciones de plantilla
  • Documentos adicionales

Detalles de la plantilla de cotización de muestra nueva de Salesforce CPQ

11. ¿Cuáles son los pasos para crear plantillas de cotizaciones?

Hay cinco pasos principales a seguir al crear una plantilla de cotización:

1. Crear la propia plantilla de cotización

2. Almacenamiento del logotipo necesario en Documentos

3. Creando el contenido de la plantilla

4. Creando las secciones de la plantilla

5. Creando las columnas de línea

12. ¿Cómo se puede renovar la suscripción con un cliente existente?

Si ya tiene una oportunidad de renovación, cuando se acerque al final del período de suscripción, es posible que desee venderles las suscripciones de renovación al cliente nuevamente. Para ello, necesita una cotización de renovación.

Se puede generar marcando la casilla de verificación Cotización de renovación como verdadera. Esta cotización de renovación se puede enviar, actualizar y modificar según sea necesario y luego recibirla nuevamente para que posteriormente pueda crear un contrato nuevo.

1. Primero, haga clic en la pestaña Cuentas en la barra de navegación.

2. Vaya a la empresa necesaria y haga clic en la pestaña Relacionado .

3. Acceda al enlace Número de contrato en la lista relacionada Contratos y luego haga clic en Editar .

4. Marque la casilla de verificación Cotización de renovación como verdadera, lo que le indicará a CPQ que genere una cotización sobre la oportunidad de renovación.

.

Tenga en cuenta que la cotización de renovación tiene la Fecha de inicio un día después de la Fecha de cierre de la oportunidad de renovación, mientras que la Fecha de finalización se basa en el Plazo de renovación del contrato.

13. ¿Cómo modificar un contrato en Salesforce CPQ?

Veamos cómo Salesforce CPQ puede actualizar un Contrato existente para incluir mayores cantidades de productos de suscripción, prorrateados por la duración restante del Contrato y crear automáticamente una Oportunidad y Cotización de enmienda:

Cree una cotización de modificación y una oportunidad para aumentar la cantidad de un producto de suscripción de 1 a 10, a partir de los 3 meses del contrato.

Navegue hasta esa cuenta y vaya al enlace Número de contrato en la lista relacionada Contratos. Luego, haga clic en Modificar y nuevamente en Modificar .

14. ¿Cómo funciona el grupo de restricción de opciones en Salesforce CPQ?

Esta característica resulta útil cuando desea hacer que las opciones sean obligatorias o excluidas en función de combinaciones de otras opciones.

Veamos un ejemplo en el que desea evitar que los representantes de ventas vendan el Producto A a menos que el Producto B se haya incluido en la cotización:

A. Haga clic en la pestaña Productos en la barra de navegación.

C. Vaya a la pestaña Relacionados .

D. En la lista relacionada Opciones , seleccione Ver todo y anote el número del Nombre de la opción para las opciones necesarias:

  • Producto A.
  • Producto B.

E. Haga clic en Nuevo en la lista relacionada Restricciones de opciones y complete los siguientes campos:

  • Para el campo Nombre de restricción , ingrese: El producto A requiere el producto B
  • Para el campo Opción restringida , ingrese: < PO-###### del Producto A >  
  • Para el campo Opción de restricción , ingrese: < PO-###### del Producto B >
  • Para el campo Grupo de restricciones de opción , ingrese: Puede ingresar aquí cualquier cadena de texto, pero es una buena práctica hacerla descriptiva y fácil de entender y recordar.

F. Haga clic en Guardar .

16. Tiene un escenario en el que el representante de ventas debe vender un paquete en el que hay al menos tantos Productos B como Productos A. ¿Cómo configurar para este escenario?

Paso 1: Cree una variable de resumen para determinar la cantidad agregada del Producto A en la configuración.

Paso 2: Cree una variable de resumen para determinar la cantidad agregada del Producto B en una configuración.

Paso 3: Cree una regla de producto que confirme cómo funcionará la regla de validación durante la configuración del producto.

Paso 4: Cree una condición de error que controle cuándo se activa la regla, es decir, solo cuando la variable de resumen del producto B es menor que la variable de resumen del producto A.

Paso 5: Cree una regla de configuración para mostrar que la regla de validación se aplicará al paquete de productos.

Paso 6: compruebe si la regla se comporta como se esperaba.

17. ¿Cómo utilizar las restricciones de opciones?

Hay muchos escenarios en los que sus representantes de ventas deben habilitar o deshabilitar un producto en un paquete en función de otra opción de producto.

Los escenarios incluyen:

  1. A. El Producto A pasa a estar DISPONIBLE si se selecciona el Producto B.
  2. B. El Producto A NO ESTÁ DISPONIBLE si se selecciona el Producto B.

Esto se puede lograr creando restricciones de opciones a partir de la lista relacionada Restricciones de opciones en el registro de producto principal del paquete.

Cree una restricción de opción para que el Producto A pueda seleccionarse solo cuando se seleccione el Producto B:

18. ¿Explique un caso de uso de precios contratados?

Escenario: el representante de ventas ha negociado con un cliente un precio especial para ciertos productos: $375,00 por una computadora portátil en lugar de $450,00

Utilice la herramienta Precios contratados, que permite crear registros relacionados con cuentas para excepciones de precios.

Primero, creemos un precio contratado para un único producto específico para una cuenta seleccionada. Haga clic en la pestaña Cuentas , haga clic en la cuenta seleccionada , vaya a la pestaña Relacionados y en la lista relacionada Precios contratados , haga clic en Nuevo:

►Producto: Computadora portátil
►Precio: 475
►Haga clic en Guardar.

Tenga en cuenta que los Precios Contratados pueden estar limitados en el tiempo: puede establecer una Fecha de Vigencia y/o una Fecha de Vencimiento.

19. ¿Explicar el evento de evaluación en la regla del producto?

Evento de evaluación : especifica cuándo se debe evaluar la regla:

Cargar: La regla se evaluará cuando se abra el paquete de productos.

Editar: la regla se evaluará cuando se edite el paquete de productos.

Guardar: la regla se evaluará al guardar.

Siempre: La regla será evaluada durante cualquier evento.

Ahora, supongamos que tiene un campo en el Objeto de producto que también desea ver en la Línea de cotización. Cree un campo con el mismo nombre de API y del mismo tipo.

20. ¿Qué es la venta guiada de Salesforce?

La venta guiada implementada en CPQ es una herramienta que formula preguntas sobre las necesidades del cliente en función de la selección de productos disponibles. Se hace creando un mensaje que pregunta a los representantes de ventas sobre los tipos de productos que desean agregar a la cotización y sus especificaciones.

21. ¿Qué es el precio por bloque de Salesforce?

Los precios en bloque le permiten fijar el precio de un producto en función de diferentes rangos de cantidades que se denominan precios en bloque.

  • El precio en bloque es un precio basado en niveles. El precio basado en niveles significa que el precio del producto depende de la cantidad que compra el cliente.
  • El precio también se basa en el rango de cantidad y no en el producto individual.

22. ¿Cuáles son los pasos para implementar un paquete dinámico?

Los paquetes dinámicos permiten a los representantes de ventas elegir sus propias opciones en un paquete. Puede utilizar reglas de filtrado para filtrar las opciones entre las que pueden elegir.

Para implementar un paquete dinámico, estos son los pasos de implementación que debe seguir:

►Crear una característica
►Crear una regla de producto
►Crear una acción
►Crear una regla de configuración

23. ¿Cuándo utilizar reglas de producto frente a restricciones de opciones?

Cuándo utilizar restricciones de opciones

Si tiene menos opciones y puede ajustar todas las opciones de producto en la categoría/pestaña sin tener que desplazarse mucho, entonces puede ser mejor optar por restricciones de opciones. Estos no pueden ocultar las Opciones del producto por completo, pero pueden habilitar/deshabilitar las Opciones del producto mediante otras selecciones.

24. ¿Cuándo utilizar las reglas del producto?

Este enfoque es especialmente útil en configuraciones más grandes que se muestran en categorías (pestañas), donde cada categoría puede requerir un desplazamiento extenso para mostrar todas las opciones.

Diferencias Restricciones de opciones Reglas de selección de productos
Acciones admitidas Habilitar deshabilitar Agregar, habilitar, deshabilitar, eliminar, habilitar y agregar, deshabilitar y eliminar, ocultar, mostrar, ocultar y eliminar, mostrar y agregar
Condiciones La restricción de opción tiene una condición simple: si se selecciona la opción X Las reglas de producto pueden tener múltiples condiciones que evalúan información fuera del contexto del paquete, es decir, campos de nivel de cotización/oportunidad/cuenta.
Alcance La restricción de opciones se limita a una sola opción. Las reglas del producto pueden actuar sobre múltiples opciones
Contexto Se utiliza sólo en el contexto de paquetes. Funciona en las opciones dentro del mismo paquete. Es específico de un solo paquete. Se utiliza en el contexto de paquetes y productos independientes. Se puede aplicar una regla de producto único a paquetes ilimitados.
Resultado No se puede seleccionar/deseleccionar automáticamente un producto Puede seleccionar/deseleccionar automáticamente un producto

25. ¿Cuándo se ejecutan las Reglas de Producto durante el proceso de cotización?

Las reglas del producto se ejecutan en la página de configuración del producto o en el editor de líneas de cotización. Esto se decide en función de los siguientes campos de reglas de producto:

a. ALCANCE – (Valores: Producto/Cotización ): el campo Alcance en el registro de regla del producto le indica a CPQ DÓNDE debe ejecutarse la regla. Un alcance de "Producto" significa que la regla se ejecutará durante la configuración del producto, y un alcance de "Cotización" hará que se ejecute en el Editor de líneas de cotización.

b. EVENTO DE EVALUACIÓN – (Valores: Cargar/Editar/Guardar/Siempre ): el campo Evento de evaluación en el registro de regla del producto le indica a CPQ CUÁNDO debe ejecutarse la regla.

26. Explique la descripción general del ciclo de vida de Salesforce CPQ.

Generación de leads: el ciclo de vida de CPQ comienza con la generación de leads, donde los clientes potenciales muestran interés en tus productos o servicios.

Creación de oportunidades: una vez que se identifica un cliente potencial, se convierte en una oportunidad en Salesforce. Esta etapa implica recopilar información del cliente y evaluar sus necesidades.

Configuración del producto: en esta etapa, el equipo de ventas utiliza Salesforce CPQ para configurar productos o servicios de acuerdo con los requisitos del cliente. CPQ permite configuraciones complejas de productos, opciones de agrupación y personalización.

Precios y descuentos: Salesforce CPQ permite al equipo de ventas aplicar precios y descuentos adecuados según los requisitos específicos del cliente, precios basados en el volumen o acuerdos contractuales. Esta etapa garantiza precios precisos y maximiza el potencial de ingresos.

Generación de cotizaciones: una vez determinados la configuración del producto y el precio, Salesforce CPQ genera una cotización profesional adaptada a las necesidades del cliente. La cotización incluye información detallada sobre los productos o servicios, precios y términos.

Aprobación y negociación de la cotización: la cotización generada pasa por un proceso de aprobación, donde las partes interesadas correspondientes la revisan y brindan su consentimiento. Esta etapa puede implicar negociación con el cliente para finalizar los detalles de la cotización.

Aceptación de cotización: una vez que el cliente acepta la cotización, avanza a la siguiente etapa del ciclo de vida de CPQ.

Creación de pedidos: la cotización aceptada se convierte en un pedido, lo que desencadena el proceso de cumplimiento, incluida la gestión de inventario, el procesamiento de pedidos y el envío.

Gestión de contratos: Salesforce CPQ proporciona capacidades de gestión de contratos, lo que permite al equipo de ventas generar y gestionar contratos basados en la cotización aceptada. Esta etapa garantiza el cumplimiento legal y agiliza la gestión del ciclo de vida del contrato.

Reconocimiento de ingresos: Salesforce CPQ se integra con sistemas de facturación y procesos financieros para facilitar el reconocimiento preciso de ingresos. Esto implica rastrear e informar los ingresos en función de los productos o servicios entregados.

Renovación y ventas adicionales: a medida que los contratos se acercan a su vencimiento, Salesforce CPQ ayuda a gestionar las oportunidades de renovación. El sistema puede identificar oportunidades de ventas adicionales o cruzadas y guiar al equipo de ventas para maximizar el valor para el cliente.

Informes y análisis: a lo largo del ciclo de vida de CPQ, Salesforce CPQ proporciona capacidades de informes y análisis para monitorear métricas clave, rastrear el desempeño de ventas, identificar tendencias y tomar decisiones basadas en datos.

27. ¿Explicar los atributos de configuración?

En Salesforce CPQ, esta funcionalidad se puede lograr principalmente creando un registro del objeto de atributo de configuración .

Atributo de configuración

Hay 2 tipos de Atributos de Configuración que podemos crear en Salesforce CPQ.

  1. Atributo de configuración
  2. Atributo global
  • Cuando queramos crear y asignar cualquier atributo al producto del paquete , crearemos un registro de Atributo de configuración que tenga el tipo de registro "Atributo de configuración" .
  • Cuando queramos crear y asignar cualquier atributo a un producto de opción , crearemos un atributo de configuración de registro que tenga el tipo de registro "Atributo global" .

28. ¿Qué es el precio excedente en Salesforce CPQ?

Imagina que tienes un plan de telefonía móvil que incluye hasta 10 GB de datos por 30 dólares al mes. Esto es mucho, pero ¿qué pasa si usas más de 10 GB en un mes? Ahí es donde entran en juego las tasas excedentes.

La compañía telefónica ofrece una tarifa excedente de $2 por GB adicional de datos utilizados más allá de los 10 GB iniciales. Esto significa que si usas 11 GB en un mes, pagarás la tarifa base de $30 por los primeros 10 GB, más una tarifa excedente de $2 por los GB adicionales, por un total de $32.

Así es como se descompone:

– Si usas 10 GB o menos, solo pagas tus $30 habituales, sin cargos adicionales.

– Si usas 11 GB, pagas $30 por los primeros 10 GB, luego $2 adicionales por el 11.° GB, para un total de $32.

– Si usas 12 GB, pagas $30 por los primeros 10 GB, luego $4 adicionales por los GB 11 y 12, por un total de $34.

…y así sucesivamente, sumando $2 por cada GB que uses por encima de los 10GB.

Este sistema hace que la facturación sea más clara y sencilla. Usted sabe exactamente cuánto se le cobrará si excede su límite de datos y la compañía telefónica puede calcular fácilmente los cargos según el uso real.

Para utilizar tarifas excedentes, debemos crear un campo personalizado especial en el objeto Precio de bloque. Este es un paso único para cualquier organización que utilice Salesforce CPQ.

29. ¿Explique la caída de precios en CPQ con la ayuda de un ejemplo?

Imagina que estás en "Sundae Funday", una heladería conocida por sus aderezos y sabores especiales. Decides comprar un cono de triple bola con tus sabores favoritos y así es como cambia el precio:

1. Precio original: Este es el costo básico en el que incurre “Sundae Funday” para hacer un cono de helado, incluyendo el helado, el cono, los aderezos y los costos operativos. Digamos que son $3.00. Esto no incluye ganancias ni costos adicionales; es simplemente cuánto le cuesta a la tienda hacer ese delicioso cono.

2. Precio de lista: ahora, el taller agrega su margen de beneficio, considerando factores como los gastos generales, los salarios del personal y el margen de beneficio. Este es el precio que ves en el menú cuando entras. Entonces, tu cono de triple cucharada aparece en $5.00. Ese es el precio estándar para cualquier cliente en un día normal.

3. Precio especial: ¿Adivina qué? Visitas la tienda un “martes tropical” y todos los conos con sabor tropical tienen un 20% de descuento. Como elegiste mango como una de tus bolas, tu cono ahora tiene un “precio especial” de $4.00. Este precio es específico para esta promoción o segmento de clientes.

4. **Precio Regular**: ¡Aquí vienen los beneficios del programa de fidelización! Como titular de una tarjeta de fidelidad “Sundae Funday”, tienes derecho a un descuento adicional del 10 % en cualquier compra. Ese beneficio reduce su precio a $3.60. Este es el “precio regular” que se ofrece a los clientes que cumplen ciertos criterios, como los miembros leales.

5. **Precio para el cliente**: Tienes un cupón por completar una encuesta en tu última visita, lo que te otorga un descuento adicional de $0,50 en tu próxima compra. Después de aplicar esto, su “precio al cliente” ahora es de $3,10. Este precio es el resultado de interacciones o negociaciones directas y únicas.

6. **Precio de socio**: La heladería tiene una asociación con un cine cercano. Dado que tiene una entrada de cine para el mismo día, obtiene un descuento adicional del 5%, lo que reduce su cono a un “precio de socio” de $2,95.

7. **Precio neto**: Finalmente, hay una promoción para toda la tienda en la que cada compra superior a $2,50 obtiene un descuento adicional de $0,10. Esto último te lleva a tu “precio neto” final de $2,85. Este es el monto final que paga y refleja todos los descuentos, promociones y circunstancias especiales que ha acumulado.

En este viaje, cada reducción de precio refleja una etapa en la cascada de precios CPQ, desde el costo básico de los bienes hasta el precio final pagado por un cliente en una posición única.

Memorizar las etapas de tarificación junto con sus funciones utilizando el

Con el mnemotécnico “Los viejos leones duermen, rara vez atrapan presas, nunca ronronean” , puede crear una historia que vincule cada término no solo con el orden de los precios sino también con sus roles específicos en el proceso de fijación de precios.

30. ¿Explique el método de fijación de precios de 'porcentaje del total'?

Imagina que estás en un parque de helados, famoso por su variedad de deliciosos helados y divertidas atracciones secundarias. Uno de los servicios únicos que ofrece este parque es el "Bono Sorpresa de Sundae", un regalo especial que se calcula en función del monto total que gasta en otras delicias. Así es como funciona:

1. Método de fijación de precios: “Porcentaje del total”:

– Piense en esto como la “Regla de la sorpresa del helado”. Cada vez que compras helados, batidos o aderezos, eres elegible para recibir un regalo adicional. El parque ha establecido esta regla especial según la cual su bonificación es un porcentaje del monto total que ha gastado, como su “propina” en el restaurante. Esta regla es conocida por todos y es como la forma especial que tiene el parque de dar las gracias.

2. Porcentaje del total (%) – El número mágico:

– El parque tiene carteles por todas partes que dicen: “¡Gasta en golosinas y recibe un 10% de bonificación!” Este 10% es el número mágico. Es como la receta especial para la felicidad del parque. Entonces, si gastas $30 en varios helados y batidos, recibirás un “Bono Sorpresa de Sundae” por valor de $3.

3. Porcentaje de la base total: recuento de helados:

– Ahora, aquí es donde se pone aún más genial. El parque te permite elegir qué cuenta para este cálculo mágico del helado. Suponga que decide que solo cuentan las bolas de helado, no los batidos ni los waffles. Eso significa que si gastaste $20 en bolas y $10 en batidos, solo los $20 cuentan para tu “Bono Sorpresa de Sundae”, lo que lo convierte en un valor de $2 (10% de $20).

Por lo tanto, cada vez que disfruta de las delicias cremosas en este parque de helados, Salesforce CPQ es como el servidor invisible que trabaja en segundo plano. Se trata de asegurarse de que se sigan las reglas, calcular su gasto total, aplicar el porcentaje mágico y calcular su bonificación en función exactamente de lo que desea contar para la sorpresa.

Esto hace que recordar el concepto de “porcentaje del total” sea tan fácil como disfrutar de un helado en un día soleado.

50% Me gusta VS
50% No me gusta
Seguir leyendo

Explore el lanzamiento de Summer '23 Marketing Cloud para desarrolladores ☁️

Explore el lanzamiento de Summer '23 Marketing Cloud para desarrolladores ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

Explore la versión Summer '23 Marketing Cloud para desarrolladores | Blog de desarrolladores de Salesforce

El lanzamiento de Summer '23 Marketing Cloud está muy caliente con algunas características nuevas y geniales para los desarrolladores. Hay muchas innovaciones en todos los canales para mensajes de correo electrónico, páginas de destino, aplicaciones móviles, datos e inteligencia artificial. En este blog, cubriré mis mejores selecciones y los aspectos más destacados favoritos del lanzamiento.

BuildRowSetFromJSON()

Ha habido mucho revuelo en torno a esta nueva función de AMPscript en la comunidad, y con razón. Esto significa que no hay manera de que pueda dejar esto fuera de mi lista. La nueva función AMPscript BuildRowsetFromJSON() permite a los desarrolladores analizar JSON en sus mensajes de correo electrónico y páginas de destino. Antes de BuildRowSetFromJSON() , los desarrolladores necesitaban usar Guide Template Language o Server-Side JavaScript para analizar JSON. Ahora, los desarrolladores pueden seguir con AMPscript en lugar de cambiar a otro lenguaje de programación de Marketing Cloud para analizar su JSON.

API de descarga del historial de viajes

Con la API de descarga del historial de Journey , los desarrolladores pueden descargar hasta 30 días de datos del historial de Journey Builder a través de la API REST. Algunos de los datos que los desarrolladores podrán descargar incluyen detalles sobre los criterios de entrada y salida del viaje, el estado de la actividad y los errores. Puede descargar los datos a través del formato CSV para casos de uso como resolución de problemas, reconciliación de errores, segmentación avanzada, datos sin procesar para herramientas de visualización, campañas de retargeting y más. Agregamos esta nueva API a nuestra colección pública de Postman y lanzamos dos rutas adicionales ( frescura y estimación ) para ayudarlo a comprender mejor los datos que consulta.

Contenido de error personalizado de CloudPages

A veces ocurren errores, y la forma en que los desarrolladores manejan los errores puede afectar potencialmente a los clientes y su experiencia. Una CloudPage puede encontrar un error porque no está publicada, o puede haber un error debido a un código personalizado existente que afecta la capacidad de procesamiento de la CloudPage. En CloudPages, los desarrolladores ahora pueden configurar contenido personalizado para los errores, lo que permitirá a los desarrolladores dirigir con gracia a sus clientes a activos alternativos en caso de error. La siguiente imagen muestra la nueva capacidad con la opción de configurar el contenido de error personalizado. Dato curioso: ¡esta fue una idea en el intercambio de ideas que se entregó en este lanzamiento!

SDK para móviles de fidelización

El kit de desarrollo de software móvil (SDK) de fidelización es un nuevo kit de desarrollo de software que permite a los desarrolladores crear aplicaciones móviles para los programas de fidelización de su empresa.

La ayuda de Mobile SDK consta de funciones y capacidades nativas, como la inscripción y los detalles del perfil. El SDK está disponible para el desarrollo de iOS y Android . El SDK de Loyalty Mobile se basa en la plataforma principal y utiliza funcionalidades principales. Sin embargo, es parte de la familia Marketing Cloud. Los desarrolladores de Salesforce que ya están familiarizados con la creación de la plataforma central deberían considerar que se trata de un SDK muy nuevo y divertido con el que experimentar. Desarrolladores de Marketing Cloud, ¡esto es algo muy emocionante y nuevo para aprender!

Einstein Studio Traiga su propio modelo de inteligencia artificial (IA)/aprendizaje automático (ML) a la nube de datos

Los desarrolladores seguramente se divertirán, y tal vez un poco de desafío, con el diseño de sus propios modelos de IA utilizando Amazon SageMaker y Data Cloud. La integración de Einstein Studio entre Data Cloud y Amazon SageMaker es nuestra primera asociación de inteligencia artificial/aprendizaje automático. Los desarrolladores y los equipos de ciencia de datos pueden crear e incorporar sus propios modelos AI/ML para predicciones de conversión de prospectos, clasificaciones de casos y más. Luego, los especialistas en marketing pueden usar estas predicciones para personalizar cada punto de contacto con sus clientes. Consulte las notas de la versión y la documentación de ayuda para obtener más información.

Espero que haya disfrutado de mis aspectos destacados del lanzamiento de Summer '23 y que esté listo para comenzar a desarrollar con las muchas funciones nuevas en la plataforma de Marketing Cloud. Hay muchas más funciones en la versión Summer '23 para desarrolladores que pueden interesarle. Lo animo a consultar las notas de la versión de Marketing Cloud Summer '23 para leer sobre algunas de las otras mejoras incluidas en esta versión.

Recursos

Sobre el Autor

Danielle Larregui es promotora sénior de desarrolladores en Salesforce, donde se enfoca en la creación de contenido de Data Cloud y Marketing Cloud. Le encanta la UI/UX, el marketing digital y la codificación. Danielle también disfruta asistir a grupos de usuarios, conferencias comunitarias y eventos técnicos de Salesforce. Puede seguirla en Twitter @dnlarregui o LinkedIn para mantenerse al día con su contenido técnico.

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Desatando los superpoderes de administración de Salesforce: ¡Impulse la colaboración en equipo, sobrecargue la eficiencia, gestión de datos maestros!

Desatando los superpoderes de administración de Salesforce: ¡Impulse la colaboración en equipo, sobrecargue la eficiencia, gestión de datos maestros!

Última actualización el 31 de julio de 2023 por Rakesh Gupta

Durante la última década, el papel de un administrador de Salesforce ha evolucionado drásticamente, manteniendo el ritmo del panorama dinámico de las ventas y la gestión de las relaciones con los clientes. Lo que alguna vez fue principalmente una posición de entrada de datos se ha convertido en un rol multifacético que abarca la planificación estratégica, el análisis y la optimización de procesos. A medida que las empresas reconozcan la importancia de Salesforce para impulsar el crecimiento y mejorar las experiencias de los clientes, los administradores proporcionarán un puente fundamental entre la tecnología y el éxito comercial.

Este artículo explorará cómo los administradores pueden aprovechar la automatización de procesos junto con el ecosistema de Salesforce para fomentar la colaboración en equipo, mejorar la eficiencia organizacional y mejorar la gestión de datos.

Uso de la automatización de correo electrónico de Salesforce para la programación

La automatización del correo electrónico se utiliza para optimizar varios aspectos de la comunicación por correo electrónico con clientes potenciales y clientes dentro de la plataforma de Salesforce para garantizar una programación de citas rápida y eficiente. Permite a las empresas administrar de manera eficiente sus campañas de marketing y ventas por correo electrónico, la participación del cliente y las reservas.

En los últimos años, la automatización revolucionó los procesos de ventas y soporte al agilizar la reserva de citas, reducir la carga de trabajo manual y brindar a los clientes opciones convenientes de autoservicio. Actualmente, los administradores de Salesforce pueden aprovechar herramientas como SUMO Scheduler junto con flujos nativos y alertas por correo electrónico para enviar automáticamente invitaciones a citas. Al crear disparadores que monitorean campos de datos específicos asociados con registros de contactos y lanzar flujos personalizados, los administradores pueden asegurarse de que los clientes potenciales siempre puedan programar citas, independientemente de la hora del día o la ubicación.

Actualizaciones automáticas de temas: haga que sus citas se destaquen

Las reuniones de cara al cliente son vitales para los equipos de ventas y soporte, y las citas perdidas o canceladas pueden afectar negativamente los objetivos estratégicos y el resultado final. Los administradores de Salesforce pueden aprovechar las actualizaciones automáticas de temas dentro de la programación de citas para reducir las cancelaciones de manera efectiva y aumentar la participación en las citas. Al implementar esta funcionalidad, los administradores pueden mejorar la comunicación, brindar claridad e infundir confianza en el proceso de citas para los clientes y la organización.

Se puede activar una actualización automática del tema para incluir detalles esenciales como la fecha, la hora, la ubicación y el propósito de la cita al programarla. Este mensaje de confirmación sirve como recordatorio para el cliente y reduce las posibilidades de cancelaciones involuntarias o de no presentarse.

Las actualizaciones automáticas de temas también se pueden personalizar para atender a clientes individuales. Los administradores pueden incluir detalles personalizados, como el nombre del cliente o referencias de citas específicas, para captar su atención y crear una sensación de personalización. Esto ayuda a fomentar una conexión con el cliente y refuerza su compromiso con la cita.

Finalmente, en caso de cambios o actualizaciones en la cita, los administradores pueden usar actualizaciones automáticas de temas para comunicar la información revisada. Esto asegura que los clientes estén informados sobre cualquier modificación en tiempo real, minimizando la confusión o la necesidad de cancelar debido a detalles desactualizados o inexactos.

Al permitir la flexibilidad en la programación y el mantenimiento de registros precisos dentro de Salesforce con la ayuda de líneas de asunto automatizadas, los administradores pueden optimizar de manera efectiva su proceso de ventas, mejorar la experiencia del usuario y fortalecer las relaciones con los clientes.

Uso de campos de correo electrónico flexibles para una mayor precisión

La flexibilidad es clave para satisfacer las necesidades únicas de los clientes, y los administradores de Salesforce pueden aprovechar el poder de los campos de correo electrónico para notificaciones personalizadas, sin importar cuán complejas sean. Esta personalización permite una experiencia más personalizada que cumple con requisitos específicos, como el cumplimiento normativo o las políticas internas.

En el contexto de Salesforce, los campos de correo electrónico se utilizan para recopilar y almacenar las direcciones de correo electrónico de los clientes. Estos campos aseguran que los datos ingresados sigan el formato adecuado, evitando entradas incorrectas o no válidas. Las direcciones de correo electrónico recopiladas a través de estos campos se pueden usar para enviar recordatorios, actualizaciones, mensajes de seguimiento y otras notificaciones relacionadas con citas. Cada campo de correo electrónico actúa como una medida confiable de capturar y utilizar información de contacto para mejorar el compromiso y mantener canales de comunicación efectivos.

Los campos de correo electrónico de Salesforce pueden mejorar la precisión al garantizar que la información de contacto almacenada en CRM esté actualizada y sea confiable. Al utilizar campos de correo electrónico dedicados dentro de Salesforce, los representantes de ventas pueden capturar y almacenar direcciones de correo electrónico específicas de personas o entidades con precisión. Esto ayuda a eliminar el riesgo de usar direcciones de correo electrónico desactualizadas o incorrectas asociadas con otros campos, como información de contacto personal o comercial, lo que da como resultado comunicaciones por correo electrónico más confiables, tasas de rebote reducidas y precisión de datos mejorada.

Automatice la creación de clientes potenciales en Salesforce en el momento de la reserva

Las herramientas de programación nativas de Salesforce permiten a los equipos de ventas automatizar la creación de clientes potenciales, lo que garantiza una captura precisa de la información y los datos demográficos de los clientes potenciales en el CRM. Al automatizar el proceso de creación de clientes potenciales tan pronto como se programa una cita, los administradores pueden ahorrar tiempo, mantener la integridad de los datos y evitar la redundancia. Los flujos automatizados agilizan el proceso y eliminan los errores de entrada manual. La precisión mejorada y la colaboración entre las partes interesadas mejoran las tasas de conversión de clientes potenciales y proporcionan datos confiables para informes y análisis.

Para automatizar rápidamente la creación de clientes potenciales en Salesforce en el momento de la reserva, puede seguir estos pasos:

  1. Identifique el evento desencadenante : determine el evento o la acción específicos que deben desencadenar la creación de clientes potenciales. En este caso, sería la reserva de una cita.
  2. Configure un flujo de Salesforce : utilice el flujo de Salesforce para crear una regla que active el proceso de creación de clientes potenciales. Especifique los criterios para cuándo debe activarse el flujo, como cuando se reserva una nueva cita.
  3. Definir asignación de campos : configure la asignación de campos para asegurarse de que la información relevante de la cita se transfiera correctamente al registro de clientes potenciales. Puede asignar campos como el nombre del participante, la información de contacto, los detalles de la cita y otros puntos de datos relevantes.
  4. Crear el registro de prospecto : configure Salesforce Flow para crear un nuevo registro de prospecto con los datos asignados. Asegúrese de que todos los campos obligatorios estén completos y que el registro de cliente potencial esté asociado con la campaña o la fuente adecuada.
  5. Probar y validar : pruebe el proceso automatizado de creación de clientes potenciales reservando una cita de muestra y verificando que el registro de clientes potenciales se cree con los datos esperados. Valide que el registro de prospectos aparezca en la cola de prospectos designada o en las reglas de asignación.
  6. Supervisar y perfeccionar : Supervise continuamente el proceso de automatización de creación de clientes potenciales para garantizar su eficacia y precisión. Realice los ajustes o mejoras necesarios en función de los comentarios, los cambios en los requisitos comerciales o los problemas de calidad de los datos.

Al automatizar la creación de clientes potenciales en Salesforce en el momento de la reserva, los representantes de ventas y los administradores pueden ahorrar tiempo, garantizar la precisión de los datos y mantener un proceso de gestión de clientes potenciales optimizado. Esta automatización facilita la captura eficiente de clientes potenciales, reduce el esfuerzo manual y mejora la productividad del equipo de ventas.

Conclusión:

Los flujos de programación automatizados, junto con las poderosas capacidades de SUMO Scheduler, simplifican y mejoran los procesos de trabajo, ahorran tiempo, reducen errores y mejoran la satisfacción del cliente. Al adoptar la automatización, los administradores de Salesforce pueden impulsar mejoras significativas en la eficiencia, la productividad y el rendimiento comercial general. La optimización de los procesos de programación y el aprovechamiento de los flujos de automatización en Salesforce con SUMO Scheduler es una combinación ganadora para las empresas que buscan optimizar sus operaciones. ¡Adopte la revolución de la automatización hoy e impulse a su equipo de ventas a nuevos niveles de éxito!

Haga clic aquí para visitar SUMO Scheduler en Salesforce AppExchange y obtener más información sobre el poder de la programación automática de autoservicio .

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

Comenzando con Acciones Externas ☁️

Comenzando con Acciones Externas ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

Introducción a las acciones externas | Blog de desarrolladores de Salesforce

Tuve excelentes conversaciones con clientes y socios en Connections este año, así como a través de la comunidad Trailblazer de MC Account Engagement , con respecto a las acciones externas de Account Engagement . Seguía surgiendo una pregunta: "¿Cómo empiezo con las acciones externas?" En esta publicación, aprenderá qué son las acciones externas, cómo configurarlas y cómo probarlas. Además, sintonice una próxima sesión de codeLive el 20 de julio a las 10 a. m. PT , donde realizaré una demostración de codificación en vivo para mostrarle cómo crear una acción externa y responder sus preguntas.

¿Qué son las Acciones Externas?

Las acciones externas son una parte clave deMarketing App Extensions , ya que proporcionan una forma de desencadenar una acción en un sistema externo. El otro componente es Actividades externas, que proporciona una forma de activar la automatización de la participación de la cuenta en función de un evento de participación que ocurre en un sistema externo. Piense en ello como las dos caras de una moneda, las acciones se activan, las actividades se activan. Combinadas, forman una aplicación de extensibilidad de automatización para un servicio, por lo que puede tener una extensión de aplicación de marketing por SMS, por ejemplo.

Por este motivo, las acciones externas se empaquetan en una extensión de aplicación de marketing. En el momento de escribir este artículo, las actividades externas aún no se pueden empaquetar, pero eventualmente también se empaquetarán en la extensión de la aplicación de marketing.

Si desea conectar una aplicación de terceros para automatizar la ejecución de una acción de prospecto en ese sistema, entonces esta es definitivamente la función para usted. En esta publicación, profundizaremos en el lado de la acción externa de las extensiones de aplicaciones de marketing.

¿Cuáles son algunos buenos casos de uso para las acciones externas?

Bueno, si me preguntan, ¡diría absolutamente todo! Puede que estés pensando: “¡Claro, todo el mundo dice eso!”. Sin embargo, las posibilidades que desbloquean las acciones externas son realmente amplias. Si alguna vez ha dicho: "Me gustaría que cuando un prospecto llegue a este paso, yo pudiera <insertar deseo aquí>", entonces deseaba una acción externa.

Puede usar una acción externa para registrarse en un seminario web de Zoom desde Account Engagement (consulte el ejemplo en GitHub ). También puede usar una acción externa para enviar un mensaje SMS a través de Twilio, que presentamos en una publicación de blog anterior . Incluso puedes usar acciones externas con webhooks; Usé la función de captura de webhook de Zapier para crear una acción externa que usaba un cliente potencial como desencadenante de un Zap.

¿Qué constituye una acción externa?

Una acción externa consta de una acción invocable de Apex, metadatos de la extensión de la aplicación de marketing, metadatos de una acción externa y una forma de gestionar la autenticación. Los metadatos para las extensiones de la aplicación de marketing y las actividades externas conectan la acción invocable con la participación de la cuenta. Los componentes que se usarán para la autenticación pueden variar según el tipo de autenticación que admita el servicio. Como OAUTH 2.0 es bastante común, el componente que uso más es un proveedor de autorización y Credenciales con nombre . Las credenciales con nombre también facilitan la administración de la autenticación en mi código, y el sistema hace la mayor parte del trabajo.

¿Qué habilidades necesito para trabajar con Acciones Externas?

Con una gran flexibilidad viene la complejidad, por lo que necesitará algunas habilidades en ciertas áreas para construir con éxito una acción externa. Los siguientes son temas clave de los que necesitará una comprensión básica antes de abordar su propia acción externa.

SLDC de Salesforce

Comprender el ciclo de vida del desarrollo de Salesforce es muy importante para tener éxito en general. Recomiendo aprender Visual Studio y el proceso de implementación de la CLI. No se necesita maestría, solo lo básico para poder empezar. Trailhead ofrece una ruta para ayudarlo a configurar su espacio de trabajo .

Documentación de la API REST

El patrón del que hablamos en este artículo se basa en las API REST JSON. Para comprender lo que es posible y recopilar las entradas pertinentes para una acción externa, debe poder leer una especificación API. Consulte las especificaciones de la API de Account Engagement y Twilio .

Implementación de Apex y Apex

Apex Invocable Actions es mi forma preferida de codificar mis acciones externas, ya que me permite la mayor flexibilidad y control. Recomendaría, como mínimo, familiarizarse con la compilación y la implementación de código Apex mediante el proyecto Quick Start: Apex de Trailhead. Para obtener más información, encontré útil el trailmix de Apex Basics . No necesita convertirse en un experto, pero al menos debe estar lo suficientemente informado como para poder leer el código de la aplicación de referencia .

Flujo de Salesforce (opcional)

No necesita conocer Salesforce Flow para aprender Acciones externas. Sin embargo, es una herramienta de prueba muy poderosa para sus acciones externas, lo que facilita la creación de una interfaz de usuario para controlar las entradas durante la prueba. Si está familiarizado con Engagement Studio, Flow será bastante fácil ya que tiene muchos de los mismos conceptos. Utilicé la ruta Crear flujos con Flow Builder para ponerme al día. Otro beneficio de aprender Salesforce Flow es que abre la puerta a la creación de todo tipo de automatización de procesos comerciales.

¿Cómo debo configurar mi entorno de desarrollador?

Es importante configurar sus entornos de desarrollador y contar con las herramientas adecuadas antes de comenzar con las acciones externas. Yo uso las siguientes herramientas.

  • Postman : utilizo Postman para explorar una nueva API, por lo que puedo aprender a realizar una solicitud y responder de forma sencilla. Postman también proporciona una manera fácil de generar ejemplos.
  • CLI de Visual Studio + Salesforce — Uso Visual Studio para codificar mi acción invocable y la implemento en mi organización de desarrollador. La mayoría de las veces, es simplemente copiar y pegar un ejemplo anterior y editarlo para mi nuevo caso de uso.
  • Entorno de desarrollador/sandbox : este es un entorno seguro para construir, desarrollar y empaquetar sus acciones externas. Tenga en cuenta que, en el momento de escribir este artículo, solo admitimos paquetes de primera generación (1GP) , por lo tanto, no configure su organización de desarrollador como Dev Hub.
  • Salesforce Flow : personalmente me gusta usar ScreenFlows para probar una acción invocable. Es bueno poder controlar completamente la entrada antes de conectarla a acciones externas y programas ES.
  • Consola de desarrollador de Salesforce : esto le permite ver rápidamente el código o ver los registros de sus pruebas de flujo de pantalla.

Patrón básico para llamadas API REST con acciones externas

Si bien puede codificar acciones externas de muchas maneras, existe un patrón básico que recomiendo al realizar llamadas a la API REST.

Las dos etiquetas que debe recordar son InvocableVariable , que define las entradas y salidas de la acción invocable, e InvocableMethod , que es el método a llamar al ejecutar la acción invocable. Puede ver cómo se aplican en el siguiente código de ejemplo.

Normalmente creo dos clases, una para la entrada y otra para la solicitud de API. Separar mi código en dos clases facilita jsonificar la carga útil. Mi clase de entrada contiene todos los campos de variables invocables que la acción invocable necesita en la entrada. Mi solicitud de API contiene los campos de la solicitud JSON.

InvocableMethod construirá la carga útil a partir de la entrada, la convertirá a JSON y luego la agregará a la solicitud HTTP. A continuación, configura el resto de la solicitud HTTP agregando la URL, los encabezados y el método. Finalmente, realiza la llamada a la API y comprueba si el resultado es correcto o, de lo contrario, genera un error útil para diagnosticar un problema.

Consideración importante: el marco de acción externa espera que se devuelva un error si hay una falla en lugar de detectar el error y luego devolver el éxito. Si se devuelve un error, se informará en la tabla de errores.

Poniendo a prueba tus acciones externas

De vez en cuando, mientras crea una acción externa, encontrará errores. Cuanto más pueda probar sobre la marcha, más fácil será descubrir dónde radica el problema. Es por eso que recomiendo agregar un paso de prueba para probar en Salesforce Flow antes de probar en Engagement Studio. Elimina la configuración de la acción externa de la imagen, por lo que si la verifica aquí, pero no funciona en Engagement Studio, sabrá que el problema radica en la configuración de la acción externa.

Las pruebas lo ayudan a identificar errores, pero determinar la causa raíz y corregirlos es otra cosa. A continuación se presentan algunas de las técnicas que utilizo para diagnosticar las causas fundamentales.

  • Consola de desarrollador de Salesforce : utilizo la consola de desarrollo para ejecutar mis casos de prueba y confirmar la cobertura de mi código. Durante las pruebas exploratorias en Flow, mantengo abierta mi consola de desarrollo, por lo que genera registros para usar en la investigación de errores.
  • Rastreos de registro de Salesforce : si el error ocurre durante mi prueba de Engagement Studio, coloco un rastreo de usuario en el usuario de integración B2BMA, para poder ver mis registros de Apex y diagnosticar el problema más a fondo. Tenga cuidado, podría terminar con una gran cantidad de datos. El Usuario de Integración B2BMA es el usuario que ejecuta acciones externas.
  • Errores de acción externa de compromiso de cuenta : la tabla proporciona cualquier error devuelto por la acción externa que resultó en una falla. Es útil ver lo que sucedió durante una ejecución de ES.

SUGERENCIA: si tiene una cuenta de Gmail, puede usar un "+" para crear varios registros con su dirección de correo electrónico. Por ejemplo, puedo registrar tanto "ejemplo@ejemplo.com" como "ejemplo+usuario2@ejemplo.com" como prospecto, y cualquier correo enviado a esas direcciones iría al buzón de correo de ejemplo@ejemplo.com. Por ejemplo, usé esto para probar el ejemplo de registro de Zoom porque no quería que el correo electrónico registrado rebotara.

Errores comunes

Los errores van a suceder, así es la vida. Me he encontrado con algunos escenarios que me han hecho casi tirarme de los pelos.

El primero es garantizar que la acción exterior sea activa. Si la acción no aparece en Engagement Studio, es probable que esta sea la causa. Recuerde, debe activar tanto la extensión de la aplicación de marketing como la acción externa, además de asignarla a esa unidad comercial.

El siguiente es asegurarse de que su clase de Apex esté activa. La mayoría de las veces ya estará marcado como activo, es el estado predeterminado cuando creas una nueva clase. Es exactamente por eso que es fácil pasarlo por alto.

Otro es buscar extensiones de aplicaciones de marketing al empaquetar. No puedo decirte cuántas veces busco acciones externas, solo para tener un momento de confusión antes de recordar.

Finalmente, si su acción externa no funciona, pero no ve errores, verifique que la acción invocable fue diseñada para generar un error en caso de falla.

Lo anterior no es de ninguna manera exhaustivo, y es probable que encuentre sus propias alegrías. Sin embargo, recomiendo compartirlos con la comunidad si encuentra algunos buenos.

¿Que estas esperando? ¡Empiece hoy!

Ahora sabe casi todo lo que hago sobre las acciones externas, desde cómo funciona la función hasta los errores comunes. Recuerde que Acciones externas es su herramienta siempre que se encuentre diciendo: "Me gustaría hacer algo cuando el cliente potencial haga esto", y lo ayudará a automatizar esa acción.

Entonces, configure su entorno de desarrollador, revise la aplicación de referencia y comience a construir su acción externa hoy. El 20 de julio a las 10 a. m. (hora del Pacífico) , realizaremos una sesión de CodeLive en nuestro canal de YouTube para desarrolladores de Salesforce , así que únase y síganos mientras construimos una extensión de la aplicación de marketing de Twilio.

Recursos

Sobre el Autor

Christopher Cornett es gerente sénior de productos en Salesforce, responsable de la experiencia del desarrollador de Account Engagement. Ha trabajado para Salesforce durante más de cuatro años y tiene más de 13 años de experiencia en gestión de productos, trabajando principalmente en plataformas que van desde la atribución de big data hasta el fraude. Christopher ha ayudado a ofrecer API V5 y extensiones de aplicaciones de marketing, ayudando a los clientes a crear integraciones personalizadas para que su pila de marketing funcione para ellos. Le apasiona la experiencia del desarrollador y le encanta jugar con todas las excelentes funciones para ver qué es posible.

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Integración de API de zona horaria de Salesforce y Google: traducción de coordenadas a información de zona horaria

Integración de API de zona horaria de Salesforce y Google: traducción de coordenadas a información de zona horaria

Última actualización el 29 de junio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo puede aprovechar la API de zona horaria de Google para actualizar automáticamente la información de zona horaria de un cliente potencial en función de sus coordenadas geográficas?

Objetivos:

Después de leer este blog, podrá:

Jestilla Zetkin se desempeña actualmente como arquitecta de Salesforce en Gurukul On Cloud (GoC). El Director Comercial le ha confiado a Jestilla un desafío único. El objetivo es asegurarse de que, en el momento de la creación, los prospectos de Salesforce (creados a través de Web-to-lead) reciban los detalles exactos de la zona horaria, que se determinan en función de sus respectivas coordenadas geográficas.

  1. El caso de uso comercial requiere que usemos la API de zona horaria de Google para actualizar automáticamente cuatro campos específicos en los clientes potenciales:
    1. dstOffset (la compensación del horario de verano en segundos)
    2. rawOffset (el desplazamiento de la hora universal coordinada para la zona horaria de la ubicación dada)
    3. timeZoneId (una cadena que identifica de forma única la zona horaria)
    4. y timeZoneName (el nombre largo de la zona horaria)
  2. En caso de una respuesta fallida, instituya una acción de contingencia para crear una tarea para el propietario designado del cliente potencial.

¿Qué es la API de zona horaria de Google?

Hay muchas posibilidades de que su base de clientes esté repartida en varias zonas horarias. Este factor puede influir en gran medida en sus interacciones con ellos, especialmente al programar llamadas, reuniones o enviar mensajes automáticos. La plataforma de Salesforce ofrece un entorno altamente adaptable para almacenar y administrar datos de clientes, pero de forma predeterminada, no proporciona una forma de registrar automáticamente la zona horaria del cliente potencial en función de sus coordenadas geográficas.

La API de zona horaria de Google es un servicio ofrecido por Google como parte de su plataforma Google Maps. La API proporciona datos de zona horaria para cualquier ubicación en todo el mundo en función de las coordenadas de latitud y longitud. Este servicio puede ser particularmente útil para los desarrolladores que necesitan ajustar la comunicación de acuerdo con la ubicación geográfica de un cliente potencial o contacto o para empresas que operan en diferentes zonas horarias.

La API de zona horaria proporciona la siguiente información:

  • El ID de la zona horaria , según lo define la base de datos de zonas horarias de la IANA (por ejemplo, America/New_York ).
  • El nombre de la zona horaria (por ejemplo, hora de verano del este ).
  • La diferencia horaria con respecto a la hora universal coordinada (UTC) sin tener en cuenta el horario de verano (rawOffset).
  • El desfase horario debido al horario de verano (dstOffset).

Tenga en cuenta que la API de zona horaria de Google está sujeta a cargos, por lo que es importante comprender las implicaciones de costos antes de implementarla.

¿ Cómo funciona la API de zona horaria de Google?

La API de zona horaria de Google funciona tomando coordenadas de latitud y longitud y devolviendo datos de zona horaria en formato JSON. Aquí hay un ejemplo básico de cómo usarlo.

La siguiente solicitud HTTP GET obtiene información de zona horaria para una ubicación en la latitud 40.712776 y longitud -74.005974 (ciudad de Nueva York), y asume que está realizando la solicitud en una determinada marca de tiempo (marca de tiempo UNIX).

 https://maps.googleapis.com/maps/api/timezone/json?location=40.712776,-74.005974&timestamp=1458000000&key=YOUR_API_KEY

En la URL de solicitud anterior, reemplace YOUR_API_KEY con su clave API real.

Aquí hay una respuesta de muestra en formato JSON que la API podría devolver:


{ "dstOffset": 3600, "compensación sin procesar": -18000, "estado": "OK", "timeZoneId": "América/Nueva_York", "timeZoneName" : "Hora de verano del Este"
}

La respuesta incluye la siguiente información:

  1. dstOffset : La compensación del horario de verano en segundos. Será cero si la zona horaria no está en el horario de verano durante la marca de tiempo especificada.
  2. rawOffset : el desplazamiento de UTC (sin contar el horario de verano) en segundos.
  3. estado : una cadena que indica el estado de la solicitud. “OK” significa que la solicitud fue exitosa.
  4. timeZoneId : una cadena que contiene el ID "tz" de la zona horaria (por ejemplo, "América/Nueva_York").
  5. timeZoneName : una cadena que contiene el nombre de forma larga de la zona horaria (por ejemplo, "hora de verano del este").

Recuerde, en la URL de solicitud, se requiere el parámetro de marca de tiempo y el parámetro de ubicación espera coordenadas de latitud y longitud.

  1. Marca de tiempo : el tiempo deseado en segundos desde la medianoche del 1 de enero de 1970 UTC. La API de zona horaria utiliza la marca de tiempo para determinar si se debe aplicar o no el horario de verano, según la zona horaria de la ubicación.
  2. Ubicación : una tupla de latitud, longitud separada por comas, ubicación = 40.712776, -74.005974, que representa la ubicación para buscar.

Además, no olvide incluir su clave API.

Beneficios de usar la API de zona horaria de Google

La API de zona horaria de Google ofrece una serie de beneficios significativos, especialmente para desarrolladores y empresas que necesitan operar en diferentes zonas horarias. Estos son algunos de los beneficios clave:

  1. Precisión : la API de zona horaria de Google proporciona datos de zona horaria precisos para cualquier ubicación en todo el mundo. Tiene en cuenta tanto la zona horaria 'sin procesar' como el horario de verano, lo que garantiza que siempre tenga la hora local correcta.
  2. Facilidad de uso : la API es fácil de usar y solo requiere la latitud y la longitud como entradas. Devuelve datos en un formato JSON estructurado, que es fácil de analizar y usar en varias aplicaciones.
  3. Cobertura global : la API proporciona datos de zona horaria para ubicaciones en todo el mundo, lo que la hace útil para empresas globales y aplicaciones con bases de usuarios internacionales.
  4. Confiabilidad : como servicio proporcionado por Google, es altamente confiable, lo que garantiza que tenga acceso constante a los datos de la zona horaria cuando los necesite.
  5. Integración : se puede integrar en una variedad de aplicaciones y plataformas, incluidas aplicaciones móviles, servicios web y plataformas de CRM como Salesforce. Esto permite funcionalidades como la programación de comunicaciones en diferentes franjas horarias, etc.
  6. Información actualizada : Google actualiza continuamente sus bases de datos, lo que garantiza que los datos devueltos por la API de zona horaria, como los cambios de horario de verano, estén siempre actualizados.

Al aprovechar estos beneficios, las empresas pueden mejorar la experiencia del cliente, aumentar la eficiencia operativa y garantizar un registro de datos preciso, entre otras ventajas.

Antes de comenzar a usar la API de zona horaria, necesita un proyecto con una cuenta de facturación y la API de zona horaria habilitada. Aquí hay una guía paso a paso para configurar su proyecto de Google Cloud y habilitar la API de zona horaria:

Paso 1: crea o selecciona tu proyecto

  1. Navegue a Google Cloud Console .
  2. Si ha creado un proyecto anteriormente, puede seleccionarlo de la lista desplegable en la parte superior. De lo contrario, haga clic en Nuevo proyecto en la parte superior derecha.
  3. Asigne un nombre a su proyecto y, opcionalmente, también puede editar el ID del proyecto.
  4. Haga clic en Crear para crear el proyecto.

Paso 2: configurar una cuenta de facturación

Debe vincular una cuenta de facturación a su proyecto para usar la API de zona horaria de Google. Así es cómo:

  1. En Google Cloud Console, abra el menú del lado izquierdo de la consola y haga clic en Facturación .
  2. Si tiene una o más cuentas de facturación, elija una cuenta y asóciela con su proyecto. De lo contrario, haga clic en Crear cuenta , complete el formulario para crear una nueva cuenta de facturación y luego asóciela con su proyecto.

Paso 3: habilite la API de zona horaria

Una vez que haya configurado su proyecto y su cuenta de facturación, puede habilitar la API de zona horaria.

  1. En Google Cloud Console, abra el menú del lado izquierdo de la consola y vaya a API y servicios | biblioteca
  2. En la biblioteca de API, busque API de zona horaria y selecciónela.
  3. En la página de la API de zona horaria, haga clic en Habilitar .

Paso 4: Genere su clave API

Finalmente, necesita una clave de API para autenticar sus solicitudes en la API de zona horaria.

  1. En Google Cloud Console, abra el menú del lado izquierdo de la consola y vaya a API y servicios | Cartas credenciales.
  2. Haga clic en el botón + CREAR CREDENCIALES en la parte superior y seleccione Clave API .
  3. Su nueva clave de API se creará y se mostrará. Cópielo y guárdelo de forma segura. Necesitará esta clave para realizar solicitudes a la API de zona horaria.

Ahora, su proyecto de Google Cloud está todo configurado y puede comenzar a usar la API de zona horaria de Google.

👉 Si bien la API de zona horaria es compatible con OAuth 2.0 y la cuenta de servicio para la autenticación, esta guía se enfoca en el método de clave de API más simple por razones de brevedad. Si necesita un método de autenticación más seguro o complejo, consulte la documentación de autenticación oficial de Google.

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

Si bien esto se puede resolver utilizando varias herramientas de automatización como Apex Trigger y otras, utilizaremos Salesforce Flow y la función de flujo HTTP Callout (GET) recientemente introducida .

HTTP Callout extrae o envía datos entre la base de datos de Salesforce y un sistema externo a través de Flow Builder sin usar código. Puede configurar integraciones directas según sea necesario sin tener que trabajar con un desarrollador o llamar a una herramienta de middleware, como Mulesoft. Después de configurar la acción de llamada HTTP en un flujo, Flow Builder genera automáticamente un registro de servicio externo , una acción invocable y una clase de Apex que puede usar para crear un recurso definido por Apex para flujos. A continuación, puede utilizar la salida de datos de la solicitud de la API como entrada en Flow Builder y en Salesforce.

Puede usar HTTP Callout para conectar un flujo a una variedad de API.

  • Obtener información de direcciones usando una API de mapa
  • Obtén las condiciones meteorológicas con una API de servicios meteorológicos
  • Genere el código de barras con una API de servicio de código de barras
  • Obtenga información de autorización de pago con una API de procesamiento de pagos
  • y mucho más

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 Jestilla mediante Record-Triggered After-Save Flow . Debemos:

  1. Cree campos personalizados en el cliente potencial para almacenar la respuesta
  2. Crear una credencial con nombre
  3. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo desencadenado por registro
    2. Agregue una fórmula para calcular la marca de tiempo
    3. Configurar una llamada HTTP GET para la API de zona horaria
    4. Agregue un elemento de decisión para verificar el código de respuesta
    5. Agregue un elemento Actualizar registros para actualizar el prospecto
    6. Agregue un elemento Crear registros para crear una tarea para que el propietario del cliente potencial maneje la respuesta de error

Paso 1: Cree campos personalizados en el objeto principal para almacenar la respuesta

En este paso, hemos establecido campos personalizados dentro del objeto principal. Estos servirán como repositorios para los datos de respuesta de la API de zona horaria de Google.

Etiqueta de campo Nombre de API de campo Tipo de datos
dstOffset dstOffset __c Número (18,0)
rawOffset rawOffset__c Número (18,0)
Posición actual Posición_actual__c Geolocalización
Identificación de zona horaria Time_Zone_Id__c Texto (255)
Nombre de zona horaria
Nombre_de_la_zona_horaria__c Texto (255)

Paso 2: crear una credencial con nombre

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, ingrese Credenciales con nombre y luego seleccione Credenciales con nombre .
  3. Haga clic en Nuevo legado .
  4. Rellene la página con la URL y los parámetros de autenticación del extremo de la llamada.
  5. Haga clic en Guardar .

Paso 3.1: Definir propiedades de flujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione la opción Flujo activado por registro , haga clic en Crear
    1. Objeto: Plomo
    2. Activar el flujo cuando: se crea un registro
    3. Establecer condiciones de entrada: se cumplen todas las condiciones (Y)
    4. Fila 1:
      1. Campo : Posición_Actual__Latitud__s
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
    5. Haga clic en + Agregar condición
    6. Fila 2:
      1. Campo : Posición_Actual__Longitud__s
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Falso}
    7. Optimizar el flujo para : acción y registros relacionados
    8. Elija la opción para incluir una ruta de ejecución asíncrona para acceder a un sistema externo después de que la transacción original para el registro de activación se confirme con éxito .
  5. Haga clic en Listo.

Paso 3.2: fórmula para calcular la marca de tiempo

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para calcular los segundos desde la época de Unix (1 de enero de 1970, 00:00:00).
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Fórmula
    2. Nombre de API : forN_Timestamp
    3. Tipo de datos : Número
    4. Lugares decimales : 0
    5. Fórmula : RONDA((AHORA() – FECHAHORAVALUE(“1970-01-01 00:00:00”)) * 24 * 60 * 60, 0)
  3. Haga clic en Listo.

Paso 3.3: configurar una acción de llamada HTTP GET

HTTP Callout lo guía a través de la introducción de los detalles sobre el servicio HTTP basado en web o el punto final de la API REST al que se está conectando. Después de completar la configuración, invoca la acción en un flujo.

  1. En el nodo Ejecutar asincrónicamente , seleccione Acción .
  2. Haga clic en + Crear llamada HTTP .
  3. Configure el servicio externo que conecta Salesforce con la API basada en HTTP.
    1. Introduzca un Nombre para el servicio externo.
    2. Seleccione la credencial con nombre que creó en el paso 2 .
    3. Haga clic en Siguiente .
  4. El siguiente paso es configurar la acción invocable que puede usar en Flow Builder o en Salesforce.
    1. Para Etiqueta , ingrese la acción que realiza la llamada.
    2. Método : OBTENER
    3. Agregue el extremo de la URL para la solicitud.
      1. Ruta URL : /maps/api/timezone/json
    4. Agregue claves de parámetros de consulta si la API a la que está llamando las tiene. Cuando usa esta acción en un flujo, ingresa valores para las claves definidas.
      1. Haga clic en Agregar clave
        1. Clave : ubicación
        2. Tipo de datos : cadena
        3. Requerido : Verdadero
      2. Haga clic en Agregar clave
        1. Clave : marca de tiempo
        2. Tipo de datos : entero
        3. Requerido : Verdadero
      3. Haga clic en Agregar clave
        1. Clave: clave
        2. Tipo de datos : cadena
        3. Requerido : Verdadero
  5. Proporcione un cuerpo de respuesta de API de muestra. Salesforce genera una estructura de datos a partir de la respuesta de muestra.
    1. Vaya a la sección Proporcione una respuesta de muestra .
    2. Haga clic en Nuevo .
    3. Pegue una respuesta JSON de muestra .
       { "timeZoneName": "cadena de muestra", "compensación sin procesar": 1, "timeZoneId": "cadena de muestra", "errorMessage": "cadena de muestra", "dstOffset": 1, "estado": "cadena de muestra"
      }
Seguir leyendo

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

Cómo conectar Salesforce con Google Analytics y Google Ads

Cómo conectar Salesforce con Google Analytics y Google Ads

Última actualización el 27 de marzo de 2023 por Rakesh Gupta Google Analytics y Google Ads son dos soluciones ampliamente utilizadas por el equipo de marketing para atraer clientes potenciales a su sitio web y analizar el comportamiento y la conversión en línea de los clientes potenciales. Si bien es muy fácil analizar cómo se convierte cada inversión al vender productos en línea,

La publicación Cómo conectar Salesforce con Google Analytics y Google Ads apareció primero en Automation Champion .

Seguir leyendo

Lanzamiento de Marketing Cloud Spring '23 para desarrolladores ☁️

Consulte los aspectos más destacados y conozca las nuevas funciones de la versión Spring '23 para desarrolladores de Marketing Cloud.

La versión posterior de Marketing Cloud Spring '23 para desarrolladores apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

3 formas en que la IA generativa ayudará a las pequeñas empresas a vender de manera más inteligente

¿Cómo potenciará esta tecnología emergente a los equipos de ventas en las pequeñas y medianas empresas? Nuestro vicepresidente ejecutivo y gerente general de Sales Cloud comparte sus pensamientos.

Seguir leyendo

Account Engagement (Pardot) API v5: Por qué debería actualizar ☁️

Ha llegado el momento de actualizar a la versión 5 de la API REST de Account Engagement (Pardot). V5 se creó para facilitar la integración a todos los clientes e ISV.

La publicación Account Engagement (Pardot) API v5: Why You Should Upgrade apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

¡Lanzamiento Spring'23 de las diez gemas principales de Salesforce Lightning Experience!

Última actualización el 9 de enero de 2023 por Rakesh Gupta Con cada lanzamiento, Salesforce agrega muchas funcionalidades nuevas a Lightning Experience, lo que lo hace más productivo y lo ayuda a brindar una mejor experiencia al cliente. Actualmente, el lanzamiento de Spring'23 se encuentra bajo el programa de prelanzamiento. Si no has leído el 570 completo

La publicación ¡Lanzamiento Spring'23 de las diez mejores gemas de Salesforce Lightning Experience! apareció primero en Automation Champion .

Seguir leyendo

Suelte los conjuntos de cambios y pruebe esto en su lugar

Actualizado por última vez el 1 de diciembre de 2022 por Rakesh Gupta Los conjuntos de cambios de Salesforce se usan ampliamente hoy en día para mover los cambios de la zona de pruebas a la producción. ¿Y por qué no se seguirían utilizando? En muchos casos, brindan una manera fácil de implementar metadatos sin conocer Git, XML, etc. Pero una vez que su proyecto

La publicación Suelta los conjuntos de cambios y prueba esto en su lugar apareció por primera vez en Automation Champion .

Seguir leyendo

Agregar modal de superposición emergente en el componente web Lightning

Gran idea o pregunta duradera: ¿Cómo se utiliza el componente web lightning para mostrar la ventana modal? Objetivos: después de leer este blog, podrá: Comprender la diferencia entre alerta y modelo. Mostrar un modal con una superposición en el clic del botón. Mostrar otro componente web Lightning dentro.

La publicación Add Popup Overlay Modal in Lightning Web Component 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

CRM Analytics: seguridad de datos para controlar el acceso a las filas

Última actualización el 7 de noviembre de 2022 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo protegen los filtros predicados sus conjuntos de datos de CRM Analytics en función de los requisitos de seguridad? Objetivos: después de leer este blog, podrá: Usar filtros predicados para proteger conjuntos de datos Aplicar herencia de uso compartido para agregar seguridad adicional a

La publicación CRM Analytics: seguridad de datos para controlar el acceso a las filas apareció primero en Automation Champion .

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 administrador avanzado de Salesforce

Última actualización el 27 de septiembre de 2022 por Rakesh Gupta Han pasado nueve años desde que aprobé el examen de administrador avanzado de Salesforce. En las últimas semanas, muchas personas se comunicaron conmigo para pedirme orientación y un camino para convertirme en un administrador avanzado certificado. Eso me da una idea

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

Seguir leyendo

Aprenda MOAR en Winter '23 con acciones externas de Pardot ☁️

Siga y complete un trailmix de Learn MOAR Winter '23 para administradores o desarrolladores antes del 30 de noviembre de 2022 a las 11:59 p. Se aplican restricciones. Aprenda cómo participar y revise las Reglas Oficiales visitando el […]

La publicación Aprenda MOAR en Winter '23 con acciones externas de Pardot apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

5 formas de potenciar las interacciones de sus clientes con una aplicación de programación de citas

Última actualización el 16 de septiembre de 2022 por Rakesh Gupta En el mundo actual, el compromiso del cliente se encuentra a la vanguardia de la innovación empresarial. Las principales empresas del mundo están aprovechando la automatización de la programación y el poder de los datos y el análisis para maximizar las interacciones con los clientes; tener un motor de datos sólido que potencia las conexiones entre empresas

La publicación 5 formas de potenciar las interacciones de sus clientes con una aplicación de programación de citas apareció por primera vez en Automation Champion .

Revisión de la aplicación

Seguir leyendo

Cómo aprobar el examen de certificación

Última actualización el 16 de septiembre de 2022 por Rakesh Gupta Con un inmenso placer, me gustaría compartir que aprobé el examen de certificación Platform App Builder hace un mes. Me tomó 50 minutos revisar todas las preguntas antes de presionar el botón de enviar. Después de un clic más del

La publicación Cómo aprobar el examen de certificación de Salesforce Platform App Builder apareció primero en Automation Champion .

Seguir leyendo

Por qué la personalización del sitio web es su mejor amigo en una economía difícil

Su sitio web es uno de los primeros lugares donde los clientes forman impresiones sobre su marca. Esperan experiencias personalizadas y quieren que se haga bien.

Seguir leyendo

Aceleración de registros de actualización masiva mediante Data Action Platform

Última actualización el 6 de septiembre de 2022 por Rakesh Gupta Como administradores de Salesforce, a menudo creamos, actualizamos, eliminamos o convertimos registros; estas son actividades que consumen mucho tiempo. Por ejemplo, tiene un caso de uso empresarial para crear tareas para oportunidades abiertas para las que la fecha de cierre es inferior a una semana. Su

La publicación Aceleración de los registros de actualización masiva mediante Data Action Platform apareció primero en Automation Champion .

Seguir leyendo