Skip to content

Etiqueta: Herramientas

¿Diseñando experiencias de usuario personalizadas con datos e IA? Tenga esto en cuenta

¿Diseñando experiencias de usuario personalizadas con datos e IA? Tenga esto en cuenta

Hoy en día, más usuarios se sienten cómodos con las empresas que utilizan información personal relevante de manera transparente y beneficiosa. En el estudio Estado del cliente conectado de Salesforce de 2022 , el 61 % de los encuestados informaron un nivel de comodidad con estas prácticas personalizadas de experiencia del usuario. Eso es un aumento del 52% del año anterior. Sin embargo, no existe una definición universal de lo que es transparente y beneficioso.

Los líderes de diseño son a menudo los que terminan determinando cómo se ve una experiencia de usuario ideal y cómo no se ve. Consideremos algunos ejemplos de contexto.

  • Un ejecutivo de cuenta en una llamada de un cliente ve que se abre un chatbot con consejos para cambiar su tono para ser más efectivo. Esto puede parecer que se está insertando de una manera no solicitada.
  • Un consumidor busca, por ejemplo, joyeros de anillos de boda en el navegador web de su computadora portátil. Más tarde ven un anuncio dirigido por IA para planificadores de eventos en su feed de redes sociales móviles.

Muchas personas describen experiencias como estas como espeluznantes. Puede cruzar una línea cuando la IA usa información o el comportamiento del usuario desde una ubicación, experiencia o dispositivo diferente, sin una explicación clara o un proceso de consentimiento. Sin embargo, esa línea puede desdibujarse según el usuario y su entorno.

Descubra lo que está dando forma al futuro de la interacción con el cliente

El estudio Salesforce State of the Connected Customer comparte información de más de 13 000 consumidores

“Los usuarios deben sentir que existe una relación mutuamente beneficiosa entre la empresa y ellos mismos cuando intercambian sus datos por servicios personalizados”, dijo Daniel Lim, director sénior de Salesforce Futures, quien también trabajó en el informe “Ética por diseño” con World Economic Foro (WEF).

Lim recuerda a los diseñadores que el intercambio de valores de hoy todavía es nuevo. Hoy en día, los clientes obtienen experiencias de usuario más personalizadas mientras que las empresas recopilan datos y obtienen conocimientos. Sin embargo, no hace mucho tiempo, los clientes simplemente pagaban por bienes y servicios sin entregar datos personales. Es un nuevo día de información en todas partes. Para 2028, existirán 221 zettabytes de datos en todo el mundo, según la Corporación Internacional de Datos (IDC) . También existen herramientas poderosas en el mercado para desbloquear datos de clientes e información procesable, como nuestra nueva nube de datos de Salesforce .

Al saber esto, Lim reconoce que el acto de diseño de beneficio mutuo es un principio de diseño emergente para construir un futuro con más confianza. Él enfatiza que este tema no puede ser pasado por alto. “Internet cambió la confianza para siempre”, dijo.

Observar el entorno ético.

Habló sobre esto en la serie de podcasts “Voicing Relationships ”, producido en asociación con House of Beautiful Business, la red para la economía centrada en la vida. Además de que la distinción espeluznante/genial es específica del usuario, también es específica de la sociedad.

Escuche el Episodio 3 en Spotify o Apple Podcasts hoy:

“Lo que es bueno en la sociedad es completamente contextual”, dijo Lim. “Lo que es ético en una sociedad también es completamente contextual”.

De manera similar, el diseño centrado en el ser humano ofrece una lente para indagar más profundamente sobre lo que es importante para los usuarios. En lugar de hacer suposiciones, tener conversaciones puede revelar ideas que informen cómo son las experiencias de usuario personalizadas. “El futuro de la personalización realmente depende del uso de la tecnología para detectar y responder al contexto de cada individuo, comprender cuáles son sus necesidades y responder sin instrucciones explícitas”, dijo Lim.

Ciertamente, los diseñadores son cada vez más conscientes de cómo evitar diseños engañosos . Ahora, en esta nueva era basada en datos e inteligencia artificial, también es fundamental evitar diseños que los usuarios puedan describir como espeluznantes.

Prevenir la incomodidad del usuario

La incorporación de la ética en los procesos de diseño es un tema que defiende Emily Witt en su función como Directora de Cross Cloud Research & Insights de Salesforce. “Nuestros clientes confían en nosotros para hacer el trabajo duro de crear experiencias confiables. Necesitamos asegurarnos de evitar crear experiencias que se sientan invasivas, manipuladoras o que provoquen ansiedad”.

Ha descubierto que las explicaciones pueden contribuir en gran medida a aumentar la comodidad. Usar un lenguaje que haga que los usuarios se sientan cómodos podría parecer compartir por qué está solicitando información privada o qué información está usando para generar un resultado. También ayuda a comunicar claramente cuándo las empresas emplean IA: una divulgación transparente descrita en la Política de uso aceptable de Salesforce .

“Necesitamos asegurarnos de evitar crear experiencias que se sientan invasivas, manipuladoras o que provoquen ansiedad”.

Emily Witt

Salesforce Director de investigación e información de Cross Cloud

Emily Witt

Por ejemplo, al nombrar a Tracey Bot, el Bot de Einstein de rastreo de contactos, el equipo incluyó intencionalmente "Bot". Hicieron esto para dejar en claro que AI los está contactando por su salud. Con la información médica personal, existe el riesgo de caer en lo que se conoce como valle inquietante. Para evitar la incomodidad de los usuarios, el equipo incorporó la dirección para que las organizaciones solo envíen un mensaje si un agente puede manejar las llamadas entrantes. Este ejemplo muestra cómo el diseño centrado en el ser humano ayuda a crear experiencias de usuario personalizadas con datos e IA que cumplen con las expectativas del usuario. Incluso pueden generar un sentimiento positivo.

En general, "no seas espeluznante" es un estribillo común en la industria de la tecnología. Las empresas cliente pueden considerar cómo perciben los usuarios el intercambio de valor de datos para la personalización. Requiere una personalización de marketing responsable y principios de diseño de IA responsables . De hecho, así es como allanamos el camino para aumentar la confianza y la lealtad de los clientes . Todo comienza con el diseño de soluciones que mantengan en mente estas ideas emergentes.

Seguir leyendo

Automatización y Salesforce DevOps: una receta para el desarrollo acelerado

Automatización y Salesforce DevOps: una receta para el desarrollo acelerado

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

En el acelerado mundo empresarial actual, la eficiencia en el desarrollo de software es vital. La automatización ha surgido como una solución clave, agilizando los procesos para aumentar la productividad y liberar la innovación. Salesforce no es inmune a estos desafíos y complejidades de toda la industria.

Ingrese a DevOps. DevOps se ha convertido en un elemento esencial en el desarrollo de software, incluido Salesforce. Mediante la colaboración de desarrolladores, administradores y partes interesadas, Salesforce DevOps crea un entorno perfecto para la automatización.

La combinación de automatización y Salesforce DevOps cosecha múltiples beneficios: menos errores, preparación más rápida para el mercado, una canalización de lanzamiento optimizada, menos repeticiones, calidad de código superior y mecanismos de retroalimentación más fuertes. Mejora la eficiencia operativa y la velocidad de implementación en el ecosistema de Salesforce, fomentando un desarrollo ágil.

Este artículo explora la intersección de la automatización y Salesforce DevOps, los beneficios de su sinergia y formas prácticas de aplicarla para un desarrollo más rápido en sus operaciones de Salesforce. Tanto si es un profesional de Salesforce como un novato, este artículo ofrece información para reforzar su enfoque de DevOps de Salesforce con la automatización.

Descripción de DevOps de Salesforce

Antes de profundizar en cómo se cruzan Salesforce DevOps y la automatización, es fundamental comprender lo que implica Salesforce DevOps.

DevOps, una combinación de ' Desarrollo ' y ' Operaciones ', es un conjunto de prácticas diseñadas para fusionar el desarrollo de software, el control de calidad y las operaciones de TI en un proceso unificado y fluido. En un contexto de Salesforce , DevOps es la unión de estos principios con las sólidas capacidades de CRM de Salesforce, con el objetivo de facilitar procesos de desarrollo e implementación más fluidos y rápidos.

En esencia, Salesforce DevOps incorpora principios como:

  1. Integración continua y entrega continua (CI/CD),
  2. responsabilidades compartidas,
  3. Acción centrada en el cliente,
  4. Cultura de colaboración.

El objetivo es crear un entorno cohesivo donde los administradores, desarrolladores y otras partes interesadas puedan trabajar en armonía, lo que lleva a ciclos de desarrollo más cortos, tiempo de comercialización más rápido y software de alta calidad.

Sin embargo, a pesar de las ventajas de Salesforce DevOps, los desarrolladores a menudo enfrentan desafíos. Si bien es un activo, las características integrales y la capacidad de personalización de Salesforce pueden complicar el proceso de desarrollo e implementación .

Los desafíos difieren de un equipo a otro y de un caso de uso a otro, pero estos son algunos de los más comunes:

  • Las diferencias en los entornos,
  • Administrar dependencias de código,
  • Manejo de metadatos,
  • Alinear el trabajo de diferentes equipos
  • Necesidad de mantener la calidad del código
  • Estabilidad del sistema mientras entrega a gran velocidad

Aquí es donde la automatización viene al rescate. La automatización, en esencia, es el uso de la tecnología para realizar tareas con una intervención humana reducida. Cuando se aplica a Salesforce DevOps , puede aliviar significativamente estos desafíos.

Las pruebas automatizadas, por ejemplo, pueden mejorar la calidad del código al identificar errores al principio del proceso de desarrollo. Las implementaciones automatizadas pueden sincronizar metadatos y código en diferentes entornos, lo que reduce los errores de implementación. Del mismo modo, la automatización de tareas repetitivas puede liberar el tiempo de los desarrolladores, lo que les permite concentrarse en actividades que agregan más valor, como el desarrollo de funciones o el diseño de sistemas.

Además, la automatización fomenta un proceso de desarrollo más ágil, lo que permite actualizaciones periódicas e incrementales en lugar de implementaciones rígidas de Salesforce. Este aspecto acorta el ciclo de desarrollo y facilita la reversión de los cambios si algo sale mal, lo que aumenta la estabilidad general del sistema.

Aprovechamiento de la automatización para el desarrollo acelerado de Salesforce

Acelerar el desarrollo de Salesforce a través de la automatización implica identificar tareas manuales y repetitivas, implementar herramientas y marcos de automatización adecuados y perfeccionar los procesos para mejorar la eficiencia y reducir los cuellos de botella. Profundicemos en cada una de estas áreas con más detalle:

Identificación de tareas manuales y repetitivas

El primer paso hacia la automatización es reconocer qué tareas están ralentizando su velocidad de desarrollo.

Estos típicamente incluyen:

  • Revisiones de código,
  • Pruebas,
  • Despliegue,
  • Configuración,
  • Migración de datos.

Suelen implicar procesos manuales tediosos que consumen tiempo y son propensos a errores. Al identificar estas tareas, puede identificar dónde la automatización proporcionará el mayor beneficio y tendrá un impacto significativo en la velocidad y la eficiencia de su desarrollo.

Implementación de herramientas y marcos de automatización

Una vez que haya identificado las áreas que podrían beneficiarse de la automatización, es hora de elegir e implementar las herramientas y los marcos adecuados. Salesforce ofrece varias funciones de automatización integradas, como Apex y Salesforce Flow .

Sin embargo, otras herramientas pueden ser más adecuadas para tareas complejas, como Salesforce DX para la gestión del ciclo de vida del desarrollo, o Jenkins y CircleCI para la integración y entrega continuas. Al seleccionar estas herramientas, asegúrese de que se alineen con las habilidades de su equipo y los requisitos específicos de su entorno de Salesforce.

Optimización de procesos para mejorar la eficiencia

La automatización no se trata solo de herramientas y tecnología. También se trata de refinar sus procesos. Revise su flujo de trabajo de desarrollo actual para identificar posibles cuellos de botella y áreas de mejora.

Por ejemplo:

  1. ¿Cómo se informan y rastrean los errores?
  2. ¿Con qué frecuencia se realizan las implementaciones y cómo se programan?
  3. ¿Cómo se recopilan los comentarios y cómo se actúa en consecuencia?

Simplificar estos procesos puede mejorar drásticamente la eficiencia de su equipo, permitiéndole aprovechar al máximo sus esfuerzos de automatización.

Vale la pena mencionar que los beneficios de la automatización van más allá de acelerar el desarrollo. La automatización también puede mejorar la calidad del código al detectar errores temprano a través de pruebas automatizadas. Puede reducir los errores de implementación al sincronizar el código en diferentes entornos.

Y al liberar a los desarrolladores de las tareas rutinarias, les permite concentrarse más en el desarrollo de características y el diseño del sistema, fomentando así la innovación y mejorando el valor entregado a los usuarios finales.

Pruebas automatizadas para el desarrollo acelerado de Salesforce

Las pruebas son un componente crucial de cualquier ciclo de vida de desarrollo, y su importancia se multiplica para acelerar el desarrollo de Salesforce. Las pruebas periódicas y exhaustivas ayudan a identificar errores y problemas desde el principio, lo que reduce el riesgo de reparaciones costosas y lentas en el futuro. Asegura la calidad y la confiabilidad de la aplicación, lo que a su vez contribuye a mejorar las experiencias de los usuarios y los resultados comerciales.

La automatización puede potenciar este proceso de prueba. Las pruebas automatizadas implican el uso de herramientas de software para ejecutar pruebas y comparar los resultados reales con los resultados esperados. La implementación de una estrategia de prueba automatizada para las aplicaciones de Salesforce puede acelerar drásticamente el proceso de desarrollo, lo que garantiza implementaciones más rápidas, eficientes y confiables con menos errores.

Existen numerosas herramientas disponibles para pruebas automatizadas en Salesforce. Apex proporciona soporte integrado para pruebas unitarias, mientras que herramientas como Selenium, Provar y AssureClick pueden automatizar las pruebas de IU. Jest es una excelente opción para probar Lightning Web Components (LWC). Al seleccionar una herramienta, considere las necesidades específicas de su aplicación, la experiencia de su equipo y la complejidad y frecuencia de sus requisitos de prueba.

Seguir las mejores prácticas es esencial para aprovechar todo el potencial de las pruebas automatizadas. Estas son algunas de las mejores prácticas para pruebas automatizadas eficientes y completas en el desarrollo de Salesforce:

  • Apunte a una alta cobertura de prueba : asegúrese de probar todas las partes de su aplicación. Salesforce requiere una cobertura de código mínima del 75 %, pero apuntar a una mayor cobertura puede brindar más confianza en la confiabilidad de la aplicación.
  • Cree pruebas repetibles y autónomas : las pruebas deben poder ejecutarse en cualquier entorno y no deben basarse en datos de pruebas anteriores. Esto garantiza que cada prueba valide una función específica de forma independiente.
  • Mantenga sus conjuntos de pruebas : a medida que su aplicación evolucione, sus pruebas también deberían hacerlo. Revise y actualice regularmente sus pruebas para asegurarse de que reflejen con precisión el estado actual de su aplicación.
  • Implemente diferentes niveles de prueba : combine pruebas unitarias, pruebas de integración y pruebas de interfaz de usuario para validar todos los aspectos de su aplicación. Cada nivel de prueba proporciona una perspectiva diferente sobre la funcionalidad de la aplicación.
  • Priorizar la legibilidad de la prueba : las pruebas a menudo sirven como documentación, explicando lo que se supone que debe hacer una parte del código. Asegúrese de que sus pruebas estén bien estructuradas y claramente escritas para que sean fáciles de entender para los demás.
  • Incorpore las pruebas al principio del proceso de desarrollo : no espere hasta el final del ciclo de desarrollo para comenzar las pruebas. La incorporación de pruebas de manera temprana y frecuente le permite detectar y solucionar problemas rápidamente.

Integración e implementación continuas con automatización

La integración continua y la implementación continua (CI/CD) forman un pilar central de Salesforce DevOps. CI/CD está diseñado para reducir errores y acelerar el desarrollo a través de la integración continua de código y procesos de implementación automatizados y consistentes.

En el contexto de Salesforce, CI fusiona periódicamente los cambios de código en un repositorio compartido, a menudo varias veces al día. Cada integración se verifica automáticamente mediante la creación de la aplicación y la ejecución de pruebas, lo que garantiza que los nuevos cambios se integren perfectamente con el código existente y no introduzcan errores.

Por otro lado, CD implementa automáticamente esos cambios en la producción, lo que garantiza que las nuevas características, configuraciones y mejoras lleguen a los usuarios finales lo más rápido posible. En Salesforce, CD puede implicar la implementación de cambios en diferentes entornos, como entornos de desarrollo, prueba, ensayo y producción.

La automatización es clave para lograr procesos impecables de CI/CD de Salesforce. A través de la automatización, puede optimizar y estandarizar los pasos involucrados en:

  • Creación, prueba e implementación de aplicaciones de Salesforce,
  • Reducir el potencial de error humano
  • Acelerar el ciclo de desarrollo general.

La automatización del proceso de compilación garantiza que los cambios en el código se integren y validen de manera constante. Las pruebas automatizadas, como comentamos anteriormente, verifican la integridad y la calidad del nuevo código. La automatización del proceso de implementación ayuda a sincronizar el código y los cambios de configuración en diferentes entornos, lo que garantiza que todos los equipos de DevOps trabajen con la versión más reciente y precisa de la aplicación.

Control de versiones y automatización de la gestión de cambios

En el desarrollo de Salesforce, el control de versiones y la gestión de cambios son fundamentales para mantener la integridad, coherencia y calidad de su aplicación.

El control de versiones, una parte integral del desarrollo de software, implica administrar y rastrear diferentes versiones de su base de código. Le permite ver los cambios a lo largo del tiempo, volver a las versiones anteriores cuando sea necesario y administrar el código de varios desarrolladores al mismo tiempo.

La gestión de cambios se refiere a la gestión y el seguimiento de los cambios del sistema, incluidos los cambios de configuración, las modificaciones de código y las implementaciones de nuevas funciones.

La automatización de estos procesos puede mejorar su eficiencia y confiabilidad en el desarrollo de Salesforce.

  1. El control de versiones automatizado permite una integración de código más fluida de diferentes desarrolladores, lo que reduce el riesgo de conflictos y errores.
  2. La gestión de cambios automatizada asegura que todas las modificaciones a su sistema sean rastreadas y verificadas con precisión, mejorando la responsabilidad y facilitando el diagnóstico de cualquier problema que surja.

Varias herramientas pueden ayudar a automatizar el control de versiones y la gestión de cambios en Salesforce. Los sistemas de control de versiones (VCS) como Git permiten un control de versiones efectivo. Facilita el seguimiento de los cambios en la base del código, lo que ayuda a mantener la integridad del código.

Las herramientas de DevOps como Copado o Gearset pueden ayudar a automatizar el seguimiento y la implementación de cambios en diferentes entornos para la gestión de cambios. Brindan una visibilidad integral de su historial de cambios, lo que le permite administrar los cambios de manera más efectiva y mantener la estabilidad de su aplicación.

Automatización de la supervisión y el tratamiento de errores

En el ámbito vertiginoso del desarrollo de Salesforce, el papel de la automatización se extiende más allá de la creación, prueba e implementación. El monitoreo automatizado y el manejo de errores son igualmente importantes para mantener la salud de la aplicación y corregir rápidamente cualquier problema.

El monitoreo automatizado implica el uso de herramientas para realizar un seguimiento constante del rendimiento, el uso y el estado general de sus aplicaciones de Salesforce. Este enfoque proactivo permite a los equipos de desarrollo identificar y abordar posibles problemas antes de que afecten a los usuarios.

El manejo proactivo de errores va de la mano con el monitoreo automatizado. En lugar de esperar a que se informen los problemas, el manejo proactivo de errores implica el uso de sistemas automatizados para identificar y, a menudo, resolver los problemas tan pronto como ocurran. Las notificaciones de error automatizadas aseguran que su equipo esté al tanto de cualquier problema al instante, lo que permite una respuesta rápida, minimiza el tiempo de inactividad y reduce la posibilidad de errores costosos.

La implementación de estas herramientas de automatización en Salesforce DevOps implica el uso estratégico de recursos como Monitoreo de eventos de Salesforce, que proporciona un flujo de eventos de auditoría de aplicaciones de su organización, y herramientas de Monitoreo y advertencia de errores, que pueden notificarle automáticamente sobre errores o excepciones.

Conclusión

La automatización combinada con las prácticas de Salesforce DevOps ofrece una poderosa estrategia para acelerar el desarrollo y mejorar la calidad del software. Es una receta para el éxito en el vertiginoso panorama digital actual.

Para implementar la automatización en su desarrollo de Salesforce, comience por identificar las tareas repetitivas que podrían automatizarse. Luego, implemente herramientas adecuadas para tareas como integración continua, pruebas automatizadas, control de versiones y monitoreo de aplicaciones. Agilice cualquier proceso manual junto con la implementación de estas herramientas, creando un flujo de trabajo de desarrollo eficiente y efectivo.

La adopción de la automatización en Salesforce DevOps acelera el desarrollo y refuerza la confiabilidad y el valor de sus aplicaciones. A medida que el ecosistema de Salesforce continúa evolucionando, el papel de la automatización crecerá aún más, dando forma al futuro del desarrollo de Salesforce.

Este artículo fue escrito por Sam Hops. Es redactora de contenido para una revista digital que cubre temas relacionados con el diseño, el comercio electrónico, el marketing digital y el espíritu empresarial. Sam es un apasionado de todo lo relacionado con el marketing digital, pero tiene un interés particular en el diseño gráfico, el SEO y las redes sociales.

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

Presentamos HowToDev_ ☁️

Presentamos HowToDev_ ☁️

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.

Presentamos HowToDev_ | Blog de desarrolladores de Salesforce

HowToDev_ es una nueva serie sobre Salesforce+ que creamos para ayudar a los desarrolladores a familiarizarse con Salesforce Platform. Si ya tiene habilidades tecnológicas pero es nuevo en el ecosistema de Salesforce, o si desea aprender un poco sobre el desarrollo, ¡HowToDev_ es la serie para usted!

En esta nueva serie, aprenderá a ampliar la Plataforma de Salesforce y crear aplicaciones personalizadas utilizando potentes funciones de desarrollo de Salesforce líderes en la industria. Seré su anfitrión y, en cada episodio, lo explicaré cómo tomar una interfaz de usuario basada en datos que viene lista para usar con Salesforce y crear una experiencia intuitiva e interactiva que facilite la vida de los usuarios.

Descripción general de la plataforma de Salesforce

La plataforma de Salesforce reúne una serie de servicios de infraestructura, red, aplicaciones y datos para crear una poderosa herramienta que puede ampliar en un abrir y cerrar de ojos. Esto se debe a muchas de las complejidades que puede haber utilizado en otras plataformas de usuarios y desarrolladores. En el primer episodio de HowToDev_, repasamos una descripción general de Salesforce Platform y cómo puede crear objetos personalizados para ampliar el modelo de datos.

Realmente solo necesita preocuparse por la aplicación y los servicios de datos que se le proporcionan para construir. Desde su front-end hasta sus API, todo sale de la caja listo para que comience a construir.

¡Vamos a codificar!

¡Espera un segundo! Hay algunas cosas que necesita saber aquí antes de abrir ese entorno de desarrollo. Aquí hay un vistazo de lo que cubrimos en el Episodio 1 .

Comprender la importancia de los metadatos en Salesforce: Nosotros explicar la función de los metadatos, que representan toda la configuración, la automatización y la interfaz de usuario en el entorno de Salesforce.

Definición de qué son una aplicación y una organización en Salesforce: aclaramos los conceptos de una aplicación y una organización en Salesforce, subrayando su distinción con respecto a las aplicaciones y organizaciones tradicionales.

Creación del objeto de propiedad : demostramos el proceso de creación de un objeto personalizado (el objeto de propiedad) en Configuración de Salesforce, que funciona como una tabla de base de datos para administrar y rastrear propiedades.

Agregar nuevos campos al objeto: agregamos dos nuevos campos personalizados al objeto Propiedad (es decir, Fecha de cotización y Días en el mercado), que resaltan la naturaleza dinámica de los campos de Salesforce.

Mirando hacia el futuro: Concluimos el episodio con una mirada al futuro de lo que cubrirá la serie, prometiendo una futura exploración de la codificación y la resolución de problemas complejos dentro de Salesforce.

Una vez que tenga una mayor comprensión de estos conceptos, ¡podemos abrir la CLI en el Episodio 2 !

Dónde ver HowToDev_

Todos los episodios se lanzaron a la vez en Salesforce+, ¡así que puede disfrutarlos todos ahora! Esto es lo que se trata en cada episodio:

Episodio 1: Descripción general de la plataforma Salesforce
Episodio 2: Herramientas para desarrolladores de Salesforce
Episodio 3: Código en Salesforce con Apex, SOQL y DML
Episodio 4: compilar componentes web Lightning
Episodio 5: Automatización con flujo y disparadores
Episodio 6: Completar y lanzar su aplicación Salesforce

Más recursos

  • HowToDev_ Repositorio de GitHub : este es el lugar donde encontrará todo el código, las definiciones, los enlaces y los documentos a los que se hace referencia en la serie.
  • Creamos una divertida Trailhead Quest para completar mientras ves HowToDev_. Únase a la búsqueda ahora para poner a prueba sus conocimientos y tener la oportunidad de ganar* uno de los 10 paquetes de premios HowToDev_, que incluyen un par de Apple AirPods y un estuche personalizado de Salesforce Developers. También recibirá una insignia exclusiva de la comunidad HowToDev_ en Trailhead. Complete la misión en cualquier momento antes del 31 de julio a las 11:59 p. m. (hora del Pacífico) para participar y ganar.

Sobre el Autor

Stephan Chandler-Garcia es promotor de desarrolladores en 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 de Trailblazer o en una de nuestras conferencias en todo el mundo. Alternativamente, sígalo en Twitter @stephanwcg o @schandlergarcia en GitHub, y consulte su repositorio de GitHub para ver código de muestra y proyectos.

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

Las extensiones Open VSX ahora son compatibles con Code Builder ☁️

Las extensiones Open VSX ahora son compatibles con Code Builder ☁️

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 extensiones Open VSX ahora son compatibles con Code Builder | Blog de desarrolladores de Salesforce

Nos complace anunciar que Code Builder ahora le permite agregar extensiones desde Open VSX Registry , que brinda acceso de código abierto a las extensiones de VS Code. Con esta nueva funcionalidad, puede personalizar Code Builder con extensiones de la comunidad y de terceros para satisfacer sus necesidades más rápido y ser más productivo. En esta publicación de blog, aprenderá sobre los beneficios que Open VSX aporta a Code Builder, cómo usarlo y cómo compartir sus comentarios con nosotros.

¿Qué es el generador de código?

Code Builder es un entorno de desarrollo moderno basado en la web que está optimizado para Salesforce. Actualmente en Beta, Code Builder le permite implementar un entorno de desarrollo integrado (IDE) con todas las funciones en su navegador desde su organización de Salesforce, con solo presionar un botón.

Las funciones clave, como la finalización y refactorización de código, ayudan a aumentar la productividad del desarrollador, mientras que las herramientas de apuntar y hacer clic dentro de Code Builder, como SOQL Builder, y la compatibilidad con todos los lenguajes y marcos de trabajo de Salesforce, facilitan el desarrollo de cualquier forma que desee. me gusta

Finalmente, con Code Builder, que se basa en AWS, puede acceder a las mismas extensiones de Salesforce y CLI que están disponibles en el escritorio.

Mejor juntos: Code Builder + Open VSX

Cuando inicia Code Builder desde una organización, viene precargado con las herramientas de Salesforce que necesita, incluido todo el paquete de extensiones de Salesforce y la CLI de Salesforce. Sin embargo, como parte del proceso de su equipo, es posible que necesite otras herramientas para realizar el trabajo. Ahí es donde Open VSX Registry puede ayudar.

Por ejemplo, tomemos el control de fuente. Code Builder ya tiene acceso a Git y GitHub, pero quizás su equipo use algo diferente. Si su equipo trabaja con Jira y BitBucket, puede agregar las extensiones de Jira y Bitbucket en su entorno personal de Code Builder, lo que le permite trabajar con historias y control de fuente sin problemas dentro de Code Builder.

Con casi 3000 extensiones y 1600 editores diferentes en Open VSX, hay muchos otros complementos para elegir para personalizar su entorno Code Builder.

Salesforce y Open VSX

En Salesforce, estamos comprometidos con el código abierto . Dentro de las organizaciones que fomentan y adoptan el código abierto, los beneficios para los desarrolladores son claros:

  • Código de mayor calidad: el código fuente abierto generalmente exhibe las mejores prácticas de diseño de software; está escrito de forma modular y limpia, y también está bien documentado, ya que los desarrolladores de todo el mundo necesitan entender cómo funciona.
  • Mejora de habilidades blandas: trabajar en código abierto lo lleva a aprender naturalmente cómo ser un gran compañero de equipo y colaborador. También aprende de otros desarrolladores expertos siguiendo las pautas de contribución y revisando el código.
  • Innovación: La inteligencia colectiva es extremadamente poderosa. Al tener diferentes cerebros con diferentes antecedentes y mentalidades trabajando juntos, nuevas funciones e ideas innovadoras pueden surgir rápidamente.

Open VSX es una gran representación de la colaboración de código abierto. Dado su continuo crecimiento, la Fundación Eclipse ha formado un grupo de trabajo para guiar la evolución del Registro Open VSX . Salesforce es patrocinador y miembro del grupo de trabajo para ayudar a garantizar que nuestros usuarios tengan las herramientas y funciones necesarias para construir en nuestra plataforma.

Próximos pasos

Code Builder se encuentra actualmente en versión beta abierta y está disponible para que cualquiera lo pruebe. Si desea encontrar más recursos, o si tiene preguntas o comentarios, consulte el grupo de la comunidad Code Builder Trailblazer . ¡Esperamos sus comentarios!

Tenga en cuenta que también puede acceder a las extensiones de Salesforce en Open VSX, por lo que están disponibles en cualquier lugar donde las necesite.

Sobre los autores

Stephanie Maddox es directora del equipo de gestión de productos de Salesforce. Puedes seguirla en LinkedIn o Twitter .

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Puedes seguirla en Linkedin , Twitter o 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

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

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

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

La respuesta incluye la siguiente información:

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

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

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

Además, no olvide incluir su clave API.

Beneficios de usar la API de zona horaria de Google

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

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

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

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

Paso 1: crea o selecciona tu proyecto

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

Paso 2: configurar una cuenta de facturación

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

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

Paso 3: habilite la API de zona horaria

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

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

Paso 4: Genere su clave API

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

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

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

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

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

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

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

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

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

Antes de discutir la solución, permítame mostrarle un diagrama del proceso a un alto nivel. Dedique unos minutos a revisar el siguiente diagrama de flujo para comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito empresarial de Jestilla mediante Record-Triggered After-Save Flow . Debemos:

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

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

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

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

Paso 2: crear una credencial con nombre

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

Paso 3.1: Definir propiedades de flujo

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

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

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

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

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

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

3 pasos para la adopción estratégica de IA

3 pasos para la adopción estratégica de IA

En el mundo empresarial actual, que cambia rápidamente, la IA tiene el potencial de transformar las industrias y desbloquear oportunidades sin precedentes. Sin embargo, muchos líderes de la industria no están seguros de cómo adoptar esta adopción dentro de sus organizaciones. Se preguntan si reemplazará las capacidades humanas o agregará complejidad sin brindar beneficios tangibles.

Imagine las posibilidades de una adopción estratégica de IA. Un asombroso 79% de las empresas ya han experimentado una reducción significativa de costos a través de la implementación. Pero, sin una estrategia bien definida adaptada a sus necesidades únicas, las empresas corren el riesgo de perderse los beneficios de estas herramientas transformadoras.

Comience con AI Cloud

Los servicios profesionales de Salesforce pueden ayudarlo a establecer la base adecuada para el éxito con nuestro nuevo paquete, AI Coach.

¿Está listo para navegar por el complejo mundo de la IA y aprender cómo puede integrarse en su negocio? Profundicemos y descubramos tres pasos prácticos para la adopción e implementación exitosas de IA , y la importancia de usar esta tecnología de una manera en la que pueda confiar con AI Cloud .

1. Evalúe su preparación para la adopción de IA

Una de las preguntas que suelen hacer los clientes cuando se embarcan en su viaje de IA es: "¿Por dónde empiezo?" Con el gran potencial de la tecnología de IA generativa , los líderes de la industria pueden sentirse abrumados o inseguros sobre cuál es el mejor camino a seguir. Para navegar este mar de posibilidades, es crucial hacer las preguntas correctas y evaluar la preparación de su organización para adoptar la IA.

  • Identifique el valor empresarial : analice sus procesos, las interacciones con los clientes y los activos de datos para identificar las áreas en las que la IA puede crear el mayor valor. Podrá concentrar sus esfuerzos en áreas de alto impacto que ofrecen retornos óptimos.
  • Visualice cómo aprovechar el poder de la IA : Considere cómo la IA puede potenciar los objetivos de su empresa. Explore casos de uso, aplicaciones y resultados deseados específicos para crear una visión convincente.
  • Evalúe su preparación : luego, confirme que su organización está lista para adoptar la IA. Analice su infraestructura tecnológica, capacidades de datos y habilidades de la fuerza laboral para identificar brechas y áreas de mejora. Determine si tiene los recursos, la experiencia y los sistemas de soporte necesarios para implementar y administrar estas soluciones.

Al tomarse el tiempo para evaluar la preparación, puede abordar las barreras comunes para una adopción exitosa de la IA. Este proceso le permite tomar decisiones informadas, dividir recursos y desarrollar una hoja de ruta realista.

2. Cree una prueba de tecnología

Para garantizar una integración exitosa de la IA en su organización, debe desarrollar un plan práctico que aborde las preguntas comerciales clave . Un componente crucial de este plan es crear una prueba de tecnología , que determina si la solución o tecnología propuesta se integrará en su entorno existente y, por lo tanto, demostrará compatibilidad.

Hay varios pasos importantes para ayudarlo a evaluar la viabilidad, demostrar las capacidades del producto y validar la relevancia de los casos de uso. Al seguir estos pasos, puede posicionar a su equipo para el éxito y obtener el apoyo de las partes interesadas para la adopción de IA.

  • Identifique casos de uso : perfeccione los casos de uso de IA mediante la recopilación de información de toda su organización. Concéntrese en las áreas donde la IA puede tener el mayor impacto y alinee sus iniciativas con los objetivos de la empresa.
  • Implemente la prueba de tecnología de AI Cloud : evalúe la viabilidad implementando herramientas de IA en un entorno controlado. Pruebe el rendimiento, la escalabilidad y la integración con los sistemas existentes para abordar cualquier problema desde el principio y garantizar una transición sin problemas.
  • Demuestre las capacidades del producto : Muestre la transformación potencial a través de escenarios de práctica o proyectos piloto. Obtenga la aceptación y el apoyo de las partes interesadas al ilustrar cómo la IA aborda desafíos específicos y brinda los resultados deseados.
  • Valide el valor comercial : antes de la implementación, confirme la relevancia de sus casos de uso. Pruebe los beneficios no realizados, como mejoras en la eficiencia, mejores experiencias de los clientes y una mejor toma de decisiones, asegurándose de que sus iniciativas de IA se alineen con sus objetivos comerciales.

Al crear una prueba integral de la tecnología, sienta las bases para una adopción exitosa de la IA. Esta será su hoja de ruta para navegar por los posibles desafíos y aprovechar al máximo las oportunidades futuras.

Impulse la transformación continua con
La Oficina de Innovación Continua

Los servicios profesionales de Salesforce pueden ayudarlo a elevar sus capacidades para obtener el máximo valor de su inversión en Salesforce.

3. Transformar la visión en acción

Si bien la planificación es esencial, es crucial conectar los puntos entre la visión y la ejecución. Así es como puede transformar su plan bien elaborado en una realidad, superando futuros escollos en el camino:

  • Involucrar a diversas partes interesadas : involucrar una variedad de perspectivas e intereses a través de una colaboración inclusiva. Busque aportes de empleados, clientes y socios para dar forma a la estrategia de implementación.
  • Promueva la transparencia : mantenga su plan visible, claro y actualizado. Comparta el progreso y los hitos para fomentar la confianza, la propiedad colectiva y la responsabilidad.
  • Adopte una mentalidad de aprendizaje : manténgase abierto a nuevos conocimientos y perfeccione su plan a medida que avanza.
  • Tome decisiones informadas más fácilmente : proporcione estrategias prácticas y una visión clara para garantizar que sus elecciones estén alineadas con los resultados deseados.
  • Capacite a su gente : reconozca que el poder de la IA radica en las capacidades colectivas de su fuerza laboral. Aproveche sus conocimientos, habilidades y creatividad para desbloquear todo el potencial de la IA e impulsar un cambio significativo.

Recuerde que el verdadero poder de la IA no radica en la tecnología en sí, sino en su gente. Al seguir estas pautas, puede cerrar la brecha entre la visión y la acción, transformando las aspiraciones de su organización en resultados concretos.

Aproveche las oportunidades que se avecinan

Abraza el futuro con confianza. Descubra el poder transformador de la IA con AI Coach de Salesforce Professional Services . Nuestro equipo de expertos lo ayudará a evaluar la preparación para la IA de su organización. Desde la adopción de IA hasta la implementación de pruebas de tecnología que demuestren el valor comercial y la planificación estratégica de cómo puede establecer la base adecuada para el éxito a largo plazo con la Fase 0.

Juntos, navegaremos las complejidades de la implementación de IA. Al mismo tiempo, nos aseguraremos de que sus iniciativas funcionen hacia sus objetivos comerciales. Dé el primer paso para liberar todo el potencial de la IA en su organización. Póngase en contacto con los servicios profesionales de Salesforce hoy mismo.

Seguir leyendo

Explore el adaptador de cable GraphQL, ahora en versión beta ☁️

Explore el adaptador de cable GraphQL, ahora en versión beta ☁️

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

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

Explore el adaptador de cable GraphQL, ahora en versión beta | Blog de desarrolladores de Salesforce

¡Atención, desarrolladores de Salesforce! Hemos estado incursionando en GraphQL durante algún tiempo y estamos llevando las cosas al siguiente nivel. Hace unos meses, anunciamos el lanzamiento piloto del adaptador de cable GraphQL. Mantenga sus soportes porque estamos implementando la versión beta del adaptador de cable GraphQL de Salesforce en nuestro lanzamiento de verano '23. En este blog, exploraremos las novedades de la versión Beta y cómo utilizar Recetas de LWC para crear fácilmente su aplicación Salesforce con la tecnología de GraphQL.

La versión Beta del GraphQL Wire Adapter es un avance significativo en la gestión de datos de Salesforce en LWC. Con la introducción de nuevas funciones, como Recetas LWC, Actualización de datos e Integridad referencial, el proceso de desarrollo se ha vuelto más ágil y eficiente.

El adaptador de cable GraphQL permite consultar datos de Salesforce mediante consultas expresivas con funcionalidades como filtrado, clasificación, paginación y seguimiento de relaciones padre/hijo. También incluye una capa de gestión de datos y almacenamiento en caché del lado del cliente de Lightning Data Service. Estas funciones mejoran la eficiencia y la velocidad del acceso a los datos de Salesforce desde sus aplicaciones web y móviles de LWC.

El adaptador de cable GraphQL interactúa con la API de Salesforce GraphQL, que expone todos los objetos estándar y personalizados disponibles a través de la API de la interfaz de usuario, junto con los metadatos de los objetos. La API también mantiene la seguridad a nivel de objeto y de campo del usuario actual durante la ejecución de la consulta.

Para familiarizarse con el esquema de la API de GraphQL, sugerimos revisar la documentación del esquema utilizando el cliente de Altair GraphQL . Las herramientas disponibles en este cliente facilitan la redacción de su consulta GraphQL y su validación. Luego puede copiar y pegar su consulta directamente en su código JavaScript en Visual Studio Code.

Novedades en Beta:

  1. Recetas LWC: estos son componentes listos para usar que muestran varios casos de uso de GraphQL
  2. Actualización de datos: un mecanismo para actualizar los datos devueltos por su consulta de GraphQL
  3. Integridad referencial: este mecanismo garantiza la coherencia de los datos y las referencias a los recursos de Salesforce, como entidades y campos, son sólidas.

Analicemos cada una de estas características en detalle.

Recetas LWC

LWC Recipes es un repositorio de GitHub con una colección de ejemplos de código disponibles públicamente para componentes web Lightning. Incluye tres recetas GraphQL para ayudarlo a comenzar rápidamente a crear su aplicación Salesforce con GraphQL.

El repositorio proporciona instrucciones sobre cómo configurar su entorno, crear su organización de Salesforce, clonar el repositorio en su máquina local e implementar la aplicación en su organización. El código fuente se puede importar directamente a su Visual Studio Code como un proyecto que puede personalizar según sus necesidades.

Una vez que implemente la aplicación Recetas de LWC en su organización de Salesforce, es posible que vea los siguientes componentes mediante consultas de GraphQL.

Aquí hay una descripción general de los cuatro componentes de LWC que usan consultas GraphQL:

  • graphqlContacts : obtiene contactos que cumplen ciertos criterios, ordenados por nombre y limitados a los primeros cinco registros
  • graphqlVariables : captura la entrada del usuario en una barra de búsqueda en una variable y compone una consulta para devolver contactos cuyo nombre coincide parcialmente con la cadena de entrada
  • graphqlRefresh : obtiene una cantidad de empleados en una cuenta y actualiza los datos al hacer clic en el usuario
  • graphqlPagination : Habilita la paginación a través de una lista de contactos

Dado que muchos de nuestros clientes preguntan sobre la paginación, profundicemos un poco más. El adaptador de cable GraphQL es compatible con la paginación basada en cursores de GraphQL. Puede recorrer las páginas de los resultados de su consulta y controlar la cantidad de resultados que desea obtener cada vez. Para especificar el número de registros a devolver, utilice el first argumento. El número predeterminado es 10.

Si hasNextPage es verdadero, puede proporcionar el valor de endCursor al argumento after de una consulta posterior para solicitar la siguiente página de resultados.

Aquí hay una captura de pantalla de cómo podría verse el proyecto Recetas de LWC en Visual Studio Code. Puede ver un código de ejemplo para la implementación de la paginación.

Actualización de datos

En el mundo del desarrollo de aplicaciones, mostrar datos actualizados es fundamental para una buena experiencia de usuario y para generar confianza. Por lo tanto, en la versión Beta del GraphQL Wire Adapter, presentamos la función refreshGraphQL .

Esta función permite a los desarrolladores activar manualmente una repetición de la consulta. ¿El resultado? Una actualización de los datos proporcionados por el adaptador de cable GraphQL, lo que garantiza que los usuarios siempre vean los datos más actualizados.

Esta actualización se puede activar a pedido, como un clic de botón de un usuario o un evento de JavaScript específico. Esto significa que puede optimizar su aplicación para que se actualice solo cuando sea necesario, lo que proporciona una manera eficiente de mantener los datos actualizados y maximizar el rendimiento de la aplicación. En pocas palabras, la función refreshGraphQL ofrece un método amigable con el rendimiento para mantener los datos actualizados, mejorando la experiencia del usuario y aumentando la confiabilidad de la aplicación.

Aquí hay un ejemplo de uso:

Consulte el componente graphqlRefresh en las recetas de LWC para ver otro ejemplo del uso de la función de actualización de datos.

Integridad referencial

La versión Beta del adaptador de cable GraphQL presenta integridad referencial. He aquí una breve descripción de sus beneficios e implicaciones.

Lightning Data Service (LDS), la capa de administración de datos del lado del cliente de Salesforce, mejora la eficiencia de la aplicación al permitir que los componentes compartan datos, reducir las llamadas al servidor y mantener la coherencia de los datos. También garantiza referencias sólidas a los recursos de Salesforce, propagando cambios de nombre y evitando eliminaciones cuando las referencias persisten.

En la versión piloto del adaptador, requerimos el uso de directivas @category para ayudar a LDS a comprender el esquema de datos y normalizar sus datos de GraphQL.

Sin embargo, en la versión Beta, estas directivas ya no se requieren manualmente. Si se usaron anteriormente, ahora se pueden eliminar de sus consultas de GraphQL. El compilador gestiona de forma autónoma estas directivas, agilizando su proceso de código y reduciendo posibles errores manuales.

¿Qué sigue para GraphQL?

Recordatorio: Salesforce es una empresa que cotiza en bolsa y los clientes deben basar sus decisiones de compra en los productos y servicios que están disponibles actualmente.

Estamos comprometidos a continuar invirtiendo en GraphQL. Esto es lo que puede esperar en los próximos lanzamientos (se aplica la declaración prospectiva):

Invierno '24:

  • Adaptador de cable GraphQL (GA)
  • Compatibilidad con mutaciones en la API de GraphQL
  • Compatibilidad con consultas agregadas en GraphQL Adapter
  • Capacidad de consulta de tareas y eventos en GraphQL API (Beta)

Primavera 24 y más allá:

  • Compatibilidad con mutaciones en GraphQL Adapter
  • Funciones avanzadas de paginación
  • Soporte de campos opcionales

Recursos para desarrolladores

Sobre el Autor

Suvda Myagmar es directora de gestión de productos en Salesforce y le apasionan las plataformas de datos e IA. Le encantan las carreras largas mientras escucha audiolibros.

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

4 formas en que su centro de contacto puede comenzar con IA generativa

4 formas en que su centro de contacto puede comenzar con IA generativa

El tema más candente en el servicio hoy en día es la IA generativa, especialmente en el centro de contacto. El 84 % de los líderes de TI que encuestamos en un estudio reciente dicen que la IA generativa ayudará a su organización a atender mejor a los clientes, y todos los días hablo con líderes de servicio que están entusiasmados con el potencial de la IA generativa del centro de contacto.

Sin embargo, solo el 24 % utiliza alguna forma de IA del centro de contacto. ¿Qué hay en el camino? El 66% dice que sus empleados no tienen las habilidades adecuadas para poner en uso con éxito la IA generativa. Así que echemos un vistazo a las cuatro formas en que puede usar la IA del centro de contacto, junto con ejemplos de casos de uso y consejos que lo ayudarán a comenzar.

Modernice su centro de contacto

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

1. Generar respuestas de servicio a los clientes

Su centro de contacto ofrece múltiples formas para que los clientes se comuniquen con su empresa, desde teléfono hasta correo electrónico, chat y SMS. Si bien muchos clientes todavía usan el teléfono, el 57% ahora prefiere usar canales digitales. Sus agentes que trabajan en estos canales digitales deben brindar información precisa y relevante, responder de manera oportuna y resolver el problema del cliente rápidamente.

Entonces, ¿cómo puede ayudar la IA generativa ? Los grandes modelos de lenguaje que impulsan la IA generativa pueden generar automáticamente una respuesta similar a la humana a cualquier pregunta. Cuando se basa en los datos y la base de conocimientos de sus clientes, puede personalizar estas respuestas generadas, haciéndolas más confiables. Los agentes pueden revisar las sugerencias del modelo y enviarlas fácilmente. Para los agentes que trabajan en varios casos a la vez, la IA del centro de contacto puede ser un verdadero ahorro de tiempo.

Veamos un ejemplo de una compañía ficticia de Internet que llamaremos Nation-Wide Web.

Jane es cliente de Nation-Wide Web y nota un cargo inusual en su factura. Jane abre un mensaje de chat en el sitio web de la empresa y pronto se conecta con una agente, Katie.

Katie tiene abiertas algunas ventanas de mensajes de clientes, una de ellas es Jane. Jane comparte sus preocupaciones sobre su factura. Aparentemente, Jane revisó su paquete de datos del mes. La herramienta de inteligencia artificial del centro de contacto usa la pregunta de Jane y el contexto del estado de su cuenta para generar un mensaje personalizado que explica este cargo en un tono empático, pero también que está dentro de la política de la empresa renunciar a la tarifa dadas las circunstancias.

Katie revisa el mensaje y confirma la política, luego envía el mensaje y elimina el cargo de la cuenta de Jane. Jane está contenta de haber obtenido una solución rápida y sencilla y Katie puede centrar su atención en los clientes con problemas más complejos.

Consejo: Tomarse el tiempo para revisar la precisión y el tono de cualquier comunicación con el cliente ayuda a evitar malentendidos.

2. Generación de resúmenes de casos

Para brindarle a su cliente una gran experiencia, necesita datos precisos para rastrear y optimizar las interacciones de servicio de su empresa. Esto hace que el resumen de recapitulación que hacen sus agentes después de que se cierra un caso sea uno de los datos de servicio más cruciales que su empresa puede recopilar.

¿El reto? Esta es una tarea que requiere mucho tiempo y evita que sus agentes ayuden a otros clientes.

Pero la IA del centro de contacto puede tomar las conversaciones de chat y correo electrónico más complejas y generar un resumen propuesto. Su agente solo necesita revisar estos resúmenes antes de que se guarden en el registro de casos. Esto ahorra a los agentes una tonelada de tiempo y esfuerzo en la entrada de datos.

Volvamos a nuestro ejemplo de Nation-Wide Web.

Si recuerda, la herramienta de inteligencia artificial de Katie generó una respuesta para Jane y todo lo que Katie tuvo que hacer fue revisar el mensaje, presionar enviar y cancelar la tarifa de la cuenta de Jane. Mientras tanto, la IA está utilizando los datos del hilo de mensajes y las acciones que Katie realizó en la cuenta de Jane para generar un resumen del caso.

Una vez completada la conversación con Jane, Katie puede leer este resumen propuesto, ajustar algunos detalles y guardarlo en el expediente del caso. Reducir el trabajo posterior a la llamada ayuda a Katie a ayudar a otros clientes más rápido.

Sugerencia: Cree una plantilla para los resúmenes de sus casos para que la herramienta de inteligencia artificial de su centro de contacto pueda extraer fácilmente los datos de la conversación en el CRM sin perder detalles importantes.

3. Generación de artículos de conocimiento

La investigación de Salesforce muestra que el 59% de los clientes prefieren herramientas de autoservicio para problemas de servicio simples. Sin embargo, para hacer eso, una empresa necesita una gran base de conocimientos en la que los clientes puedan buscar para encontrar una solución.

Los agentes de servicio a menudo tienen la tarea de publicar artículos de conocimiento después de resolver un caso. Pero lleva tiempo que los agentes creen, revisen y publiquen manualmente un artículo, lo que les impide ayudar a los clientes que lo necesitan.

La IA del centro de contacto puede generar automáticamente un artículo de la base de conocimientos después de que se cierra un caso de soporte extrayendo notas del caso, historial de mensajes y datos de otras herramientas de servicio. A partir de ahí, su agente solo necesita revisar el artículo para garantizar la precisión y agregarlo a la cola para su aprobación. Esto elimina la presión de los agentes para escribir artículos desde cero.

Volviendo a nuestro ejemplo de Nation-Wide Web, Austin tiene Internet lento y llamadas para solucionar problemas. Está conectado con Tawni, quien le pide los detalles de su enrutador y módem. Tawni analiza algunos escenarios comunes basados en casos similares, pero ninguno funciona para la configuración de Austin.

Tawni decide probar algo nuevo. Le pide a Austin que reinicie todo el sistema a través de la aplicación móvil Nation-Wide Web. Una vez que esto termina, las velocidades de Internet de Austin vuelven a la normalidad y el caso se cierra. Tawni registra toda esta información en la consola de servicio de la empresa, incluida la configuración de su enrutador y módem, y cómo resolvió este problema con un reinicio.

Debido a que este fue un caso único, la herramienta de inteligencia artificial del centro de contacto utiliza los detalles de la conversación de Tawni con Austin y el contexto del problema de Austin para generar un nuevo artículo de base de conocimiento. Tawni agrega algunos detalles adicionales y los empuja a la cola de aprobación.

Sugerencia: incluya tantos detalles como sea posible en los artículos de su base de conocimiento para que los clientes tengan toda la información que necesitan para resolver sus problemas.

4. Generar respuestas

Cuando sus agentes están en medio de una interacción de servicio, no tienen tiempo para leer páginas de documentación o cada detalle de un artículo de la base de conocimiento. Pero aún necesitan encontrar la información correcta para resolver la consulta de su cliente.

Lo mismo ocurre con el autoservicio . Leer artículo tras artículo para encontrar la información que necesita no es una buena experiencia para el cliente.

La IA generativa puede ayudar a los agentes y clientes a obtener las respuestas que necesitan de forma más rápida y sencilla. En lugar de obtener una lista de páginas que pueden (o no) tener la respuesta, AI puede extraer los detalles relevantes de un artículo de conocimiento y responder una pregunta directamente como texto sin formato.

Para nuestro ejemplo final, volveremos a nuestro cliente de Nation-Wide Web, Austin.

Unos meses después de su interacción con Tawni, su Internet vuelve a ser lento. Recuerda que usaron la aplicación móvil para solucionar el problema la última vez, pero ahora no puede acceder a la aplicación móvil. Pero en lugar de pedir ayuda, echa un vistazo al Centro de ayuda de la empresa. Austin usa la función de búsqueda para hacer la siguiente pregunta: "¿Cómo soluciono una conexión a Internet lenta cuando no puedo acceder a mi aplicación móvil?"

Antes, Austin primero habría tenido que encontrar el artículo sobre cómo restablecer su contraseña y luego encontrar el artículo sobre el uso de la aplicación para realizar un reinicio completo del sistema. Ahora, la herramienta de inteligencia artificial del centro de contacto genera una respuesta personalizada a la pregunta de Austin, reuniendo información de varios artículos. “Primero, haga clic aquí para solicitar una nueva contraseña para su aplicación móvil. Una vez que haya iniciado sesión, aquí se explica cómo usar la aplicación para realizar un reinicio completo del sistema…”

Austin resolvió su problema sin interactuar con un agente y aun así obtuvo una experiencia personalizada. Si un agente fuera el que necesitara encontrar información específica dentro del centro de conocimiento, tendría la misma experiencia.

Sugerencia: hacer que su contenido de autoservicio sea fácil de encontrar y navegar genera confianza en el cliente.

Al agregar IA generativa a su centro de contacto , está ayudando a todos a aprovechar al máximo cada interacción de servicio. Sus agentes hacen más con menos trabajo y sus clientes obtienen una resolución rápida y fácil a sus problemas mientras disfrutan de una experiencia personalizada.

¿Cuál es la mejor manera de prepararse para el éxito con la IA generativa? Comience lentamente y desarrolle su programa de IA para el centro de contacto a medida que aumenta sus habilidades comerciales en IA. Por ejemplo, haga que sus agentes tomen Recomendaciones de respuesta de Einstein para el servicio en Trailhead y luego practiquen lo que aprenden entre ellos. Una vez que se sientan cómodos, vea cómo puede aplicar IA generativa en su centro de contacto .

Potencie su servicio al cliente con IA generativa

Puede escalar su servicio al cliente con el poder de la IA generativa junto con los datos de su cliente y CRM. Vea cómo esta tecnología mejora la eficiencia en el centro de contacto y aumenta la lealtad del cliente.

Seguir leyendo

5 pasos para la IA generativa confiable para desarrolladores de Salesforce ☁️

5 pasos para la IA generativa confiable para desarrolladores de Salesforce ☁️

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

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

5 pasos para la IA generativa confiable para desarrolladores de Salesforce | Blog de desarrolladores de Salesforce

La IA generativa se ha convertido en el factor de cambio para las empresas innovadoras y orientadas al cliente. Impulsada por algoritmos avanzados y aprendizaje automático, la IA generativa puede impulsar la innovación, optimizar los procesos y acelerar las empresas en todas partes al proporcionar experiencias y soluciones personalizadas adaptadas a las necesidades únicas de los clientes.

Igualmente importante para las experiencias poderosas dirigidas por el cliente es la protección de los datos críticos para el negocio. Los sistemas de IA procesan y generan contenido basado en grandes conjuntos de datos y, lamentablemente, los modelos de lenguaje extenso (LLM) no están poniendo su negocio en primer lugar. Mientras se prepara para implementar capacidades de IA generativa, es fundamental priorizar la privacidad de los datos. Al implementar medidas sólidas de protección de datos, no solo mantiene el cumplimiento de las regulaciones pertinentes, sino que también mantiene la confianza del cliente, su activo más valioso.

Con los cinco pasos que se describen a continuación, puede innovar rápidamente, aumentar la productividad y mejorar las experiencias personalizadas, al mismo tiempo que garantiza la seguridad y la privacidad de los datos de sus clientes.

Paso 1: comprender y auditar sus datos

Para asegurarse de tener las protecciones de seguridad, privacidad y gobernanza correctas, querrá comprender qué datos usará para crear avisos, plantillas y modelos de capacitación. Comprender los datos a los que permite que accedan los modelos de IA ayudará a evitar que se compartan inadvertidamente los datos personales o confidenciales de los clientes.

Entonces, ¿cómo empezar? Primero, anonimice y agregue los datos de los clientes antes de usarlos con fines de IA generativa. Elimine la información de identificación personal (PII) y cualquier otro dato confidencial que pueda identificar a las personas.

Una manera fácil de hacer esto en Salesforce es usar Data Detect , un producto que le permite revisar objetos y campos antes de permitir que los procesos de IA accedan a ellos para recibir indicaciones y capacitación. Una vez que los datos se han escaneado a través de Data Detect, puede confirmar que no hay sorpresas en esos datos, como números de tarjetas de crédito o direcciones de correo electrónico en campos donde ese tipo de datos no debería existir.

Data Detect también puede ayudar a recomendar un nivel de clasificación, como "Confidencial" o "PII" para datos personales, y proporcionar detalles sobre el contenido de un objeto, así como encontrar datos confidenciales generados por chatbots, casos y transcripciones de llamadas registradas automáticamente. por IA.

Paso 2: configure la protección de la privacidad de los datos para sus procesos generativos de IA

Respetar la privacidad del cliente y proteger los datos a lo largo de sus procesos de IA es crucial para establecer y mantener la confianza. A medida que confía más en la IA para comprender y tomar decisiones a partir de sus datos, ¿cómo protege también esos datos, especialmente la PII?

Para los procesos de IA que usan datos personales, como aumentar los registros de contacto u orquestar ofertas de marketing dinámicas 1:1, querrá desarrollar políticas de uso de datos claras y transparentes que describan cómo se manejarán los datos de los clientes, incluido su uso en sistemas de IA generativos. . Comunique estas políticas a sus clientes y bríndeles la oportunidad de optar por no participar o elegir el nivel adecuado de uso de datos. Además, cree una política para eliminar y ofuscar los datos que ya no son útiles o relevantes, para que sus clientes permanezcan protegidos y sus procesos de IA generativa permanezcan precisos.

Centro de privacidad puede ayudar a verificar que sus procesos de IA estén autorizados para su uso en capacitación y avisos. El Centro de privacidad también puede ayudarlo a crear políticas de retención para administrar el ciclo de vida de los datos utilizados y generados por la IA, incluidas las transcripciones de llamadas, los chatbots y los casos registrados automáticamente por la IA.

Paso 3: configure su organización para administrar la IA generativa

Tanto para proteger los datos utilizados en los procesos de IA como para confirmar que sus integraciones se mantienen dentro de los límites de los datos que desea utilizar, deberá implementar controles para proteger los datos de los clientes frente a accesos no autorizados o infracciones.

Los controles de acceso le permiten restringir el acceso a los datos del cliente solo al personal autorizado. Al otorgar acceso según sea necesario, reduce el riesgo de que los modelos de IA y las personas no autorizadas accedan a datos confidenciales. Esto protege contra el posible uso indebido de esos datos al tiempo que garantiza la privacidad del cliente.

Security Center puede ayudarlo a administrar de manera centralizada los permisos de usuario y las configuraciones de la organización para los datos que se usan y se obtienen de los procesos de IA.

Ahora preparémonos para implementar la IA de manera segura en toda su organización.

Paso 4: pruebe sus procesos para la implementación

Las pruebas en un entorno de espacio aislado son primordiales cuando se trata de IA generativa. Esto tiene dos propósitos fundamentales: probar los procesos de IA y capacitar a los empleados sobre el uso seguro y responsable de la IA generativa. Al realizar pruebas exhaustivas en un entorno de espacio aislado controlado, las organizaciones pueden evaluar y refinar el rendimiento y el comportamiento de sus modelos generativos de IA antes de implementarlos en escenarios del mundo real. Las pruebas permiten la identificación y mitigación de posibles problemas, como sesgos, errores o consecuencias no deseadas que pueden surgir durante un proceso de IA generativa.

Además, un entorno de sandbox proporciona un espacio seguro para que los empleados adquieran experiencia práctica y capacitación en el uso de herramientas y sistemas de IA generativa. Les permite explorar capacidades e identificar consideraciones éticas mientras toman decisiones informadas al usar la tecnología de manera responsable en sus operaciones diarias. Al aprovechar las pruebas de sandbox, las organizaciones pueden garantizar la confiabilidad, la eficacia y la aplicación ética de la IA generativa al tiempo que capacitan a su fuerza laboral para adoptar y utilizar esta tecnología transformadora con confianza.

Asegúrese de que, cuando utilice un espacio aislado para el entrenamiento de IA, haya eliminado todos los datos personales para crear sus indicaciones o entrenar un modelo de IA; puede eliminar u ofuscar fácilmente cualquier dato que no deba incluirse con Data Mask .

Paso 5: Supervise y proteja sus procesos de IA

Garantizar que la integración de IA no acceda a los datos ni modifique los sistemas más allá del alcance previsto es crucial para mantener la seguridad de los datos y la integridad del sistema. Como describimos anteriormente, los controles de acceso y los permisos de los usuarios deben definirse cuidadosamente, otorgando a los sistemas de IA solo los privilegios necesarios y limitando su acceso a fuentes o sistemas de datos específicos. Además, se deben realizar pruebas y validaciones exhaustivas de la integración de la IA para verificar que funcione según lo previsto y que no tenga consecuencias ni vulnerabilidades no deseadas.

Finalmente, implementar mecanismos de monitoreo robustos puede ayudar a detectar y alertar cualquier intento de acceso no autorizado o comportamiento anormal por parte del sistema de IA. Las auditorías y revisiones periódicas de los procesos de integración de IA y los registros de acceso pueden ayudar a identificar cualquier desviación o posibles riesgos de seguridad.

Event Monitoring ayuda a que el proceso de monitoreo y detección sea más fácil al permitir la configuración de capacidades, como la seguridad de transacciones, para enviar alertas o bloquear acciones más allá de lo que se pretendía inicialmente para su proceso de IA.

Finalmente, a medida que se adentra más en su viaje de IA, es fundamental que sus datos estén respaldados y puedan restaurarse hasta el nivel de registro en el caso poco probable de que los datos utilizados y aumentados por IA estén mal configurados o sincronizados incorrectamente. Haga una copia de seguridad de sus datos para ver cada versión de los registros utilizados y tocados por AI, y restaure cualquier error.

Conclusión

Al adoptar un enfoque que prioriza la privacidad e implementar medidas sólidas de protección de datos, puede crear una base confiable para prácticas de IA generativas responsables, sostenibles y éticas, todo mientras impulsa una innovación más eficiente y efectiva e interacciones más personalizadas con los clientes. Para obtener más información sobre cómo comenzar con la IA generativa, consulte nuestra Guía de introducción a la IA.

Recursos

Sobre el Autor

Marla Hay Vicepresidenta de Seguridad, Privacidad y Gestión de Datos en Salesforce y dirige la organización de productos de Servicios de confianza. Se unió a Salesforce en 2017 después de liderar productos en una empresa de gestión de identidad de consumidores. Marla tiene una licenciatura en Ciencias de la Computación de la Universidad de Cornell y una maestría en Ciencias de la Computación de la Universidad Johns Hopkins.

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

Cómo acelerar su éxito en la era de la IA

Cómo acelerar su éxito en la era de la IA

En el panorama en rápida evolución de la IA generativa , su verdadero potencial radica en cómo la gente la usa. Para tener éxito, las organizaciones deben adoptar una estrategia centrada en el ser humano que integre cuidadosamente la IA en la fuerza laboral . Este enfoque conecta a las personas con la nueva tecnología de inteligencia artificial para abordar las necesidades de los clientes, reducir los desafíos y generar valor rápidamente. Las organizaciones pueden lograr una mayor satisfacción de los clientes y empleados incorporando características mejoradas de IA, mejorando el rendimiento y el crecimiento y aumentando la adopción.

La realidad es que un número significativo de esfuerzos de transformación se quedan cortos. Las encuestas revelan que un asombroso 70 % de tales iniciativas fallan , lo que lleva a una implementación y adopción lentas de nuevas herramientas, obstáculos para el uso de la tecnología y resistencia a nuevas formas de trabajar. A menudo, esta falla se deriva de la falta de enfoque en la intersección crítica entre la tecnología y las personas. Pero no tiene por qué ser así.

Descubre IA + Datos + CRM con Fase 0

Los servicios profesionales de Salesforce lo ayudarán a crear un plan estratégico para el éxito a largo plazo y lo ayudarán a beneficiarse de los rápidos avances tecnológicos.

A medida que navegamos por esta nueva era, debemos cambiar nuestra mentalidad y adoptar las tendencias emergentes, los datos, los conocimientos del mercado y las abundantes oportunidades que presenta la IA. Explore las consideraciones clave para guiarlo en el camino hacia el éxito. Empodérate para navegar el poder transformador de la IA y crea un futuro donde la innovación y el potencial humano converjan sin problemas.

¿Cómo es adoptar un enfoque centrado en el ser humano para la adopción de IA? Depende de su organización y su progresión, ya que cada cultura es diferente. Sin embargo, hay ciertos aspectos del cambio que puede anticipar:

  • Coloque a las personas y su comprensión al frente de la transformación.
  • Alinear los resultados en función de las necesidades y objetivos específicos de esas personas.
  • Promover la inclusión y la adaptabilidad para abordar los diversos factores que dan forma al panorama en constante cambio.

La implementación de IA en la fuerza laboral y la cultura organizacional es una tarea compleja que abarca varios desafíos. Sin embargo, navegar este cambio puede desbloquear beneficios sustanciales. AI ofrece una nueva forma de ver el trabajo y su impacto se extenderá más allá de lo que esperamos hoy. Aborda tu transformación digital con los cinco elementos del marco de éxito del cliente de Salesforce para ser ágil frente a este nuevo estándar.

Adopte la flexibilidad para construir IA en la fuerza laboral más rápido

La IA se está desarrollando de manera rápida y difícil de predecir, por lo que planificar en torno a un punto final determinado no es una estrategia eficaz. En cambio, podemos construir los cimientos para fuerzas de trabajo preparadas para la IA que aprovechen tantas oportunidades como sea posible.

En resumen: ser una fuerza laboral lista para el cambio es ser una fuerza laboral lista para la IA.

Al adoptar una mentalidad basada en los resultados, las organizaciones desbloquean su potencial para conectarse con los clientes y lograr sus objetivos comerciales principales. Estos cambios ofrecen grandes beneficios, como ahorrar dinero a través de nuevas formas de trabajar.

Estos cambios son más exitosos cuando la centralidad humana es un enfoque principal, considerando cómo las personas experimentan el cambio. La innovación continua es clave para la evolución de la tecnología, asegurando que se alinee con las necesidades y expectativas en constante evolución de las personas y las organizaciones.

Lo que recomendamos:

  • Cultiva las habilidades de IA de tu equipo.
  • Fomente una cultura adaptativa dentro de su lugar de trabajo fomentando la experimentación.
  • Cree un marco de aprendizaje estructurado proporcionando recursos y una hoja de ruta clara para una utilización eficaz.
  • Utilice la narración para visualizar el futuro del trabajo.
  • Comience a evaluar la preparación para el cambio.

Fomentar la estabilidad para una fuerza laboral resiliente

Los líderes tienen un papel importante en la formación de la mentalidad organizacional y en el cultivo de un entorno seguro que permita a las personas buscar el crecimiento. Abra la puerta al aprendizaje de nuevas tecnologías y formas de trabajar como una habilidad fundamental para la innovación y el cambio.

Al comprender y empatizar con la respuesta emocional y humana a esta tecnología innovadora, podemos encontrar un camino claro para desbloquear su potencial más rápidamente.

Tome este enfoque:

  • Promueva la seguridad psicológica para ayudar a los equipos a desarrollar una mentalidad de principiante.
  • Proyecte una visión del estado futuro que incluya a todos.
  • Fomente un entorno que enfatice el aprendizaje continuo y reformule las nuevas herramientas habilitadas para IA.
  • Pida a los empleados que identifiquen partes de su trabajo que podrían automatizarse o aumentarse con IA.
  • Reconocer los primeros esfuerzos para adoptar nuevas tecnologías.

Genere confianza para una adopción tecnológica exitosa

Si sus empleados tienen reservas acerca de las nuevas tecnologías, es esencial abordar sus inquietudes para fomentar la aceptación y el entusiasmo. Generar confianza se convierte en un factor clave en este proceso, ya que el tema de las conversaciones en torno a la IA puede generar incertidumbre . Trate de aliviar estos temores mediante el desarrollo de una estrategia para introducir nuevas tecnologías a su fuerza laboral y empoderarlos con las habilidades necesarias.

Lograr una alineación , donde todos estén unidos en torno a un objetivo común, es crucial. Al poner énfasis en alinear la comunicación sobre el cambio y fomentar una comprensión clara de sus beneficios, influimos en cómo las personas reaccionan y adoptan las iniciativas de transformación.

Lo que puedes hacer:

  • Aborde las nuevas tecnologías como mejoras de la productividad en lugar de un reemplazo de la fuerza laboral.
  • Escuche y aborde temores específicos proporcionando mecanismos de retroalimentación adaptados a las inquietudes de sus clientes o equipo.
  • Implemente oportunidades de mejora de habilidades de inmediato.
  • Incluya a sus equipos en la toma de decisiones para que puedan adaptarse al panorama cambiante.
  • Proporcione una alternativa transparente y creíble para el futuro dentro de su equipo.

Impulse la transformación continua con
La Oficina de Innovación Continua

Los servicios profesionales de Salesforce pueden ayudarlo a elevar sus capacidades para obtener el máximo valor de su inversión en Salesforce.

Aumente la colaboración con una mentalidad de plataforma

Las organizaciones, como las personas, tienen una mentalidad de plataforma que influye en su respuesta al cambio. Algunos equipos aceptan el cambio y priorizan el crecimiento, mientras que otros se sienten más cómodos manteniendo el statu quo.

Cuando las organizaciones adoptan una mentalidad de plataforma, van más allá de ver la IA como una herramienta independiente y, en cambio, crean un entorno que fomenta las conexiones de los usuarios, el intercambio de conocimientos y el progreso colaborativo. Al comprender qué distingue a su plataforma y cómo los usuarios pueden obtener el máximo beneficio de ella, las organizaciones pueden utilizar mejor el verdadero poder de la IA en la fuerza laboral.

Intenta hacer esto:

  • Resalte los beneficios, la colaboración, los procesos simplificados y la innovación para enfatizar el valor de la IA.
  • Fomentar el intercambio, la creación de redes, el aprendizaje y el intercambio de ideas entre los usuarios.
  • Proporcione recursos integrales para ayudar a los usuarios a navegar y usar la plataforma de manera efectiva.
  • Busque comentarios, itere en función de las necesidades de los usuarios y manténgase a la vanguardia para mejorar continuamente su plataforma.

Aprovecha las oportunidades que te esperan

El cambio ocurre a la velocidad de las personas y, en la era de la IA, el ritmo de la transformación se ha acelerado exponencialmente. La oportunidad de aprovechar la IA e impulsar la innovación surge más rápido que nunca, brindando a las organizaciones una oportunidad única de mantenerse a la vanguardia y obtener una ventaja competitiva.

Descubra el potencial que tiene por delante y prepárese para el futuro. Conéctese con los servicios profesionales de Salesforce hoy para analizar sus objetivos de transformación únicos y explorar cómo nuestra experiencia puede ayudarlo a adoptar con éxito la IA en la fuerza laboral.

Seguir leyendo

Diseñe una API Swagger con código para traer datos a Salesforce ☁️

Diseñe una API Swagger con código para traer datos a Salesforce ☁️

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

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

Diseñe una API de Swagger con código para llevar datos a Salesforce | Blog de desarrolladores de Salesforce

La integración de una API externa con su organización de Salesforce puede ser una tarea sencilla que no requiere código si utilizaCredenciales con nombre y Servicios externos . Deberá crear una credencial con nombre que apunte a la API y configurar un servicio externo en la interfaz de usuario de configuración. La clave aquí es proporcionar una especificación OpenAPI para la API. Si la API no tiene una, puede diseñarla usted mismo manualmente usando YAML o JSON, usar MuleSoft Anypoint Platform o aprovechar las herramientas y el código de código abierto.

En esta publicación, le presentaremos la especificación OpenAPI y Swagger, discutiremos los elementos principales de la especificación y lo guiaremos a través del diseño e implementación de una API con código. Usaremos Node.js y Swagger dentro del marco Fastify para esta tarea. Finalmente, integraremos esta API con Salesforce.

OpenAPI y Swagger

OpenAPI es una especificación para diseñar y construir API. Proporciona una forma estandarizada de definir su API para otros, brindando una forma estructurada que incluye puntos finales, tipos de solicitud/respuesta, definiciones de esquema, métodos de autenticación y más. Las especificaciones de OpenAPI están escritas en formatos YAML o JSON, ambos fáciles de leer y escribir. Esta especificación es ampliamente adoptada y respaldada por una variedad de herramientas, lo que la convierte en una opción popular para diseñar y documentar API. De hecho, si desea importar una API a Salesforce utilizando servicios externos, deberá especificarse con OpenAPI. Además, Salesforce es miembro de la Iniciativa OpenAPI .

Nota: A la fecha de esta publicación, la versión actual de la especificación OpenAPI es 3.1.0.

Swagger , por otro lado, es un conjunto de herramientas ( la mayoría de código abierto ) para implementar la especificación OpenAPI. Incluye la interfaz de usuario de Swagger, que proporciona una interfaz gráfica para comprender y probar las API, y Swagger Codegen, que genera código SDK de cliente y apéndices de servidor a partir de una especificación OpenAPI.

La especificación OpenAPI v2 también se conoce como Swagger, pero su nombre cambió cuando se convirtió en parte de la iniciativa OpenAPI en 2016.

Estructura básica de la especificación OpenAPI

La especificación OpenAPI está organizada en las siguientes secciones clave:

API abierta Define el documento raíz y combina la lista de recursos y la declaración de la API. Requerido
Información Proporciona metadatos sobre la API, como el título, la descripción, los términos del servicio, la información de contacto, etc. Obligatorio
Servidores Especifica una o más URL base para su API, como producción o preparación.
Seguridad Define un esquema de seguridad que pueden utilizar las operaciones de la API.
Caminos Describe las rutas y operaciones disponibles para la API. Cada ruta tiene un método HTTP con los detalles de la operación.
Etiquetas Agrega metadatos a una sola etiqueta que utiliza el objeto de operación.
Documentos externos Proporciona una descripción y una URL para la documentación externa.
Componentes Define un conjunto de objetos reutilizables para diferentes aspectos de la API. Esto puede incluir esquemas, respuestas, parámetros, ejemplos, cuerpos de solicitud, encabezados, esquemas de seguridad, etc.

Para obtener una explicación más detallada de cada sección y sus correspondientes definiciones de objeto, consulte la documentación oficial de la especificación OpenAPI .

Para fines de demostración, crearemos una API para administrar una librería. Esta API contará con dos métodos HTTP: uno para enumerar los libros disponibles y otro para agregar nuevos libros. A continuación, encontrará una definición básica de esta API, centrándose en el método para listar libros ( GET /books ) y sus objetos de respuesta.

Tenga en cuenta que estamos usando tres secciones principales aquí: Información , Rutas y Componentes . Como se mencionó anteriormente, describiremos esta API a medida que la implementemos mediante código. Para este propósito, utilizaremos Fastify y Fastify Swagger.

Fastify y Fastify Swagger

Fastify es un marco web altamente eficiente y flexible para Node.js. Está diseñado para facilitar su uso y ofrecer la máxima velocidad sin comprometer la personalización. Fastify proporciona una base sólida para las aplicaciones web y las API, con funciones como la validación de solicitudes y respuestas basadas en esquemas, ganchos, complementos y registro automático. Una de sus principales ventajas radica en su ecosistema, que incluye numerosos complementos centrales y mantenidos por la comunidad.

Uno de estos complementos es fastify-swagger . Este complemento nos permite ofrecer definiciones de Swagger (OpenAPI v2) u OpenAPI v3, que se generan automáticamente a partir de sus esquemas de ruta o de una definición existente de Swagger/OpenAPI. Además, utilizará fastify-swagger-ui , un complemento que sirve una instancia de Swagger UI dentro de su aplicación.

Nota: La siguiente demostración requiere la instalación de Node.js LTS y, a la fecha de esta publicación de blog, la última versión es v18.16.0.

Comencemos a crear la API de su librería instalando Fastify CLI y generando un nuevo proyecto ejecutando:

Luego, vayamos a la carpeta del proyecto e instalemos las dependencias fastify-swagger y fastify-swagger-ui .

Nota: En esta demostración, se centrará en tres aspectos principales: agregar compatibilidad con Swagger a Fastify, definir rutas de API y delinear esquemas y tipos de respuesta. No explicaremos cómo integrar la API con una base de datos. Si está interesado en explorar la fuente completa del proyecto, está disponible en el repositorio de ejemplos de codeLive.

Agreguemos compatibilidad con Swagger a Fastify editando el archivo app.js , luego importemos Swagger y SwaggerUI y registrémoslos como complementos.

aplicación.js

En la configuración del complemento de Swagger, tiene la opción de pasar toda la definición de especificación de OpenAPI, o puede aprovechar el enfoque dinámico que ofrece el complemento. Para esta demostración, utilizará el enfoque dinámico. Dado que el único campo obligatorio es info , definirá los metadatos de su API allí, además, la sección refResolver se encarga de nombrar las referencias de definición de esquema.

Y para SwaggerUI, solo especifica la ruta donde se alojará el sitio de documentación.

Ahora vamos a crear una carpeta schemas . Aquí es donde definirá los esquemas de su API. Para esta demostración, definirá un esquema book y un esquema error .

esquemas/index.js

Los esquemas representan la estructura de los objetos con los que trabajará, tanto para los cuerpos de solicitud como para los de respuesta. Para la especificación OpenAPI, el complemento Swagger agregará automáticamente estos objetos en el campo components .

Finalmente, definamos las rutas API para GET /books y POST /books usando Fastify. Primero, deberá registrar los esquemas dentro de Fastify. Luego, especificará los objetos de respuesta y solicitud para cada ruta que haga referencia a esos esquemas.

rutas/root.js

{ // … look at the code repository for a complete implementation } ) // POST /books fastify.post( ‘/books’, { schema: { description: "Create a book", body: { $ref: ‘book#’, required: [‘author’, ‘title’] }, response: { 201: { description: ‘Returns the book that has been created’, $ref: ‘book#’ }, 500: { description: ‘Returns an error’, $ref: ‘error#’ } } } }, async (request, reply) => { const { title, author } = request.body const id = randomUUID() const client = await fastify.pg.connect() try { const { rows: books } = await client.query( ‘INSERT INTO books(id, title, author) VALUES($1, $2, $3) RETURNING *’, [id, title, author] ) const [newBook] = books reply.code(201).send(newBook) } catch (error) { reply .status(500) .send({ code: 500, message: `An error ocurred: ${error.message}` }) } finally { client.release() } } ) // GET / fastify.get(‘/’, { schema: { hide: true } }, async function (request, reply) { reply.status(301).redirect(‘/api-docs’) })
} «>

Analicemos la ruta POST /books :

  • La función fastify.post define el método HTTP.
  • El primer argumento especifica la ruta: /books.
  • El segundo argumento especifica el schema , que incluye el body : el objeto de carga útil que espera la API. (Tenga en cuenta que es una referencia al esquema del book ). También incluye varios objetos response para esa ruta, que se asignan a los códigos de estado HTTP correspondientes 201 y 500 .
  • El tercer argumento es la implementación de la ruta. En este caso, está insertando el objeto en la base de datos y devolviendo el nuevo objeto. Si este proceso falla, devolverá un objeto de error. Es importante tener en cuenta que está utilizando los mismos esquemas que definió anteriormente.

Nota: También tiene la opción de excluir ciertas rutas de la documentación pasando hide: true en el objeto de esquema de esa ruta específica, como se demuestra en GET / route.

Su API está lista, así que ejecútela localmente para echar un vistazo a la interfaz de SwaggerUI ejecutando:

Y navegue a http://localhost:3000/api-docs para ver las diferentes rutas, su documentación y tener una forma de probarlas directamente desde la interfaz.

Si desea probarlo e implementarlo en Heroku, asegúrese de actualizar el script start en el archivo package.json con lo siguiente.

Además, asegúrese de tener acceso a una base de datos Heroku PostgreSQL y cree el esquema de la base de datos ejecutando:

<dx-code-block title language code-block="heroku pg:psql

Nota: El archivo database.sql está disponible en el repositorio de ejemplos de codeLive.

Luego puede implementarlo ejecutando:

Si desea ver cómo se ve implementado, vea mi versión que se ejecuta en Heroku .

Integración de una API externa con Salesforce

Ahora que tiene una API de acceso público, integrémosla con Salesforce como un servicio externo.

Primero, deberá crear una credencial con nombre para esta API. En la interfaz de usuario de configuración, vaya a Seguridad > Credenciales con nombre y cree una credencial externa con un protocolo de autenticación personalizado y una entidad de seguridad.

Asegúrese de que la credencial externa tenga una entidad principal a la que le haya asignado permisos en Acceso principal de credenciales externas en su conjunto de permisos.

Luego, cree una credencial con nombre que haga referencia a la credencial externa con la URL que apunta a la API pública.

A continuación, vaya a Integraciones > Servicios externos y agregue un nuevo servicio externo desde una especificación de API, seleccione la credencial con nombre y configure la ruta relativa a la ruta de especificación de OpenAPI. En su demostración, será /api-docs/json .

Después de eso, guarde sus cambios y seleccione las operaciones que desea importar a Salesforce, revise las operaciones y finalice.

Como puede ver, las operaciones que ha seleccionado se han importado correctamente, especificando tanto los parámetros de entrada como los de salida.

Ahora podrá invocar este servicio externo desde Flow, Apex, Einstein Bots y OmniStudio.

Conclusión

OpenAPI y los servicios externos de Salesforce brindan una poderosa combinación para integrar API externas en su organización de Salesforce. Al aprovechar el enfoque estandarizado de OpenAPI para definir las API y la capacidad de Salesforce para consumir fácilmente estas definiciones e invocarlas desde soluciones de código bajo y pro-código, los desarrolladores como usted pueden optimizar el proceso de conexión a servicios externos y mejorar las capacidades de sus aplicaciones de Salesforce.

Si está interesado en obtener más información sobre los servicios externos , puede encontrar una lista de recursos de aprendizaje a continuación, incluidos videos que muestran cómo invocarlos desde Flow y Apex.

Recursos de aprendizaje

Sobre el Autor

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 en Twitter @julian_duque, @julianduque.co en Bluesky social o 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

Herramientas para desarrolladores desde cero (Parte 1 de 2) ☁️

Herramientas para desarrolladores desde cero (Parte 1 de 2) ☁️

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.

Herramientas para desarrolladores desde cero (Parte 1 de 2) | Blog de desarrolladores de Salesforce

Tanto si es un nuevo desarrollador que acaba de empezar su carrera en el ecosistema de Salesforce como si es un desarrollador experimentado de Salesforce que aún no se ha cambiado a nuestras nuevas herramientas para desarrolladores, esta serie de publicaciones de blog es para usted. Le mostraremos cómo configurar y utilizar las herramientas que pueden ayudar a todos los desarrolladores de Salesforce a ser mucho más productivos y felices.

Antes de que empieces

Si es nuevo en Salesforce y no tiene una organización (instancia de Salesforce) disponible para practicar, regístrese en una organización Developer Edition . Es completamente gratis y tiene la mayoría de las funciones de Salesforce preinstaladas para que pruebe y aprenda. Deberá proporcionar un nombre de usuario en forma de dirección de correo electrónico, pero no es necesario que sea uno real. Es solo un nombre de usuario que debe ser único en todos los productos de Salesforce. Después de solicitar una organización, recibirá un correo electrónico con los pasos para iniciar sesión. Tome nota del nombre de usuario de la organización que proporcionó, ya que tendrá que usarlo más adelante.

Si es un desarrollador de Salesforce establecido y un usuario de Developer Console, este es el momento adecuado para adoptar las nuevas herramientas de desarrollador. Si bien Developer Console puede ser una forma rápida de cambiar algunas líneas de código, usar las herramientas más modernas cambiará las reglas del juego, ya que incluyen un montón de capacidades que simplificarán su trabajo. Usar las nuevas herramientas requiere un cambio de hábitos al principio, pero te prometo que muy pronto entenderás sus beneficios. Además, tenga en cuenta que ya no estamos invirtiendo en Developer Console, y problemas como la falta de soporte para Lightning Web Components son algo que no abordaremos.

Instalación de las herramientas de desarrollador

Los metadatos de su organización están en la nube, pero para desarrollarse de una manera más productiva, desarrollará localmente. El modus operandi será trabajar con los metadatos en su máquina local y sincronizarlos con su organización, lo que significa recuperarlos o implementarlos cuando sea necesario.

Una alternativa al desarrollo local es usar Code Builder (Beta) , un IDE basado en web que puede iniciar desde su organización y que tiene las herramientas de desarrollador instaladas. Sin embargo, en este blog, nos centraremos en el flujo de trabajo de desarrollo local.

El primer paso es instalar las siguientes herramientas en su máquina:

  • CLI de Salesforce : esta es la herramienta de interfaz de línea de comandos que utilizará para escribir comandos para mover su código entre su entorno local y su organización, ejecutar pruebas, implementar datos de muestra y mucho más. Si no le gusta escribir comandos en una terminal, no tema, ya que tenemos opciones alternativas como se describe en esta publicación de blog.
  • Código VS : este es el IDE que usará para desarrollar en su máquina local.
  • Java : algunas funciones en las extensiones de Salesforce para VS Code dependen de la plataforma Java, kit de desarrollo de edición estándar (JDK). Instálelo siguiendo las instrucciones vinculadas.
  • Extensiones de Salesforce para VS Code : Este es un grupo de extensiones de VS Code que aumentan las capacidades de VSCode, exponiendo la mayoría de los comandos de la CLI de Salesforce en la interfaz de usuario de VS Code, para que pueda ejecutarlos con clics. Las extensiones también agregan funciones para habilitar la depuración, facilitar las pruebas, permitirle explorar los metadatos en su organización y más.

Creación de un proyecto de Salesforce DX

Cuando trabaja con los metadatos de una organización localmente, los archivos de metadatos deben almacenarse en una carpeta de proyecto, siguiendo una estructura determinada. Eso es lo que llamamos un proyecto de Salesforce DX.

Una vez instaladas las herramientas para desarrolladores, puede continuar y crear un proyecto de Salesforce DX que luego conectará a su organización. Una forma de hacerlo es escribir un comando que utilice la CLI de Salesforce para crear el proyecto. Puede escribir ese comando en una terminal normal.

sf project generate -n myProject

Nota: la CLI de Salesforce contiene dos ejecutables, sfdx y sf . En este blog, escribiremos los comandos utilizando el ejecutable y la sintaxis más modernos, que es sf .

El indicador -n indica el nombre del proyecto. La CLI de Salesforce aplicará scaffolding a un proyecto en una carpeta con ese nombre. Una vez que se crea el proyecto, puede abrirlo en VS Code, con File → Open Folder .

Gracias a las extensiones de Salesforce para VS Code, existe una forma sin escribir para ejecutar los comandos de la CLI de Salesforce. Simplemente abra la paleta de comandos de VS Code con View → Command Palette y escriba SFDX para ver todos los comandos disponibles. También podríamos haber creado el proyecto con SFDX: Create Project en lugar de escribir el comando.

Autorizar y establecer una organización como predeterminada

Una vez que su proyecto esté configurado, el siguiente paso es autorizar la CLI de Salesforce para que funcione con su organización. Comencemos esta vez con la forma de hacerlo sin escribir. Cuando abra el proyecto por primera vez, simplemente haga clic en el botón Sin conjunto de organizaciones predeterminado y aparecerá la paleta de comandos, sugiriendo que autorice una organización. Proceda siguiendo las instrucciones del comando.

Otra forma de hacerlo es ejecutar un comando CLI de Salesforce. Esta vez, y de ahora en adelante, le recomiendo que use el terminal integrado de VS Code para ejecutar comandos, ya que tener todas las herramientas en la misma pantalla reduce el cambio de contexto. Puede abrirlo en Terminal → New Terminal .

El comando CLI de Salesforce utilizado para autorizar una organización es:

sf org login web -s

Luego, siga las instrucciones dadas por el comando. El indicador -s configurará esa organización como su organización predeterminada para este proyecto. Puede ver la organización predeterminada de su proyecto en la barra inferior de VS Code.

Todos los comandos de la CLI de Salesforce tienen varios indicadores disponibles. Por ejemplo, si desea conectarse a una zona de pruebas, puede pasar la URL de la instancia de la zona de pruebas a sf org login web usando -r . Para ver la ayuda del comando y todos sus indicadores disponibles, ejecute el comando agregando --help al final.

Cuando trabaja con varias organizaciones, será común autorizar la CLI de Salesforce con varias organizaciones. Puede ver las organizaciones a las que la CLI de Salesforce tiene autorización para acceder ejecutando sf org list . Puede cambiar la organización predeterminada de un proyecto haciendo clic en el nombre de la organización en la barra inferior de VS Code, como hicimos para autorizar por primera vez, o ejecutando:

sf config set target-org=your-org-username@sf.com

Permítanme compartir con ustedes un último consejo. Las organizaciones pueden tener alias. Esto es útil cuando no desea recordar nombres de usuario largos o complejos. Para establecer un alias, escriba el siguiente comando.

sf alias set myalias=your-org-username@sf.com

Cuando se establece un alias, puede utilizar el alias en lugar del nombre de usuario de la organización en cualquiera de los comandos de la CLI de Salesforce.

Implementación de metadatos en la organización

Una vez que la CLI de Salesforce y su IDE estén autorizados con su organización, y la organización esté configurada como la organización predeterminada para su proyecto, puede comenzar a desarrollar e implementar cambios. Por ejemplo, digamos que queremos crear una clase de Apex. Puede crear el archivo de metadatos que representa la clase de Apex manualmente en la carpeta classes . Sin embargo, es mucho más efectivo crear la clase desde la paleta de comandos.

También puede crear una clase escribiendo el siguiente comando de la CLI de Salesforce:

sf apex generate class -n myClass -d force-app/main/default/classes

Una vez que su clase esté lista para implementarse en su organización, hay varias formas de hacerlo. Una forma es especificar los metadatos en el comando.

sf project deploy start -m ApexClass

Una segunda forma es especificar una carpeta para implementar.

sf project deploy start -p force-app/main/default/classes

Y una tercera forma, disponible gracias a Salesforce Extensions for VS Code, es hacer clic con el botón derecho en el archivo y hacer clic en Deploy This Source to Org .

Todas esas opciones le permiten ejecutar las implementaciones usted mismo. Si desea automatizar este paso e implementar un archivo cada vez que se guarda, puede establecer la configuración Implementar al guardar VS Code en "Verdadero" y ahorrar algo de tiempo.

Cuando se implementan sus metadatos, normalmente querrá abrir su organización para realizar pruebas. Puede iniciar sesión utilizando su navegador como de costumbre. Pero para los desarrolladores, es más eficiente hacer clic en el botón de abrir organización en la barra inferior de VS Code.

Conclusión

En esta publicación de blog, aprendió cómo obtener una organización gratuita para el desarrollo y cómo instalar las herramientas de desarrollo que todo desarrollador de Salesforce debería usar hoy. Ha entendido cómo crear un proyecto y autorizarlo con su organización y, por último, cómo implementar metadatos mediante la CLI de Salesforce o VS Code. En la Parte 2 de esta serie, aprenderá cómo recuperar metadatos, trabajar con organizaciones con seguimiento de origen y usar bibliotecas de Node para cuidar la calidad de su código. Además, compartiremos otras gemas ocultas de las extensiones de Salesforce para VS Code. Si te gusta un formato de video, mira nuestro episodio de codeLive . Y si tiene preguntas, no dude en hacerlas en Salesforce Developers Trailblazer Community . ¡Estén atentos para la segunda publicación de blog de esta serie mañana!

Sobre el Autor

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Herramientas para desarrolladores desde cero (Parte 2 de 2) ☁️

Herramientas para desarrolladores desde cero (Parte 2 de 2) ☁️

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.

Herramientas para desarrolladores desde cero (Parte 2 de 2) | Blog de desarrolladores de Salesforce

Tanto si es un nuevo desarrollador que acaba de empezar su carrera en el ecosistema de Salesforce como si es un desarrollador experimentado de Salesforce que aún no se ha cambiado a nuestras nuevas herramientas para desarrolladores, esta serie de publicaciones de blog es para usted. Le mostraremos cómo configurar y utilizar las herramientas que pueden ayudar a todos los desarrolladores de Salesforce a ser mucho más productivos y felices.

En la Parte 1 de esta serie , discutimos cómo obtener una organización gratuita para el desarrollo y cómo instalar las herramientas de desarrollo que todo desarrollador de Salesforce debería usar hoy. Le mostramos cómo crear un proyecto y autorizarlo con su organización y, finalmente, cómo implementar metadatos mediante la CLI de Salesforce o VS Code. En esta segunda publicación de blog, aprenderá cómo recuperar metadatos, trabajar con organizaciones con seguimiento de origen y usar bibliotecas de Node para cuidar la calidad de su código. Además, compartiremos otras gemas ocultas de las extensiones de Salesforce para VS Code. ¡Vamos a sumergirnos en él!

Recuperar metadatos de la organización

Un pilar del desarrollo de Salesforce es ser eficiente sin reinventar la rueda. Es por eso que hay muchas herramientas de código bajo disponibles que le permiten crear y modificar metadatos directamente en su organización con solo hacer clic. Es posible que vea estas herramientas a las que se hace referencia como herramientas de "apuntar y hacer clic" o herramientas "declarativas". Algunos metadatos típicos que crea con clics son páginas, aplicaciones y flujos.

Estos metadatos son algo que puede recuperar en su proyecto local y continuar ampliándolos con código si es necesario. De hecho, la mejor práctica es recuperar los metadatos de su organización y almacenarlos en un sistema de control de versiones como Git. Pero dejemos este tema para otra entrada del blog.

Si crea o modifica metadatos con clics en su organización y conoce el nombre del tipo de metadatos que desea recuperar, puede hacerlo ejecutando este comando:

sf project retrieve start -m FlexiPage

Los nombres de los tipos de metadatos pueden no ser obvios al principio. Afortunadamente, hay algo muy bueno que puede usar para ver todos los metadatos que existen en su organización y recuperar lo que necesita: Org Browser. El navegador de la organización se agrega a VS Code gracias a las extensiones de Salesforce para VS Code. Ábralo haciendo clic en el ícono de la nube en el panel lateral izquierdo de VS Code, busque los metadatos que necesita y simplemente haga clic en recuperar.

Puede encontrar una lista completa de nombres de tipos de metadatos en la Guía para desarrolladores de la API de metadatos .

Una última opción: si los metadatos ya existen en su proyecto local y desea recuperar una versión actualizada, puede hacer clic con el botón derecho en el archivo y seleccionar Retrieve Source from Org .

Un requisito común para las organizaciones existentes será recuperar todos los metadatos de la organización por primera vez y almacenarlos en el proyecto local (y, por lo general, en un sistema de control de versiones). Este es un tema más avanzado, pero si quieres aprender cómo hacerlo, te recomiendo ver este video Quick Take .

Trabajar con organizaciones con seguimiento de origen

En esta publicación de blog, nos hemos centrado en las organizaciones que no tienen activado el seguimiento de fuentes. Esta es la opción predeterminada para las organizaciones y sandboxes de desarrolladores, aunque, en los sandboxes de desarrolladores, se puede activar el seguimiento de origen. Existe otro tipo de organización, denominada organización borrador, que tiene activado el seguimiento de origen de forma predeterminada.

La principal diferencia con las organizaciones con seguimiento de origen, con respecto a la implementación y recuperación de código, es que los cambios de metadatos se rastrean automáticamente. Eso significa que puede simplificar los comandos de implementación y recuperación, simplemente escribiendo:

sf project deploy start

o

sf project retrieve start

La CLI detectará automáticamente todo lo que haya cambiado en su organización o en su proyecto local y lo implementará o recuperará en consecuencia. Este es un cambio de juego para los desarrolladores, ya que no tener que especificar los metadatos o la carpeta para recuperar o implementar lo convierte en un desarrollador mucho más productivo. Lea la documentación para comenzar con el seguimiento de fuentes en Sandboxes u organizaciones Scratch .

Cuidando la calidad del código con las bibliotecas de Node

Cuando genera un proyecto, también contendrá un archivo package.json . Este archivo define el proyecto como un proyecto de Node.js. La CLI de Salesforce y la Extensión de Salesforce para su IDE estructuran el proyecto de esta manera, para que pueda ejecutar secuencias de comandos que cuidan la calidad de su código. Los scripts usan bibliotecas que se definen en la sección devDependencies de package.json y deben descargarse en su proyecto local ejecutando el comando npm install . Ninguna de las bibliotecas de Node se implementará en su organización, solo se usarán en su máquina local.

Aquí hay un resumen de lo que hacen las bibliotecas:

  • Prettier se usa para formatear su código siguiendo criterios configurables. Esto es extremadamente útil cuando varios desarrolladores trabajan en el mismo proyecto, ya que tienen una forma unificada y automatizada de formatear el código. También proporcionamos un complemento Prettier específico para formatear las clases de Apex.
  • ESLint lo ayuda a encontrar y solucionar problemas con su código JavaScript. Además, proporcionamos un complemento ESLint diseñado para filtrar el código JavaScript de Lightning Web Components.
  • sfdx-lwc-jest se utiliza para escribir y ejecutar pruebas de Jest para sus componentes web Lightning. sa11y es un complemento para escribir pruebas de accesibilidad y asegurarse de que sus componentes sean accesibles.

El punto de entrada para usar las bibliotecas son los scripts definidos en la sección scripts .

Los scripts se pueden ejecutar localmente, bajo demanda y de forma automatizada. Por lo general, estos scripts se ejecutan automáticamente antes de enviar su código a un repositorio de código al fusionar su código con código desarrollado por otros, o al mover cambios entre entornos en su canalización. Esto garantiza que el código tenga la calidad esperada y que su funcionalidad no se rompa. Este concepto se conoce como integración continua, y puede ver un buen video de codeLive al respecto.

El uso de estas bibliotecas no es obligatorio, pero recomendamos encarecidamente hacerlo. Para saber más sobre este tema, lee nuestra entrada de blog .

Otras joyas de las Extensiones de Salesforce para VS Code

Eso no es todo sobre las extensiones de Salesforce. Agregan a VS Code muchas más capacidades, como resaltado de sintaxis, finalización de código y validación de CSS para Lightning Web Components, Aura Components, Apex, SOQL y Visualforce.

También muestran una pestaña de prueba que hace que sea mucho más fácil ejecutar y escribir pruebas de Apex y Lightning Web Components.

Y, por último, también facilitan la depuración de Apex, gracias a Apex Replay Debugger .

Además de eso, algo muy bueno de VS Code es que puede agregar toneladas de extensiones creadas por desarrolladores de todos los diferentes ecosistemas. Hay extensiones para ayudarlo con el control de versiones y con el análisis estático de código (como PMD ). Existen extensiones para Prettier y ESLint que te dan avisos cuando el código no cumple con sus reglas. Hay extensiones para casi todo lo que pueda necesitar, ¡incluso para usar Chat GPT! Eche un vistazo al VS Code Marketplace para ver todas las extensiones disponibles o, mejor aún, ¡cree la suya propia!

Conclusión

¡Vaya, eso fue mucho! En esta publicación de blog, aprendió sobre las herramientas de desarrollador que todo desarrollador de Salesforce debe conocer y utilizar. Al dominar estas herramientas, se convertirá en un desarrollador mucho más productivo, rápido y feliz. Si quieres aprender todo este contenido en formato de video, mira nuestro episodio de codeLive . Si trabaja con sandboxes, puede ampliar su conocimiento sobre cómo trabajar con sandboxes y la CLI de Salesforce leyendo nuestra serie de publicaciones de blog . Y si tiene preguntas, no dude en hacerlas en Salesforce Developers Trailblazer Community . ¡Feliz codificación!

Sobre el Autor

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Eliminación definitiva de registros con Salesforce Flow

Eliminación definitiva de registros con Salesforce Flow

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

Gran idea o pregunta duradera:

  • ¿Cómo eliminar registros de Salesforce utilizando Flow?

Objetivos:

Después de leer este blog, podrá:

  • Comprender la anotación @InvocableMethod
  • Más información sobre el método database.emptyRecycleBin
  • Configurar la acción de Apex para eliminar registros de forma permanente de Flow
  • Configurar el flujo de pantalla con el elemento Eliminar registro
  • Y mucho más

¿Qué es la eliminación completa?

La eliminación definitiva es la eliminación permanente de los registros especificados de la Papelera de reciclaje. Cuando los datos se eliminan de forma permanente, es casi imposible recuperarlos. Esto generalmente se logra a través de los métodos Database.EmptyRecycleBin .

Al vaciar los contenedores de reciclaje, tenga en cuenta las siguientes reglas y pautas:

  • Una vez que los registros se eliminan de la Papelera de reciclaje mediante esta llamada, se pueden consultar mediante queryAll() durante algún tiempo. Por lo general, este tiempo es de 24 horas, pero puede ser más corto o más largo.
  • Una vez que los registros se eliminan mediante la llamada Database.EmptyRecycleBin , no se pueden recuperar.

Warren Mason es administrador de sistemas en Gurukul on Cloud (GoC). En GoC están utilizando Salesforce Flow para optimizar los procesos de ventas. Warren tiene un requisito para eliminar clientes potenciales sin correo electrónico. Está construyendo un flujo de pantalla:

  1. Descubra todos los clientes potenciales sin correo electrónico
  2. Eliminar definitivamente tales clientes potenciales

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

Si bien esto se puede resolver con varias herramientas de automatización como Apex Trigger y otras, usaremos Salesforce Flow y llamaremos a un método de Apex . Para llamar a un método de Apex , agregue el elemento Acción a su Flujo de Salesforce y seleccione una clase de Apex con una anotación @InvocableMethod .

En este artículo, usaremos la llamada clase de base de datos EmptyRecycleBin . Con Database.EmptyRecycleBin es posible borrar los registros de Salesforce. El método EmptyRecycleBin() elimina los registros de la papelera de reciclaje inmediatamente. A partir del lanzamiento de Summer'23 , no es posible acceder directamente al método EmptyRecycleBin desde Flow, por eso estamos usando la clase Apex Invocable.

Antes de discutir la solución, permítame mostrarle un diagrama del proceso a un alto nivel. Dedique unos minutos a revisar el siguiente diagrama de flujo para comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito comercial de Warren usando Screen Flow . Debemos:

  1. Cree una clase de Apex y una clase de prueba para eliminar registros de forma permanente de la Papelera de reciclaje.
  2. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue un elemento Obtener registros para encontrar todos los clientes potenciales sin dirección de correo electrónico
    3. Agregue un elemento de decisión para verificar los clientes potenciales encontrados o no (del paso 2)
    4. Agregue el elemento Eliminar registros para eliminar clientes potenciales
    5. Agregar acción: llame a Empty RecycleBin Invocable Apex Class

Paso 1: Cree una clase de Apex y una clase de prueba

Ahora, tenemos que comprender una nueva anotación de Apex, es decir, @InvocableMethod . Esta anotación nos permite usar un método de Apex como algo que se puede llamar desde Flow y Apex. Los métodos invocables se llaman con la API REST y se usan para invocar un solo método de Apex. Los métodos invocables tienen valores de entrada y salida dinámicos y admiten llamadas de descripción.

La anotación InvocableVariable identifica una variable de clase utilizada como parámetro de entrada o salida para la acción invocable de un método InvocableMethod. Si crea su propia clase personalizada para usarla como entrada o salida de un método invocable, puede anotar variables de miembros de clase individuales para que estén disponibles para el método.

La anotación de variable invocable admite los modificadores que se muestran en este ejemplo.


@InvocableVariable(label='variableLabel' description='variableDescription' requerido=(verdadero | falso))

La clase EmptyRecycleBin contiene dos variables, una para eliminar un solo registro y otra para manejar la eliminación de varios registros. Siéntase libre de pasar el valor a una o ambas variables según sea necesario. Cree la siguiente clase en su organización.


clase pública EmptyRecycleBin { @InvocableMethod(label='Papelera de reciclaje vacía' description='Eliminar permanentemente los registros de la Papelera de reciclaje.' iconName='slds:estándar:record_delete' categoría = 'Acciones de Apex personalizadas') ejecución de vacío estático público (Lista <Solicitudes> lista de solicitudes) { List<SObject> recordstoDelete = New List<SObject>(); para (Solicitudes req: lista de solicitudes) { if(req.obj != null){ recordstoDelete.add(req.obj); } if(req.listofSObjects != null){ recordstoDelete.addAll(req.listofSObjects); } } if(registrosparaEliminar.tamaño()>0){ Database.emptyRecycleBin(registrosparaEliminar); } } Solicitudes de clases públicas{ @InvocableVariable (descripción ='Aceptar un registro de tipo SObject.' requerido=falso) objeto público SObject; @InvocableVariable (descripción ='Aceptar múltiples registros de un tipo SObject.' requerido=falso) public List<SObject> listofSObjects; }
}

Copie el código de GitHub o instálelo usando esta URL .

Paso 2.1: Definir propiedades de flujo

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

Paso 2.2: Adición de elementos Obtener registros para encontrar clientes potenciales sin correo electrónico

El siguiente paso es usar el objeto Prospecto para encontrar los prospectos sin dirección de correo electrónico.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione el objeto Prospecto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Correo electrónico
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.EmptyString}
  6. Cuántos registros almacenar:
    1. Seleccionar todos los registros
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .

Paso 2.3: uso del elemento de decisión para verificar la variable de recopilación de registros (del paso 2)

Ahora usaremos el elemento Decisión para comprobar la Variable de recopilación de registros del paso 2 para saber si devuelve el cliente potencial o no.

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

Paso 2.4: Agregar acción: eliminar registros para eliminar clientes potenciales

El siguiente paso es eliminar los clientes potenciales que encontramos en el Paso 2.2 . Para ello utilizaremos el elemento Eliminar Registros .

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Eliminar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Para Cómo encontrar registros para eliminar, seleccione Usar los ID almacenados en una variable de registro o una variable de colección de registros .
  4. Selecciona el   {!Get_Leads} de la lista desplegable.
  5. Haga clic en Listo.

Paso 2.5: Adición de una acción para llamar a una clase de Apex invocable

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acción .
  2. Seleccione la clase de Apex invocable EmptyRecycleBin .
  3. Ingrese un nombre en el campo Etiqueta : el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada:
    1. Objeto para “listofSObjects” (Entrada) : Lead
    2. Objeto para "obj" (Entrada) : Plomo
  5. Almacenar valores de entrada
    1. listofSObjects : {!Get_Leads}
  6. Haga clic en Listo .

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

Una vez que todo se vea bien, guarde el flujo.

Prueba de concepto

  1. Creé 201 clientes potenciales sin una dirección de correo electrónico para probar el flujo anterior.
  2. Ahora ejecute el flujo de pantalla y espere a que se complete el flujo.
  3. Vuelva a la Papelera de reciclaje para asegurarse de que los clientes potenciales se hayan eliminado definitivamente.

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Contact Centers vs. Call Centers: ¿Cuál es la diferencia?

Contact Centers vs. Call Centers: ¿Cuál es la diferencia?

Los términos centro de llamadas y centro de contacto a menudo se usan indistintamente y, aunque ambos son centros de atención al cliente, no son exactamente lo mismo. Los centros de llamadas se enfocan únicamente en las comunicaciones telefónicas, mientras que los centros de contacto modernos brindan soporte a través de una variedad de canales, que incluyen teléfono, correo electrónico, chat en vivo, artículos de conocimiento de autoservicio y chatbots. Profundicemos en las diferencias entre un centro de contacto y un centro de llamadas, para que pueda decidir el mejor enfoque de servicio al cliente para su negocio.

Los clientes de hoy tienen grandes expectativas para las empresas con las que hacen negocios. Descubrimos que el 94% de los clientes dicen que una experiencia positiva de servicio al cliente los hace más propensos a realizar una compra nuevamente. Sin embargo, solo el 13% de los clientes dicen que pueden resolver sus problemas con poco esfuerzo.

¿Cómo es una experiencia positiva del cliente? Se trata de reunirse con los clientes donde están, utilizando los métodos de comunicación y la tecnología que prefieren, y brindando una variedad de opciones de servicio, en lugar de limitar el servicio solo por teléfono. A medida que las preferencias de los clientes evolucionan con la tecnología, más centros de llamadas se están transformando en centros de contacto .

Modernice su centro de contacto

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

¿Qué es un centro de llamadas?

Un centro de llamadas es un grupo de servicio al cliente remoto o local que brinda servicio al cliente por teléfono. Los centros de llamadas pueden emplear desde unos pocos agentes para pequeñas y medianas empresas hasta cientos para grandes corporaciones.

Cada agente generalmente maneja varias llamadas telefónicas por día para ayudar con los problemas de los clientes, desde consultas de facturación hasta problemas técnicos complejos. Algunos centros de llamadas utilizan software de administración de relaciones con los clientes (CRM) para resolver problemas más rápido y proporcionar a los agentes datos de clientes, pero muchos centros de llamadas todavía están trabajando para adoptar esta tecnología.

Un centro de contacto es un centro de servicio al cliente que proporciona una variedad de canales de comunicación, incluidos teléfono, correo electrónico, redes sociales, chat, SMS y mensajería, videoconferencia , uso compartido de pantalla y más. Los agentes suelen tener la experiencia para trabajar en todos estos canales o en un subconjunto especializado según la estructura de su equipo.

Un centro de contacto también utiliza la tecnología CRM para capacitar a los agentes para ayudar a los clientes, acelerar los tiempos de respuesta y brindar interacciones y ofertas personalizadas.

Las preferencias de comunicación del cliente varían ampliamente. Alguien que está en movimiento puede marcar una línea de servicio al cliente, mientras que alguien en su escritorio puede comunicarse con un agente a través del chat en vivo.

Cuando los centros de contacto enrutan las solicitudes de múltiples canales a los agentes de servicio en función de su disponibilidad y conjunto de habilidades, los agentes de servicio pueden realizar múltiples tareas y aumentar su eficiencia.

Una métrica clave para el éxito del centro de contacto es la reducción del trabajo manual de los agentes. Los agentes tienen tareas como notas de casos, transferencias de datos y enrutamiento de llamadas, lo que puede reducir la velocidad y la eficiencia del servicio que brindan.

Los centros de contacto utilizan la automatización y la inteligencia artificial (IA) para reducir estas tareas de la carga de trabajo de sus agentes para que puedan concentrarse en resolver los problemas de los clientes y brindar una experiencia de servicio perfecta. Estas tecnologías pueden hacer cosas como transcribir automáticamente llamadas telefónicas, sugerir respuestas de chat en vivo o encontrar artículos de ayuda para que los agentes los compartan con los clientes.

La IA generativa está facilitando aún más la eficiencia. Cuando se aplica al servicio, la IA generativa puede tomar datos del cliente, como una consulta del cliente o información de la cuenta, y crear algo nuevo a partir de ellos. Algunos ejemplos de estos poderosos casos de uso incluyen la generación automática de artículos de conocimientos basados en datos de resolución de casos, brindar respuestas personalizadas a preguntas de chat en vivo y extraer datos en tiempo real para ayudar a los agentes a resolver los problemas de los clientes rápidamente.

Los centros de llamadas tienen un enfoque singular: brindar un servicio de calidad por teléfono. Los centros de contacto adoptan un enfoque omnicanal que muchos consumidores encuentran más conveniente (ya no hay que esperar en la línea telefónica ni escuchar la serenata de la música del ascensor).

Elección de canal

Sus clientes solo quieren que sus problemas se resuelvan lo más rápido posible. Al final del día, debe reunirse con ellos donde están a través de sus canales de comunicación preferidos, que variarán según el tipo de servicio o producto que ofrezca.

Con un centro de contacto, puede llegar a los clientes en estos canales:

  • Teléfono
  • Correo electrónico
  • Medios de comunicación social
  • Formularios en línea
  • Bases de conocimiento
  • Portales de autoservicio para clientes
  • Chat en línea/soporte en vivo
  • aplicaciones de mensajería
  • Texto/SMS
  • Aplicaciones móviles
  • Comunidades y foros de discusión
  • Soporte de vídeo

Su industria influirá en gran medida en los canales de servicio al cliente que brinda su empresa. ¿Eres una empresa de servicios públicos? Entonces, el autoservicio , los SMS y el teléfono son fundamentales para su centro de contacto. ¿Qué tal un minorista de comercio electrónico? Sus clientes ya están comprando en línea; poder comunicarse con usted a través de la web o el chat móvil probablemente sea importante para ellos.

A pesar de la expansión y aceptación de los canales digitales y la variedad de preferencias de los clientes, el 81 % de los profesionales de servicios dicen que el teléfono es un canal preferido para problemas complejos, por lo que incluso los centros de contacto digitales deben mantener abiertas las líneas telefónicas.

Servicio al cliente personalizado

Una diferencia importante entre un centro de llamadas y un centro de contacto es el uso de los datos del cliente y la tecnología CRM para brindar un servicio al cliente personalizado.

Cuando el teléfono es la única opción para ponerse en contacto con una empresa, las interacciones tienden a ser simples, como restablecer la contraseña de una cuenta o hacer una pregunta, y menos frecuentes con el mismo cliente. Y dado que la tecnología CRM solo la utilizan algunos centros de llamadas, los agentes pueden tener información limitada sobre un cliente y sus preferencias.

Los centros de contacto tienden a manejar tareas más complejas. Los problemas más simples de los clientes generalmente se resuelven a través de canales de bajo contacto (piense en artículos de autoservicio, chatbots , SMS o chat en vivo), mientras que los problemas más complejos se manejan por teléfono.

Un agente de servicio en un centro de contacto usa la instancia de CRM de la empresa para hacer referencia a interacciones pasadas , ver qué productos o paquetes tiene actualmente el cliente y brindar opciones personalizadas de ventas cruzadas o adicionales. Esto es posible gracias a la integración de los datos de ventas, servicios, marketing y comercio, todos canalizados a través de una única plataforma de CRM.

Habilidades de agente

Su elección de centro de contacto frente a centro de llamadas también se reducirá a las habilidades de sus agentes y al presupuesto y los recursos disponibles para la capacitación de agentes.

Dado que los agentes del centro de contacto utilizan más canales digitales y asincrónicos que los centros de llamadas, deben poder realizar múltiples tareas y deben sentirse cómodos con la tecnología digital. Los agentes del centro de llamadas, por otro lado, deben pensar rápidamente y mantener la calma para reducir las situaciones en tiempo real.

Los agentes de servicio al cliente deben tener la combinación correcta de habilidades blandas y duras para cumplir con las expectativas del cliente. Cuando se trata de habilidades blandas, deben ser comunicadores y oyentes competentes, buenos pensadores críticos y solucionadores de problemas, y ser capaces de resolver conflictos en situaciones tensas. Cuando se trata de habilidades duras, necesitan saber cómo usar tableros, herramientas de servicio, consolas, herramientas de automatización y acceso a datos de clientes para hacer bien su trabajo y hacer recomendaciones más personalizadas a los clientes en tiempo real.

Los centros de llamadas son más sencillos de operar, con altos costos operativos provenientes de la plantilla y los sistemas telefónicos o el software. Su simplicidad puede ser atractiva para las empresas que desean evitar complicar demasiado su estrategia de servicio al cliente, especialmente si tienen una base de clientes pequeña y conocida que prefiere obtener el servicio por teléfono.

Por el contrario, los centros de contacto personalizan la experiencia del cliente al proporcionar varios canales de servicio según las preferencias del cliente. Esto facilita que los problemas se resuelvan de forma asincrónica y los problemas más complejos se resuelvan por teléfono. Este enfoque rentable es lo que llamamos " Cambio a escala ".

El 48% de los clientes han cambiado de marca para un mejor servicio al cliente.

Informe de estado del cliente conectado de Salesforce

Si bien los centros de contacto generalmente tienen costos continuos más altos debido a las licencias de software, sus clientes tienen una mejor experiencia de servicio cuando pueden elegir cómo interactúan con su negocio. Esto significa que sus clientes se sienten satisfechos o incluso encantados después de una interacción de servicio, lo que conducirá a una puntuación CSAT más alta , una mayor lealtad del cliente y generará más ingresos de clientes repetidos y renovados.

Estrategia de call center vs. contact center

Si no está seguro de qué estrategia de servicio al cliente es adecuada para usted, hágase las siguientes preguntas:

  • ¿Qué tan grande es la base de clientes que atiendes?
    • R: Daremos servicio a un grupo demográfico de nicho pequeño
    • B: Tendremos una base de clientes amplia y diversa
  • ¿Qué tan difícil será resolver estos problemas para sus clientes?
    • R: La mayoría de los problemas son fáciles de resolver.
    • B: Los problemas variarán en complejidad
  • ¿Qué tan importante es para su empresa brindar un servicio personalizado al cliente?
    • R: El servicio personalizado no es una prioridad para mi negocio
    • B: El servicio personalizado es una prioridad para mi negocio
  • ¿Qué tan importante es para su negocio ofrecer múltiples canales de soporte?
    • R: Tener múltiples canales de soporte no es muy importante para mi negocio
    • B: Tener múltiples canales de soporte es importante para mi negocio
  • ¿Su empresa tiene un presupuesto de servicio limitado o puede admitir múltiples licencias de software y tecnología?
    • R: Mi negocio tiene un presupuesto limitado para servicio al cliente
    • B: Mi empresa tiene presupuesto para admitir múltiples licencias de software y tecnologías

Si respondió en su mayoría con A, entonces una estrategia de centro de llamadas puede ser la mejor opción para su negocio. Si respondió con B en su mayoría, entonces un centro de contacto es la mejor estrategia para usted.

El 94% de los clientes dice que un buen servicio al cliente los hace más propensos a realizar otra compra.

Informe de estado del cliente conectado de Salesforce

El servicio al cliente es el negocio de asegurarse de que sus clientes se mantengan felices y leales. Los centros de llamadas siguen siendo relevantes en ciertos contextos, pero el mundo está cambiando; asegúrese de que sus modelos de atención al cliente cambien con él.

Cree una mejor experiencia de centro de contacto

Vea cómo puede combinar IA, datos y CRM para conectarse en el canal correcto, personalizar cada conversación y escalar su servicio al cliente.

Seguir leyendo

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 ☁️

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 ☁️

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.

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

¡Únase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizarán y demostrarán las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisión, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesión de desarrolladores. ¿No puedes unirte a nosotros en vivo? La grabación se publicará unas horas después de que finalice la transmisión.

Introducción

Con la digitalización y la adopción de la nube, estamos cobrando impulso en el espacio de integración. Para acelerar las innovaciones en el mundo digital, veamos qué emocionantes funciones y lanzamientos MuleSoft tiene para ofrecer en Summer '23 a los desarrolladores.

Anypoint Code Builder: nuevas funciones beta en junio de 23

Anypoint Code Builder , o ACB para abreviar, es el IDE de última generación de MuleSoft. Brinda a los usuarios una experiencia de desarrollo moderna y liviana para integraciones, API y automatización, todo empaquetado en una sola herramienta unificada. Los desarrolladores pueden usar ACB en todo el ciclo de vida de API e integración, desde el diseño e implementación de API hasta la creación de integraciones e incluso la depuración, prueba e implementación de aplicaciones MuleSoft.

Debe preguntarse qué tan diferente es de nuestro Anypoint Studio existente. En primer lugar, adoptamos VS Code como nuestra infraestructura de back-end con recomendaciones de tiempo de diseño basadas en IA. Y estamos llevando la reutilización a un nivel completamente nuevo, con capacidades de bloques de construcción que permiten muchos tipos de reutilización en aplicaciones futuras.

Como muchos de ustedes ya sabrán, Anypoint Code Builder lanzó su Open Beta en enero de 2023. Desde entonces, el equipo ha estado trabajando diligentemente para implementar nuevas funciones para sus usuarios de Open Beta, comenzando con un lanzamiento en abril.

¡Estamos encantados de decir que no estamos disminuyendo la velocidad! Tenemos planeado un calendario de lanzamiento de verano emocionante con muchas características nuevas y mejoras para que exploren nuestros usuarios de Open Beta.

Entonces, ¿cuáles son las nuevas funciones que puede esperar en el lanzamiento de verano del 23 de junio?

  • Soporte extendido al avión de control de la UE
  • Acceso a fragmentos globales y preempaquetados en la interfaz de usuario de Canvas
  • Busque conectores en Anypoint Exchange desde la interfaz de usuario de ACB Canvas
  • La capacidad de diseñar e implementar API de forma iterativa

Se espera que la extensión de escritorio del mercado de VS esté disponible para los desarrolladores en agosto de 2023.

Nuestro lanzamiento de verano es el siguiente paso en nuestro camino hacia GA, que actualmente está planificado para la segunda mitad de 2023.

Anypoint API Experience Hub: GA en junio de 23

Anypoint API Experience Hub permite a las empresas crear portales de API personalizados en minutos utilizando plantillas listas para usar para simplificar el acceso a las API y aumentar su uso y adopción.

Con API Experience Hub, los administradores y desarrolladores de productos API pueden:

  • Cree y comparta portales de API sencillos utilizando plantillas prediseñadas
  • Cree portales de API de marca utilizando capacidades avanzadas de creación de portales con tecnología de Salesforce Experience Cloud
  • Aumente la adopción de API en las comunidades internas y de socios con el consumo de API de autoservicio
  • Documente, gobierne y publique cualquier API en la empresa creada en cualquier puerta de enlace o entorno
  • Acceda a información sobre el uso, la calidad y el cumplimiento de las API con análisis contextuales

Los clientes podrán impulsar la adopción de API y crear un ecosistema de API vibrante al proporcionar un único punto de acceso a todas las API empresariales (construidas en MuleSoft o de otro modo) en una experiencia atractiva.

API Experience Hub está planeado para GA en junio de 2023.

Nuevas funciones de gobernanza de API: GA en julio de 2023

En 2022, se lanzó Anypoint API Governance. Nos ayudó a crear API de calidad mientras cumplíamos con los protocolos de seguridad y gobernanza. Actualmente, podemos identificar si la especificación API es conforme o no conforme y alertar a los usuarios si hay algún problema de conformidad.

En Summer '23, ampliaremos aún más las capacidades de API Governance a todos los aspectos del ciclo de vida de la API, desde el diseño de la API en el Centro de diseño hasta la implementación y administración de la API en API Manager. Con un gobierno de extremo a extremo, las organizaciones podrán garantizar que las API cumplan con las normas de cumplimiento y de la industria.

Nuevas funciones de Anypoint Studio 7.15: disponibilidad general en mayo de 2023

Con el fin de optimizar el rendimiento de Anypoint Studio y ofrecer una experiencia de integración perfecta, las siguientes funciones nuevas estarán disponibles para los desarrolladores. Le recomendamos que descargue la última versión de Anypoint Studio y pruebe las nuevas funciones:

  • Soporte ARM nativo: rendimiento más rápido para usuarios en macOS
  • Opciones para excluir archivos de Studio de Windows Defender: rendimiento y estabilidad más rápidos para los usuarios de Windows
  • Implementación mejorada a CloudHub 2.0
  • Experiencia de importación mejorada desde Design Center

Conclusión

¡Esperamos que esté tan entusiasmado como nosotros con estas funciones! Si desea tenerlos en sus manos, simplemente inicie sesión en la cuenta de prueba gratuita de 30 días de Anypoint Platform y vea estos nuevos lanzamientos y herramientas.

Aprende MOAR

Nuestros gerentes de producto y defensores de desarrolladores están de vuelta para compartir las últimas características y funcionalidades que llegarán en Summer '23. Para ayudarlo a desarrollarse más rápido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas funciones favoritas. ¡Asegúrese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo último en el blog de desarrolladores de Salesforce para conocer más innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

¡Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Otras lecturas

Sobre el Autor

Akshata Sawant es promotora sénior de desarrolladores en Salesforce. Es autora, bloguera y oradora, y coautora del título, MuleSoft for Salesforce Developers . Akshata es un miembro activo de la comunidad de MuleSoft y ex embajador de MuleSoft. Le encanta leer, bailar, viajar y la fotografía, y es una gran entusiasta de la comida. Síguela en Twitter y 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

Lista de todas las fórmulas disponibles para Salesforce Flow

Lista de todas las fórmulas disponibles para Salesforce Flow

Última actualización el 16 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo averiguar todas las funciones de fórmula permitidas en un Flujo?

Objetivos:

Después de leer este blog, podrá:

  • Descubra todas las funciones de fórmula admitidas en Salesforce Flow
  • Ejecute SOQL para objetos de la API de herramientas
  • y mucho más

Isabella Stewart trabaja como administradora de Salesforce en Gurukul On Cloud (GoC). Quiere saber cómo encontrar todas las fórmulas disponibles para Salesforce Flow.

Práctica guiada (nosotros hacemos):

Con la Fórmula, puede crear cualquier cosa, desde ecuaciones matemáticas simples hasta cálculos más complejos y avanzados. En este artículo, aprenderá cómo encontrar todas las funciones de fórmula disponibles que se pueden usar en Salesforce Flow.

Si está buscando una explicación sobre cómo usar la columna de fórmula, consulte este artículo .

Hagamos una pausa aquí, familiarícese con los objetos API de herramientas FormulaFunction y FormulaFunctionAllowedType . contiene

Nombre del objeto
Detalles
FórmulaFunción Representa una función utilizada al construir una fórmula, incluidos ejemplos y usos. Este objeto está disponible en la API de herramientas versión 39.0 y posteriores.
CustomFielFormulaFunctionAllowedTyped Representa las funciones que se admiten en el contexto de la fórmula dada. Este objeto está disponible en la versión API 48.0 y posteriores.

Realice los pasos a continuación para obtener una cobertura de código confiable:

  1. Haga clic en Configuración | Consola de desarrollador .
  2. En el Editor de consultas, ingrese la siguiente consulta SOQL
    1. SELECCIONE Function.Name, Function.Label, Function.Description, Function.ExampleString FROM FormulaFunctionAllowedType where Type='Flow'
    2. Seleccione la casilla de verificación Usar API de herramientas .
    3. Haga clic en Ejecutar .

SELECCIONE Función.Nombre, Función.Etiqueta, Función.Descripción, Función.Cadena de ejemplo
FROM FormulaFunctionAllowedType donde Tipo='Flujo'

Lista de todas las fórmulas disponibles para Salesforce Flow

FórmulaFunción.Nombre FormulaFunction.Label FormulaFunction.Descripción FormulaFunction.ExampleString
1 abdominales abdominales Devuelve el valor absoluto de un número, un número sin su signo ABS (número)
2 ACOS ACOS Devuelve el arcocoseno del número en radianes, si el número dado está entre -1 y 1. De lo contrario, NULL. ACOS(número)
3 AGREGARMESES AGREGARMESES Agregue el número de meses a la fecha, usando la última fecha del mes si la fecha es el último día del mes o agregando el número de meses tiene menos días. AGREGARMESES(fecha,num)
4 Y Y Comprueba si todos los argumentos son verdaderos y devuelve VERDADERO si todos los argumentos son verdaderos Y (lógico1, lógico2,…)
5 ASCII ASCII Devuelve el punto de código del primer carácter de la cadena dada como un número. ASCII(texto)
6 COMO EN COMO EN Devuelve el arcoseno del número en radianes, si el número dado está entre -1 y 1. De lo contrario, NULL. ASIN(número)
7 UN BRONCEADO UN BRONCEADO Devuelve el arco tangente del número en radianes. ATAN(número)
8 ATAN2 ATAN2 Devuelve el arco tangente del cociente de y y x en radianes. ATAN2(y,x)
9 COMIENZA COMIENZA Comprueba si el texto comienza con los caracteres especificados y devuelve VERDADERO si es así. De lo contrario devuelve FALSO COMIENZA(texto, comparar_texto)
10 VALOR EN BLANCO VALOR EN BLANCO Comprueba si la expresión está en blanco y devuelve expresión_sustituta si está en blanco. Si la expresión no está en blanco, devuelve el valor de la expresión original. VALOR EN BLANCO (expresión, expresión_sustituta)
11 BR BR Inserta una etiqueta de interrupción HTML en fórmulas de cadena BR()
12 CASO CASO Compara una expresión con una serie de valores. Si la expresión es igual a cualquier valor, se devuelve el resultado correspondiente. Si no es igual a ninguno de los valores, se devuelve el resultado de otra cosa CASE(expresión, valor1, resultado1, valor2, resultado2,…,else_result)
13 CASESAFEID CASESAFEID Convierte una identificación de 15 caracteres en una identificación de 18 caracteres que no distingue entre mayúsculas y minúsculas CASESAFEID(id)
14 TECHO TECHO Redondea un número al entero más cercano, lejos de cero si es negativo TECHO(número)
15 CDH CDH Devuelve una cadena con el punto de código del primer carácter como el número dado. CHR(número)
dieciséis CONTIENE CONTIENE Comprueba si el texto contiene caracteres específicos y devuelve VERDADERO si los contiene. De lo contrario, devuelve FALSO CONTIENE(texto, comparar_texto)
17 porque porque Devuelve el coseno del número, donde el número dado en radianes COS(número)
18 TAZA DE CAMBIO TAZA DE CAMBIO Devuelva la tasa de conversión a la moneda corporativa para el CurrencyIsoCode dado, o 1.0 si la moneda no es válida. TIPO DE MONEDA (IsoCode)
19 FECHA FECHA Crea una fecha a partir de un año, mes y día. FECHA (año, mes, día)
20 FECHAHORAVALOR FECHAHORAVALOR Devuelve un valor de año, mes, día y hora GMT DATETIMEVALUE(expresión)
21 FECHAVALO FECHAVALO Crea una fecha a partir de su representación de fecha y hora o texto FECHAVALUE(expresión)
22 DÍA DÍA Devuelve el día del mes, un número entre 1 y 31 DÍA (fecha)
23 DÍA DEL AÑO DÍA DEL AÑO Devuelve el día del año calendario (del 1 al 366). DÍA DEL AÑO (fecha)
24 DISTANCIA DISTANCIA Devuelve la distancia entre dos ubicaciones utilizando la unidad proporcionada. DISTANCIA(ubicación, ubicación, unidad)
25 Exp Exp Devuelve e elevado a la potencia de un número dado EXP(número)
26 ENCONTRAR ENCONTRAR Devuelve la posición de la cadena search_text en text ENCONTRAR(buscar_texto, texto [, start_num])
27 PISO PISO Redondea un número hacia abajo, hacia cero al entero más cercano Numero de piso)
28 FORMATO DURACIÓN FORMATO DURACIÓN Formatee el número de segundos con días opcionales, o la diferencia entre horas o dateTimes como HH:MI:SS. FORMATDURATION(numSeconds[, includeDays] | dateTime/time, dateTime/time)
29 DESDEUNIXTIME DESDEUNIXTIME Devuelve la fecha y hora que representa el número dado como los segundos transcurridos desde el 1 de enero de 1970. DESDEUNIXTIME(número)
30 GEOLOCALIZACIÓN GEOLOCALIZACIÓN Devuelve una ubicación basada en la latitud y longitud proporcionadas. GEOLOCALIZACIÓN (latitud, longitud)
31 GETSESIONID GETSESIONID Devuelve el ID de la sesión actual. Esto puede ser útil en los hipervínculos a otras aplicaciones que utilizan las credenciales de salesforce.com para la autenticación. GETSESIONID()
32 HTMLENCODE HTMLENCODE Codifica texto y fusiona valores de campo para su uso en HTML HTMLENCODE(texto)
33 HIPERVÍNCULO HIPERVÍNCULO Crea un hipervínculo HIPERVÍNCULO (url, nombre_amistoso [, destino])
34 SI SI Comprueba si una condición es verdadera y devuelve un valor si es VERDADERO y otro valor si es FALSO. SI (prueba_lógica, valor_si_verdadero, valor_si_falso)
35 INCLUYE INCLUYE Determina si cualquier valor seleccionado en un campo de lista de selección múltiple es igual a un literal de texto que especifique. INCLUYE (multiselect_picklist_field, text_literal)
36 INITCAP INITCAP Devuelve el texto en minúsculas con el primer carácter de cada palabra en mayúsculas. INITCAP(texto)
37 ESTÁ EN BLANCO ESTÁ EN BLANCO Comprueba si una expresión está en blanco y devuelve VERDADERO o FALSO ESBLANCO(expresión)
38 ES NULO ES NULO Comprueba si una expresión es nula y devuelve VERDADERO o FALSO ESNULL(expresión)
39 ES NÚMERO ES NÚMERO Devuelve VERDADERO si el valor del texto es un número. De lo contrario, devuelve FALSO. ESNUMERO(Texto)
40 ISOSEMANA ISOSEMANA Devuelva el número de semana ISO 8601 para la fecha dada (del 1 al 53) para que la primera semana comience el lunes. ISOSEMANA(fecha)
41 ISOAÑO ISOAÑO Devuelve el año de 4 dígitos de la numeración de semanas ISO 8601 para la fecha dada, de modo que el primer día sea lunes. ISOAÑO(fecha)
42 ISPICKVAL ISPICKVAL Comprueba si el valor de un campo de lista de selección es igual a un literal de cadena ISPICKVAL(campo_lista_selección, literal_texto)
43 JSENCODE JSENCODE Codifica texto y valores de campo de combinación para su uso en JavaScript JSENCODE(texto)
44 JSINHTMLENCODE JSINHTMLENCODE Codifica texto y valores de campo combinados para su uso en JavaScript dentro de etiquetas HTML JSINHTMLENCODE(texto)
45 IZQUIERDA IZQUIERDA Devuelve el número especificado de caracteres desde el inicio de una cadena de texto IZQUIERDA(texto, num_chars)
46 LARGO LARGO Devuelve el número de caracteres en una cadena de texto LARGO(texto)
47 ENLACE A ENLACE A Devuelve el elemento de enlace HTML para el objetivo seleccionado con entradas opcionales expresadas como parámetros de consulta LINKTO(etiqueta, objetivo, id, [entradas], [sin anular])
48 LN LN Devuelve el logaritmo natural de un número LN(número)
49 REGISTRO REGISTRO Devuelve el logaritmo en base 10 de n REGISTRO (número)
50 MÁS BAJO MÁS BAJO Convierte todas las letras del valor a minúsculas INFERIOR (texto)
51 LPAD LPAD Rellene el lado izquierdo del valor con espacios o la cadena de relleno opcional para que la longitud sea padded_length LPAD(texto, padded_length [, pad_string])
52 MÁX. MÁX. Devuelve el mayor de todos los argumentos. MAX(número,número,…)
53 MCEILING MCEILING Redondea un número al entero más cercano, hacia cero si es negativo MCEILING(número)
54 PISO PISO Redondea un número hacia abajo al entero más cercano, lejos de cero si es negativo MFLOOR(número)
55 MEDIO MEDIO Devuelve un carácter desde la mitad de una cadena de texto, dada una posición inicial y una longitud MID(texto, núm_inicio, núm_caracteres)
56 MÍN. MÍN. Devuelve el menor de todos los argumentos. MIN(número,número,…)
57 MODIFICACIÓN MODIFICACIÓN Devuelve el resto después de dividir un número por un divisor MOD(número,divisor)
58 MES MES Devuelve el mes, un número entre 1 (enero) y 12 (diciembre) MES(fecha)
59 NO NO Cambia FALSO a VERDADERO o VERDADERO a FALSO No es lógico)
60 AHORA AHORA Devuelve una fecha y hora que representa el momento actual AHORA()
61 VALOR NULO VALOR NULO Comprueba si expresión es nula y devuelve expresión_sustituta si es nula. Si la expresión no es nula, devuelve el valor de la expresión original. NULLVALUE(expresión, expresión_sustituta)
62 O O Comprueba si alguno de los argumentos es verdadero y devuelve VERDADERO o FALSO. Devuelve FALSO solo si todos los argumentos son falsos O(lógico1,lógico2,…)
63 Pi Pi Devuelve pi PI()
64 PICKLISTCOUNT PICKLISTCOUNT Devuelve el número de valores seleccionados en una lista de selección múltiple. PICKLISTCOUNT(multiselect_picklist_field)
sesenta y cinco PREDECIR PREDECIR Devuelve una predicción de Einstein Discovery basada en un Id. de registro o una lista de campos y sus valores. PREDICT(PredDefId, [recordId] | [campo, valor, …])
66 REGEX REGEX Devuelve VERDADERO si Texto coincide con la expresión regular RegEx_Text. De lo contrario, devuelve FALSO. REGEX(Texto, RegEx_Text)
67 CONTRARRESTAR CONTRARRESTAR Devuelve la cadena de texto en orden inverso REVERSO (texto)
68 BIEN BIEN Devuelve el número especificado de caracteres desde el final de una cadena de texto DERECHA(texto, num_chars)
69 REDONDO REDONDO Redondea un número a un número específico de dígitos REDONDO(número,núm_dígitos)
70 RPAD RPAD Rellene el lado derecho del valor con espacios o la cadena de relleno opcional para que la longitud sea padded_length RPAD(texto, padded_length [, pad_string])
71 PECADO PECADO Devuelve el seno del número, donde el número dado en radianes SIN(número)
72 SQRT SQRT Devuelve la raíz cuadrada positiva de un número SQRT(número)
73 SUSTITUTO SUSTITUTO Sustituye texto_nuevo por texto_antiguo en una cadena de texto. Use SUSTITUIR cuando desee reemplazar texto específico en una cadena de texto SUSTITUIR (texto, texto_antiguo, texto_nuevo)
74 BRONCEARSE BRONCEARSE Devuelve la tangente del número, donde el número dado en radianes TAN(número)
75 TEXTO TEXTO Convierte un valor en texto usando un formato de visualización estándar TEXTO(valor)
76 HOY HOY Devuelve la fecha actual HOY()
77 RECORTAR RECORTAR Elimina todos los espacios de una cadena de texto excepto los espacios individuales entre palabras RECORTAR (texto)
78 TRONCO TRONCO Trunca un número a un número específico de dígitos TRUNC(número,núm_dígitos)
79 UNIXTIMESTAMP UNIXTIMESTAMP Devuelve la cantidad de segundos desde el 1 de enero de 1970 para la fecha dada, o la cantidad de segundos en el día para una hora. UNIXTIMESTAMP(fecha/hora)
80 SUPERIOR SUPERIOR Convierte todas las letras del valor a mayúsculas SUPERIOR (texto)
81 CÓDIGOURL CÓDIGOURL Codifica texto y valores de campo combinados para su uso en direcciones URL CÓDIGOURL(texto)
82 URLPARA URLPARA Devuelve la URL del destino seleccionado con entradas opcionales expresadas como parámetros de consulta URLFOR(objetivo, id, [entradas], [sin anular])
83 VALOR VALOR Convierte una cadena de texto que representa un número en un número VALOR(texto)
84 DÍA LABORABLE DÍA LABORABLE Devuelve el día de la semana para la fecha dada, usando 1 para el domingo, 2 para el lunes, hasta 7 para el sábado. DÍA DE LA SEMANA (fecha)
85 AÑO AÑO Devuelve el año de una fecha, un número entre 1900 y 9999 AÑO (fecha)

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

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 ☁️

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 ☁️

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.

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

¡Únase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizarán y demostrarán las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisión, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesión de desarrolladores. ¿No puedes unirte a nosotros en vivo? La grabación se publicará unas horas después de que finalice la transmisión.

Introducción

Tableau lanzará muchas innovaciones nuevas e interesantes para los desarrolladores en Summer '23, incluido Tableau Embedding Playground, una colección de Postman para la API REST de Tableau y una nueva forma de personalizar y personalizar las vistas integradas en función de los atributos del usuario para las aplicaciones integradas.

Comience con el análisis incorporado

Si conoce Tableau, entonces sabe que puede crear visualizaciones poderosas (visualizaciones, para abreviar) que ayudan a las personas a ver y comprender sus datos. Si está creando una aplicación web, es posible que desee agregar visualizaciones relevantes de Tableau a su aplicación para mejorar la información que ofrece a sus clientes.

Tableau facilita la inserción de visualizaciones al proporcionar un botón Copiar código incrustado , que está disponible al hacer clic en el botón Compartir en la barra de herramientas de Tableau. Puede usar ese código para insertar una visualización de Tableau en una página web.

El código que obtiene del botón Copiar código incrustado es solo un punto de partida. ¿Qué sucede si desea filtrar la visualización en función de quién está viendo la página? Para crear una rica experiencia de análisis integrado para sus usuarios, debe usar Tableau Embedding API v3 . Con la API de inserción, puede aplicar filtros, establecer parámetros, recopilar datos que utiliza para impulsar otras acciones o agregar interfaces personalizadas para interactuar con la visualización.

OK, así que le gustaría ver lo que es posible. Pero si no está familiarizado con la API de incrustación, esto podría significar aprender una nueva biblioteca de JavaScript, leer páginas de material de referencia de la API y otra documentación, y luego configurar un entorno de desarrollo, solo para verificar algunas cosas. Ahora, hay una manera más fácil.

Bienvenido al patio de recreo

Tableau Embedding Playground le facilita el aprendizaje y la exploración de análisis integrados y la API de integración de Tableau. Todo lo que tiene que hacer es proporcionar la URL de la vista de Tableau que desea incrustar, personalizar la visualización, agregar las interacciones que desea probar y luego hacer clic en Ejecutar .

Nota: esta versión de acceso anticipado de Embedding Playground utiliza un libro de trabajo de muestra. Los fragmentos de código que agregan interacciones a la visualización integrada están optimizados para funcionar con esta muestra. Se han completado los nombres de las hojas de trabajo y las variables. Puede usar el Editor de código para editar el código JavaScript. Para esta versión, el panel HTML es de solo lectura, por lo que puede concentrarse por completo en personalizar y agregar interactividad a la visualización en Playground, sin tener que preocuparse por el estilo y el CSS.

El Embedding Playground tiene tres secciones principales:

  • El panel Vista previa , donde puede ver la visualización incrustada y los resultados de su código cambian cuando hace clic en Ejecutar
  • La vista Código , donde puede ver el código JavaScript y HTML que incrusta la visualización de Tableau.
  • El panel de control de la izquierda , donde configura la URL para la vista incrustada y sus propiedades de visualización, como el tamaño y la posición de la barra de herramientas, y donde también puede agregar interacciones, que vienen en forma de fragmentos de código que arrastra y suelta en el Panel JavaScript.

Personaliza el código

Embedding Playground usa Tableau Embedding API v3 para insertar la visualización en el panel de vista previa. La API de incrustación utiliza componentes web y proporciona un elemento HTML que representa la visualización de Tableau. Puede colocar este componente web ( <tableau-viz> ) en su página web como lo haría con cualquier elemento HTML, como una etiqueta <div> o <p> . El panel HTML en la vista Código muestra este componente web.

Este código HTML y un enlace a la biblioteca de la API de incrustación son todo lo que necesita para colocar una visualización de Tableau en una página web. Esto es esencialmente lo que obtiene si usa el botón Copiar código incrustado en Tableau Cloud. Pero hay mucho más que puede hacer, y Embedding Playground lo hace fácil.

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

 
 

«>

Supongamos que queremos aplicar un filtro a la visualización, de modo que solo muestre información que sea de interés para un conjunto específico de usuarios, o que destaque un punto que está tratando de resaltar (como mostrar ciertos lugares en un mapa, o conjuntos particulares de datos).

Con el componente web <tableau-viz> , tenemos acceso a la vista integrada de Tableau, o lo que llamamos el objeto Tableau viz. Si está familiarizado con Tableau, sabrá que un libro de trabajo de Tableau consta de hojas de trabajo, tableros e historias. O más exactamente, un libro de trabajo contiene un montón de hojas, algunas de las cuales son hojas de trabajo, algunas son tableros y otras son historias. Desde el objeto de visualización, podemos acceder al libro de trabajo y a todas las hojas de trabajo y tableros dentro del libro de trabajo. Para cada tipo de hoja, ciertas propiedades están disponibles y hay API (o métodos) específicos a los que puede llamar.

Usando el Embedding Playground, no tienes que memorizar todo eso. Digamos que su vista incrustada es un tablero. Si desea aplicar un filtro a la vista, simplemente haga clic en Agregar interacciones , haga clic en Tablero , haga clic en Filtros y luego arrastre y suelte la tarjeta Aplicar filtro en el panel de JavaScript, justo debajo de *** ¡Inserte su código a continuación! *** comentario.

En esta versión de acceso anticipado, el fragmento de código Aplicar filtro tiene el siguiente aspecto, con el nombre del filtro y sus valores ya completados. Cuando se publique Embedding Playground, los fragmentos de código tendrán marcadores de posición que se reemplazan con los nombres de filtro y valores para su viz. Tenga en cuenta que el Editor de código está en pleno funcionamiento, por lo que puede modificar los valores (cambiar o agregar diferentes estados). Darle una oportunidad. Haga clic en Ejecutar y vea los resultados.

Ven al Playground para enterarte de las novedades

Los desarrolladores de Tableau están ocupados trabajando en nuevas funciones para mejorar el análisis integrado. A medida que se introduzcan nuevos métodos y propiedades, primero se anunciarán en el Programa para desarrolladores y se resaltarán en el Área de juegos de incrustación. Si es un desarrollador experimentado, Embedding Playground podría ser un útil borrador para probar nuevas ideas y trabajar con nuevas API a medida que se presentan. Con Playground, puede probar rápidamente métodos nuevos y existentes y verificar su código sin la sobrecarga de iniciar un nuevo proyecto.

En versiones futuras de Embedding Playground, podrá proporcionar las URL para sus propias visualizaciones y usar Playground como una aplicación conectada , que ofrece una experiencia de autenticación segura y sin problemas basada en relaciones de confianza y con creación web integrada. Además, agregaremos nuevos fragmentos de código para proporcionar plantillas para las interacciones.

Use el código de Playground para impulsar el desarrollo

Puede usar la barra de menú de botones para descargar o copiar el código. El código descargado o copiado está contenido en un solo archivo HTML. Este archivo contiene el código HTML que define el componente web <tableau-viz> y el código JavaScript que agregó cuando agregó interacciones. Puede utilizar este código como punto de partida para desarrollar sus aplicaciones integradas. O copie el código para su necesidad de interacciones específicas, como filtrar la visualización, establecer parámetros o agregar menús contextuales personalizados. Para obtener más información sobre el uso del código para incrustar, consulte los documentos de Tableau Embedding API v3 .

¿Ya leíste lo suficiente? ¡Pruebe Tableau Embedding Playground ahora y permanezca atento a más información!

Colección Tableau Postman (API REST)

Si alguna vez usó la API REST de Tableau , sabe que es una parte esencial de la gestión y administración de usuarios y contenido en Tableau Cloud y Tableau Server. Con la API REST de Tableau, puede hacer mediante programación todo lo que puede hacer con la interfaz de usuario en los sitios de Tableau Server y Tableau Cloud. La API utiliza el conocido protocolo de comunicaciones cliente-servidor a través de HTTP, utilizando solicitudes web estándar. Puede consultar y configurar recursos, establecer permisos y controlar el acceso.

Probablemente también sepa que configurar una sesión para enviar esas solicitudes no siempre es fácil. Conectarse al servidor, autenticarse y adquirir los tokens de acceso para comunicarse con Tableau Server o el sitio de Tableau Cloud puede ser algo complicado. Particularmente si solo está interesado en encontrar rápidamente el nombre de una fuente de datos o buscar un identificador de recurso. Una de las herramientas a las que recurren las personas para generar solicitudes HTTP para puntos finales REST es Postman, una aplicación que puede descargar o usar en un navegador que facilita la creación de solicitudes y el almacenamiento de esas solicitudes en colecciones. La buena noticia es que ahora no necesitas empezar de cero.

Los desarrolladores de Tableau han creado una colección de Postman para la API de REST de Tableau que está disponible junto con las otras colecciones para las API de Salesforce en el espacio de trabajo de Postman del desarrollador de Salesforce . Ya no necesita buscar en la documentación de la API ni recurrir a prueba y error para crear sus propias solicitudes. El espacio de trabajo del cartero del desarrollador de Salesforce tiene el conjunto completo de puntos finales de la API REST de Tableau por los que puede navegar y elegir los que necesita usar. Postman te permite definir y guardar las variables que necesitas para tu conexión. También puede usar Postman para generar las solicitudes en diferentes lenguajes de programación como Python, JavaScript y cURL, de modo que pueda incorporar la solicitud en scripts o en sus aplicaciones integradas.

Puede encontrar más información sobre la API REST de Tableau y lo que la colección Postman puede hacer por usted en la publicación de blog de Stephen Price, Use la API REST de Tableau con Postman para diseñar integraciones.

Funciones de atributo de usuario

La entrega de información personalizada y personalizada es uno de los principales objetivos cuando se integran visualizaciones de Tableau en aplicaciones web. Desea asegurarse de que los usuarios que usan su aplicación tengan la mejor experiencia posible y tengan acceso a la información que no solo es relevante para sus necesidades, sino que también son datos que pueden ver.

Con ese fin, Tableau introdujo dos nuevas funciones de usuario ( USERATTRIBUTE y USERATTRIBUTEINCLUDES ) que brindan un nuevo nivel de personalización y control cuando crea aplicaciones integradas que usan aplicaciones conectadas a Tableau para la integración de aplicaciones. A partir de Tableau 2023.1, cuando autoriza el acceso a contenido incrustado mediante aplicaciones conectadas, ahora puede pasar atributos de usuario en el token web JSON (JWT). Para obtener más información, consulte: Controlar y personalizar el acceso a datos mediante atributos de usuario .

Usted define cuáles son estos atributos de usuario y, según su organización, podrían ser atributos basados en roles de trabajo, departamentos, nivel de gestión, autorización de seguridad, pertenencia a grupos, etc. Estos atributos de usuario siguen el modelo de control de acceso basado en atributos (ABAC), que le brinda flexibilidad en la forma en que diseña sus aplicaciones web. Por ejemplo, podría crear un único portal web que sirva a diferentes grupos proporcionando diferentes vistas de esos datos en función de los atributos. Para ver cómo puede aplicar estos atributos en los libros de trabajo de Tableau, consulte Funciones de usuario: solo para incrustar flujos de trabajo en la nube . Cuando crea vistas en Tableau, los atributos de usuario le dan la opción de agregar filtros de seguridad de nivel de fila a las vistas que incrusta en las aplicaciones web.

Para obtener una excelente descripción general de cómo puede utilizar los atributos, consulte la publicación de blog:Desbloquee el poder de los análisis personalizados con funciones de atributos de usuario. Y para obtener experiencia práctica, consulte el tutorial: Tutorial de funciones de atributos de usuario .

Conclusión

Desde usuarios nuevos hasta desarrolladores experimentados, Tableau Embedded Playground facilita que todos desarrollen código para soluciones de análisis integradas. La colección de Postman para la API REST de Tableau puede ahorrarle tiempo y esfuerzo al encapsular el conjunto completo de terminales REST de Tableau en una interfaz fácil de usar y agregar atributos de usuario a sus aplicaciones integradas para brindar una experiencia más personalizada y segura para su usuarios

Únase al programa para desarrolladores de Tableau

Haga que Tableau trabaje para usted. Únase al Programa para desarrolladores de Tableau y descubra las últimas herramientas y funciones. Obtenga acceso a versiones preliminares y acceso anticipado a nuevas API y bibliotecas mientras aún están en desarrollo. Proporcione comentarios y ayude a dar forma a lo que está por venir.

Aprende MOAR

Nuestros gerentes de producto y defensores de desarrolladores están de vuelta para compartir las últimas características y funcionalidades que llegarán en Summer '23. Para ayudarlo a desarrollarse más rápido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas características favoritas. ¡Asegúrese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo último en el blog de desarrolladores de Salesforce para conocer más innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

¡Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Más recursos

Otras lecturas

Sobre el Autor

Dave Hagen trabaja como redactor técnico en el equipo de experiencia de contenido de Salesforce. Escribe documentación para la plataforma de desarrollo de Tableau y el análisis integrado. Puedes encontrarlo 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

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 ☁️

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 ☁️

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.

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 | Blog de desarrolladores de Salesforce

La versión Spring '23 de Salesforce Platform, disponible en general a partir del 13 de febrero, agregó algunas actualizaciones fantásticas al lenguaje de Apex. Hemos implementado algunas de las actualizaciones de Spring '23 en la aplicación de ejemplo Apex-Recipes , lo que ha simplificado significativamente la base de código existente.

En esta publicación de blog, revisaremos las actualizaciones en Spring '23 para Apex con ejemplos de código. Estas actualizaciones ayudan a los desarrolladores a crear aplicaciones más seguras para sus organizaciones.

1. Operaciones de base de datos en modo usuario

Apex, de forma predeterminada, se ejecuta en modo Sistema con permisos elevados, lo que significa que los desarrolladores pueden pasar por alto los controles de seguridad sin darse cuenta al escribir código.

Antes de continuar, revisemos rápidamente los controles de seguridad que los administradores de Salesforce pueden colocar para garantizar que los usuarios solo puedan acceder y manipular los datos para los que están autorizados a ver o editar. Las viñetas a continuación resumen diferentes mecanismos para aplicar un modelo de seguridad detallado para sus datos de Salesforce.

  • CRUD significa "Crear, Leer, Actualizar y Eliminar", las cuatro operaciones básicas que un usuario puede realizar en un registro en Salesforce
  • FLS significa "Seguridad de nivel de campo", que determina qué campos dentro de un registro que un usuario puede ver o editar
  • El uso compartido de registros permite al administrador configurar reglas sobre quién puede ver o editar un registro en función de varios criterios.

Con las operaciones de base de datos en modo usuario , los desarrolladores pueden optar por ejecutar Apex en el contexto del usuario, lo que garantiza que se apliquen las reglas CRUD/FLS y de uso compartido del usuario configuradas. Veamos esto en acción con ejemplos de código detallados.

Aplicar CRUD/FLS y reglas de uso compartido para SOQL estático

Puede indicar el modo de operación usando la palabra clave WITH USER_MODE para el modo de usuario y WITH SYSTEM_MODE para el modo de sistema en su consulta SOQL. Vea el ejemplo a continuación.

<dx-code-block title language code-block="List accounts = [SELECT Name, ShippingCity, ShippingStreet FROM Account WITH USER_MODE];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en el objeto Cuenta (configurado para Perfil/Conjunto de permisos) para el usuario
  • Permisos de campo (FLS) para Nombre, Calle de envío y Ciudad de envío para el usuario
  • Configuración de nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) para el objeto Cuenta para el usuario

El WITH USER_MODE la palabra clave también es compatible con agregar SOQL para hacer cumplir CRUD/FLS y reglas de uso compartido de registros.

<dx-code-block title language code-block="List groupedResults = [SELECT SUM(AMOUNT) total FROM Opportunity WHERE AccountId = :accountId WITH USER_MODE];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en el objeto Oportunidad para el usuario
  • Permisos de campo (FLS) para Amount y AccountId (sí, incluso los campos utilizados en la cláusula SOQL WHERE se verifican para FLS) para el usuario
  • Acceso a nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) en el objeto Oportunidad para el usuario

Para obtener más ejemplos, consulte la clase SOQLRecipes de la aplicación apex-recipes.

Aplicar CRUD/FLS y reglas de uso compartido para SOQL dinámico

Los nuevos métodos Database (ver documentos ) ahora admiten un parámetro AccessLevel que le permite ejecutar operaciones de base de datos en modo de usuario en lugar de en el modo de sistema predeterminado. Veamos un código de ejemplo para ejecutar un SOQL dinámico en el modo de usuario.

<dx-code-block title language code-block="String query = 'SELECT ID, Name FROM Account LIMIT 1';
List lstAccounts = Database.query(query, AccessLevel.USER_MODE);»>

En el ejemplo anterior, el modo de usuario se aplicará de manera similar al ejemplo de SOQL estático que vimos en la sección anterior.

Para obtener más ejemplos, consulte la clase DynamicSOQLRecipes de apex-recipes. Hemos actualizado todos los métodos de la clase para usar el parámetro AccessLevel .

Hacer cumplir CRUD/FLS y reglas de uso compartido para SOSL

WITH USER_MODE o WITH SYSTEM_MODE también son compatibles con declaraciones SOSL (Lenguaje de búsqueda de objetos de Salesforce).

Veamos un ejemplo de una instrucción SOSL estática.

<dx-code-block title language code-block="String keyword = 'Alaska';
List<List> searchResults = [ FIND :keyword IN Name FIELDS RETURNING Account(Name), Contact(LastName, Account.Name) WITH USER_MODE ];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en los objetos Cuenta y Contacto para el usuario
  • Permisos de campo (FLS) para el campo Nombre en Cuenta y campo Apellido en Contacto para el usuario
  • Acceso a nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) en los objetos Cuenta y Contacto para el usuario

Para Dynamic SOSL, los nuevos métodos Search (ver documentos ) también admiten el parámetro AccessLevel similar a los nuevos métodos Database . A continuación se muestra un ejemplo de cómo usar el parámetro AccessLevel para ejecutar SOSL en el contexto de los usuarios.

<dx-code-block title language code-block="String query = 'FIND 'Edge*' IN ALL FIELDS RETURNING Account(ID,Name), Contact, Lead'; List<List> searchResults = Search.query(query, AccessLevel.USER_MODE);»>

Hacer cumplir CRUD/FLS y reglas de uso compartido para DML

Las operaciones de la base de datos pueden especificar el modo de usuario o sistema utilizando las palabras clave as user o as system .

El siguiente es un código de ejemplo que ejecuta DML en el modo de usuario aplicando CRUD/FLS y reglas de uso compartido.

Para Dynamic DML, los desarrolladores pueden utilizar el parámetro AccessLevel para ejecutar operaciones de base de datos en el modo de usuario o en el modo de sistema.

Echemos un vistazo a un ejemplo de la aplicación apex-recipes para ver cómo puede diseñar métodos para que sean genéricos, de modo que el consumidor del método pueda decidir ejecutar el código en el modo de usuario o de sistema.

El fragmento de código siguiente muestra cómo invocar este método en el modo de usuario.

El siguiente fragmento de código muestra cómo invocar este método en el modo de sistema.

Para obtener más ejemplos, consulte la clase DMLRecipes de la aplicación apex-recipes.

Consideraciones importantes

  1. Las operaciones de la base de datos en modo usuario generan excepciones de seguridad si se encuentra una infracción CRUD/FLS. Si tiene un requisito para evitar excepciones y aún aplicar la seguridad, use el método Security.stripInaccessible() (consulte los documentos ). Consulte la clase StripInaccessibleRecipes (ver documentos ) de la aplicación apex-recipes para ver ejemplos de código.
  2. Si usa la palabra clave WITH SECURITY_ENFORCED en sus declaraciones SOQL para hacer cumplir CRUD/FLS, ahora le recomendamos que use la palabra clave WITH USER_MODE en su lugar debido a las siguientes razones:
    1. La consulta SOQL que usa la palabra clave WITH USER_MODE admite muchas innovaciones nuevas, como reglas de restricción, reglas de alcance y cualquier otra operación de seguridad para el acceso a datos y CRUD/FLS, que la plataforma puede agregar en el futuro, por lo que es una especie de prueba del futuro
    2. La consulta SOQL que usa la palabra clave WITH USER_MODE maneja casos de uso de seguridad complejos mucho mejor. Por ejemplo, WITH USER_MODE es compatible con SOSL y consultas polimórficas .
    3. Las declaraciones SOQL que usan la palabra clave WITH USER_MODE manejan CRUD/FLS para los campos usados en la cláusula where y order by o campos usados en la consulta de relación o búsqueda polimórfica
    4. Las consultas SOQL que utilizan la palabra clave WITH USER_MODE funcionan mucho mejor en comparación con el uso WITH SECURITY_ENFORCED
  3. El modo de usuario anula la configuración de nivel de clase para la consulta SOQL o DML escrita en modo de usuario. Exploremos esto con el siguiente código de ejemplo.

<dx-code-block title language code-block="public without sharing ExampleCls { public static List getAccount() { String query = ‘SELECT Id FROM Account Limit 1’; return Database.query(query, AccessLevel.USER_MODE); } }»>

En el ejemplo anterior, aunque la clase Apex está configurada para ejecutarse en el contexto del sistema (sin la palabra clave compartida), la consulta SOQL se ejecuta en el modo de usuario, lo que refuerza la seguridad. El modo de usuario para la operación (SOQL/SOSL o DML) anula el uso compartido a nivel de clase.

2. Pasar dinámicamente variables de vinculación a consultas SOQL

Spring '23 agregó nuevos métodos como Database.queryWithBinds , Database.getQueryLocatorWithBinds y Database.countQueryWithBinds .

Estos métodos proporcionan los siguientes beneficios:

  • Anteriormente, si los desarrolladores usaban variables de vinculación en SOQL dinámico (usando el método Database.query ) que están fuera de contexto, la consulta no podía resolver las variables. Con queryWithBinds , las variables de vinculación de la consulta se resuelven directamente desde un parámetro Map con una clave en lugar de variables de código de Apex.
  • Con Database.queryWithBinds , los ataques de inyección SOQL se evitan automáticamente.

Echemos un vistazo a un ejemplo de código para comprender el segundo punto con más profundidad.

<dx-code-block title language code-block="public static List simpleBindingSoqlQuery(Map bindParams) { String query = ‘SELECT Id, Name ‘ + ‘FROM Account ‘ + ‘WHERE name = :name’; return Database.queryWithBinds( query, bindParams, AccessLevel.USER_MODE );
}»>

El código anterior ejecuta un SOQL dinámico en el modo de usuario. El método acepta un parámetro Map y se puede llamar usando el código a continuación.

<dx-code-block title language code-block="String accountName = 'Codey And Co';
Map nameBind = new Map{‘name’ => accountName};
List accounts = simpleBindingSoqlQuery(nameBind);
System.debug(accounts);»>

Tenga en cuenta que no es necesario que nos aseguremos de que el nombre de la variable esté en el mismo ámbito de método que la consulta dinámica. Además, no es necesario usar el método String.escapeSingleQuotes para el valor en la variable name cuando se usa queryWithBinds .

Para obtener más ejemplos de código, consulte esta solicitud de incorporación de cambios en nuestro repositorio de GitHub apex-recipes.

3. Especifique un retraso en la programación de trabajos en cola

Otra característica importante que lanzamos en Spring '23 es la capacidad de especificar demoras para trabajos programados que se pueden poner en cola.

Puede ser beneficioso ajustar el tiempo antes de que se ejecute el trabajo en cola en los siguientes casos de uso:

  • Si el sistema externo tiene una velocidad limitada y puede sobrecargarse con trabajos en cola encadenados que realizan llamadas rápidas
  • Al sondear los resultados, y ejecutar demasiado rápido puede provocar el uso desperdiciado de los límites diarios de Apex asíncrono

Usa el método System.enqueue(queueable, delay) (ver docs ) para especificar retrasos. Los retrasos pueden variar de cero a 10 minutos. Veamos un ejemplo para comprender mejor esta función.

El ejemplo anterior agrega un trabajo para la ejecución asincrónica retrasada al pasar una instancia de la implementación de su clase de la interfaz Queueable para la ejecución. Hay un retraso mínimo de cinco minutos antes de que se ejecute el trabajo.

Especificar un retraso predeterminado en toda la organización en la programación de trabajos en cola

Actualmente, si tiene un trabajo en cola de Apex, utiliza el tiempo estándar en cola sin demoras adicionales. Los administradores pueden definir un retraso predeterminado en toda la organización para todos los trabajos en cola que no especifican retraso usando
System.enqueue(queueable, delay) . Este es principalmente un mecanismo para manejar trabajos fuera de control que podrían estar ejecutándose demasiado rápido.

Importante consideración

Cuando establece el retraso en 0 (cero), el trabajo en cola se ejecuta lo más rápido posible. Con trabajos en cola encadenados, implemente un mecanismo para ralentizar o detener el trabajo si es necesario. Sin un mecanismo a prueba de fallas de este tipo, puede alcanzar rápidamente el límite de Apex asíncrono diario.

También hay una próxima función Beta en la versión Summer '23 (planificada para estar disponible el 10 de junio de 2023 en todas las organizaciones) que permite a los desarrolladores controlar la profundidad de los trabajos en cola encadenados.

4. Obtenga el SObject de origen de una instancia DescribeFieldResult usando el nuevo método getSObjectType

El método getSObjectType (ver documentos ) en el objeto DescribeFieldResult (ver documentos ) es un método de mejora de la calidad de vida del desarrollador que se implementó en Spring '23.

Anteriormente, los desarrolladores tenían que hackear y escribir código adicional para obtener el objeto de origen de la información del esquema de campos obtenida a través de la descripción del campo. Puede consultar las soluciones anteriores a través de esta publicación de stackexchange .

A continuación se muestra un ejemplo de código de cómo usar el nuevo método getSObjectType .

Con el método getSObjectType , los desarrolladores ya no tienen que pasar el nombre del objeto como una cadena. Consulte un ejemplo más completo en las notas de la versión de Spring '23.

Actualizaciones de herramientas

Hemos actualizado el servidor de idioma de Apex para admitir las últimas adiciones de sintaxis, como insert as user, insert as system y mucho más. Y ahora admitimos las últimas adiciones de sintaxis en el lanzamiento reciente de las Extensiones de Salesforce para VSCode .

También quiero agradecer a Dang Mai por actualizar el complemento más bonito para Apex (usado para formatear el código Apex automáticamente) para admitir todas las palabras clave introducidas para las operaciones de la base de datos en modo usuario.

Conclusión

En conclusión, la versión Spring '23 de Salesforce incluye varias actualizaciones. Mediante el uso de estas nuevas funciones, los desarrolladores pueden crear aplicaciones más eficaces y seguras para sus organizaciones.

Los equipos de productos de Apex no se detienen ahí y hay más innovaciones en la hoja de ruta. Puede obtener una vista previa de lo que viene para Apex en Summer '23 (nuestro próximo lanzamiento) en la vista previa de las notas de la versión . También recomiendo ver la grabación de la sesión TrailblazerDX '23, Apex: What's New and What's Coming , para aprender más sobre lo que se está cocinando.

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

Calcule la cobertura general del código en Salesforce

Calcule la cobertura general del código en Salesforce

Última actualización el 12 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo calcular la cobertura general del código en Salesforce?

Objetivos:

Después de leer este blog, podrá:

  • Compilar todas las clases de prueba
  • Calcule la cobertura de código de su organización
  • Use SOQL a través de la API de herramientas para calcular la cobertura del código
  • y mucho más

Isabella Stewart trabaja como administradora de Salesforce en Gurukul On Cloud (GoC). GoC está trabajando con un proveedor externo para implementar Field Service Lightning para mejorar la experiencia del cliente. Isabella recibió una tarea de su gerente para calcular la cobertura de código en PROD.

Práctica guiada (nosotros hacemos):

La cobertura de código es una técnica de prueba que determina qué código se está probando y qué no se está probando. A menudo se representa como un porcentaje de la cantidad de líneas de código probadas para una clase o desencadenador de Apex.

Realice los pasos a continuación para obtener una cobertura de código confiable:

Paso 1: compilar todas las clases de prueba

  1. Vaya a Configuración | Código personalizado | Ejecución de pruebas de Apex .
  2. Desmarque Cobertura de código agregado de solo tienda .
  3. Luego, borre el historial de pruebas navegando a Ver historial de pruebas | Borrar datos de prueba.
  4. El último paso es compilar todas las clases de prueba. Al navegar a Configuración | Código personalizado | Clases de Apex .

Paso 2: verifique la cobertura general del código

Una vez que se completen las pruebas unitarias de Apex, verifique la cobertura general del código para su organización siguiendo las instrucciones a continuación:

  1. Vaya a Configuración | Código personalizado | Clases de Apex .
  2. Haga clic en Estimar la cobertura de código de su organización .

También puede ejecutar la siguiente consulta para averiguar la cobertura de toda la organización. Si consulta desde Developer Console Query Editor, asegúrese de seleccionar Use Tooling API .

ApexOrgWideCoverage representa los resultados de las pruebas de cobertura de código para toda una organización.


SELECCIONE Porcentaje cubierto DESDE ApexOrgWideCoverage

El siguiente ejemplo de consulta SOQL recupera resultados de cobertura de código para una clase o activador específico:


SELECCIONE TestMethodName, NumLinesCovered, NumLinesUncovered FROM ApexCodeCoverage DONDE ApexClassOrTrigger.Name='AccountTrigger'

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

¡La convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! ☁️

¡La convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! ☁️

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 convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! | Blog de desarrolladores de Salesforce

Developer Track en Dreamforce 2023 es la plataforma para que los desarrolladores brinden contenido atractivo, innovador y accionable que puede ayudar a otros desarrolladores a elevar sus carreras e impulsar el éxito de sus negocios. ¡Hoy, la convocatoria de participación de Dreamforce '23 está oficialmente abierta !

La convocatoria de participación de Dreamforce permanecerá abierta hasta el martes 6 de junio de 2023 a las 11:59 p. m. (hora del Pacífico). Informaremos a todos los remitentes de su estado de aceptación en junio.

¿Por qué deberías presentarte en Dreamforce?

A menudo tengo conversaciones con desarrolladores que tienen habilidades e ideas impresionantes, pero que tienen miedo de presentar. Me dicen cosas como "No soy lo suficientemente bueno" o "Mis ideas no serán de interés para otros" o "Solo los expertos en desarrollo de Salesforce con mucha experiencia pueden presentar un gran contenido". Sin embargo, en la mayoría de los casos, estos son conceptos erróneos.

Durante esas conversaciones, suelo decir: “Cuéntame sobre un proyecto en el que has estado involucrado. ¿Cómo resolviste los desafíos que enfrentaste? ¿Qué aprendiste de esa experiencia? ¿Qué herramientas creó o incorporó su equipo y qué procesos estableció para ayudarlo a tener éxito más rápido en proyectos futuros? Y siempre recibo excelentes respuestas, ideas que a otros desarrolladores les encantaría saber y de las que se beneficiarían.

Por eso, me gustaría animarte a que no tengas miedo. Si le apasionan las tecnologías de desarrollo de Salesforce y tiene ideas para compartir, asegúrese de enviarlas. Otros desarrolladores están ansiosos por aprender de usted, y le brindaremos orientación y herramientas para realizar una presentación exitosa.

¿Cuál es la diferencia entre los tipos de sesión?

Las sesiones de grupo se llevan a cabo en salas de sesión dedicadas con alrededor de 100+ asientos. Las sesiones de grupo se organizan en bloques de 40 minutos, lo que le da tiempo suficiente para profundizar en un tema. El formato también permite que los miembros de la audiencia interactúen con usted y le hagan preguntas. Recomendamos que planee 30 minutos para su presentación, dejando los últimos 10 minutos para preguntas y discusión.

Las sesiones de teatro se llevan a cabo en teatros y son en bloques de 20 minutos. Los asistentes de Dreamforce pueden acercarse y escuchar su sesión o tomar asiento (más de 80 asientos disponibles). Dado que las sesiones de teatro son más cortas, un formato fuerte es tener elementos procesables para que los desarrolladores aprendan en un período de tiempo corto, como hacer una inmersión estrecha y profunda. Este formato significa que no hay tiempo para preguntas y debates, sin embargo, los oradores pueden reunirse con miembros de la audiencia después de su presentación.

Proceso de envío de propuestas de sesiones

Primero, comencemos con el Título de la sesión . Debe ser algo que sea de interés para los desarrolladores de Salesforce, y debe redactarlo de manera que quede muy claro para los asistentes lo que se cubrirá (en no más de 60 caracteres). Recuerde, hay muchas opciones de contenido en Dreamforce, por lo que querrá que su tema sea muy claro.

El campo Resumen de la sesión es donde escribirás un breve párrafo (de no más de 200 caracteres) para decirnos rápidamente de qué vas a hablar. ¡Ser creativo! No solo explique su conjunto de diapositivas, sino que comparta sus ideas para interactuar con la audiencia. ¿Qué vas a construir/demostrar? ¿Qué debate liderarás? ¿Qué se llevará su audiencia a casa y compartirá con sus equipos? Aborde los beneficios de WIIFM (qué hay para mí). Recuerde, esto eventualmente se publicará en la guía de Dreamforce, y será la vista pública de lo que trata su charla. Debe ser convincente y comunicar claramente lo que los asistentes pueden esperar aprender de su sesión. Tendrá un campo adicional de 500 caracteres Por qué debería presentarse esta sesión para explicar mejor su resumen.

Para llenar la pista de Desarrollador con contenido increíble, solo revisamos las Propuestas de sesión completadas. Estas son presentaciones que incluyen tanto un tema como oradores para una sesión. No revisaremos las nominaciones de oradores para la pista de Desarrollador.

El campo Quién es su audiencia principal es un campo de selección única, por lo que para ser considerado para la pista de Desarrollador, elija "Desarrollador".

La pista de desarrolladores en Dreamforce recibe varios cientos de propuestas para llenar un número mucho menor de espacios para hablar. De hecho, para un evento típico de Dreamforce, recibimos alrededor de 1,000 presentaciones por solo unos pocos cientos de espacios, por lo que la competencia es feroz. Por lo tanto, mientras crea el título y el resumen de su sesión, piense en cómo puede hacer que el suyo se destaque del resto (¡y sea elegido!) a medida que avanza en la revisión de la sesión.

Si tiene más de un tema que le gustaría proponer, complete el proceso de envío nuevamente para cada tema.

¿Qué tipo de sesiones estamos buscando?

Estamos buscando sesiones divertidas y atractivas que brinden contenido procesable que ayude a los desarrolladores de Salesforce a desarrollar sus habilidades, elevar sus carreras y brindar soluciones tecnológicas innovadoras para sus empresas.

Aquí hay algunas ideas para las sesiones que nos gustaría ver:

  1. Habla sobre un tema que te apasione. Esto podría ser sobre una función específica, una solución que le encantó o algo que le guste mucho y que esté respaldado por su experiencia personal. El primer paso para lograr que a tu audiencia le encante escucharte es que a ti te encante lo que dices.
  2. Considere seriamente los aprendizajes y las lecciones que su audiencia obtendrá al escuchar su charla. Su tiempo es valioso y habrán elegido pasar parte de su agenda de Dreamforce contigo. Asegúrese de que estas cosas estén resaltadas en su resumen.
  3. ¿Ha adquirido experiencia en nuevas funciones o productos que se lanzaron recientemente? Si ha tenido acceso a una versión piloto o beta de la plataforma Salesforce, entonces puede estar en condiciones de brindar una perspectiva única sobre las próximas funciones y cambios. O, si es uno de los primeros en adoptar algunas de las actualizaciones recientes de la plataforma, es posible que otros puedan aprender de su experiencia.
  4. ¿Tiene una solución técnica inteligente que podría aplicarse a una amplia audiencia? Responda eso con cuidado, porque una solución que proporcionó para un problema específico podría no ser lo suficientemente genérica como para atraer a las masas.

Esta lista no es exhaustiva: si tiene una gran propuesta de sesión que no hemos mencionado, ¡nos encantaría escucharla!

Si desea obtener más consejos para mejorar sus habilidades de creación de contenido, creación de audiencia y presentación, consulte el módulo Trailhead de habilidades para hablar en público .

¿Qué pasa después?

Nuestro equipo central revisará su propuesta de sesión y se realizarán selecciones para garantizar que tengamos la mejor combinación de contenido valioso para desarrolladores de todos los niveles de experiencia. Le notificaremos si su sesión ha sido aceptada o no en junio.

Si se acepta su sesión, se lo conectará con un propietario de la sesión para que lo guíe a través del proceso de preparación, que incluye comentarios sobre su contenido y sesiones de práctica. También recibirá un pase de orador para asistir a Dreamforce 2023. Si ya se registró para asistir, recibirá instrucciones sobre cómo reembolsar ese registro o transferirlo a otra persona.

Si no se acepta su sesión, hay otros eventos, incluidas conferencias comunitarias y grupos de desarrolladores que pueden estar interesados en que presente su contenido.

¿Listo para enviar su idea de presentación de desarrollador para Dreamforce 2023? Complete el proceso de envío antes del 6 de junio de 2023 para ser considerado. ¡Esperamos escuchar sus grandes ideas!

Sobre el Autor

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Actualmente se enfoca en el desarrollo de Lightning Web Components y Slack. Puedes seguirla en Twitter o 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

Los clientes bancarios están nerviosos: use datos y tecnología para restaurar su confianza

Los clientes bancarios están nerviosos: use datos y tecnología para restaurar su confianza

Los eventos recientes en la industria bancaria , como la caída de Silicon Valley Bank (SVB) , han causado conmoción e incertidumbre entre los clientes. Recuperar esa confianza requerirá un enfoque proactivo para administrar los riesgos en la banca y mejorar la forma en que los bancos se comunican con sus clientes.

Al igual que SVB, los bancos con riesgos de concentración (enfocando su negocio en un determinado tipo de empresa) tienen más probabilidades de encontrar problemas de liquidez cuando ocurren eventos como estos.

Esta situación fue más una crisis de confianza que una falta de fuerza o estabilidad en la industria de servicios financieros. Pero muchos clientes bancarios no lo sabían; estaban más centrados en su cobertura de seguro de depósitos a través de la FDIC o en sacar su dinero del mercado para sortear la volatilidad.

A través de una tecnología bancaria mejorada, puede comunicarse de manera efectiva con las partes interesadas internas y externas para navegar por estas situaciones, usar datos para adelantarse al impacto del cliente y unir a sus equipos para generar confianza en el cliente.

¿Está actualizado su plan de crisis?

Descubra cómo puede usar la tecnología para mitigar los riesgos en la banca, responder de manera proactiva durante las crisis y hacer crecer las relaciones con los clientes.

1. Sea transparente con sus partes interesadas

La transparencia es fundamental durante una crisis, ya que lo ayuda a administrar el riesgo en la banca. Mientras las cosas funcionan normalmente, tómese el tiempo para conocer a sus partes interesadas internas y externas. Personalizar sus interacciones con las partes interesadas ayuda a construir una relación más sólida con sus clientes, crear una confianza más profunda y, en última instancia, retener su base de clientes si algo sale mal.

Tómese el tiempo para conocerlos regularmente para que pueda saber cómo comunicarse mejor con ellos. ¿Necesita responder a una crisis en tiempo real? Este conocimiento inicial lo ayudará a segmentar rápidamente su base de clientes, identificar a cualquier persona en riesgo (como las empresas basadas en VC, en el caso de SVB) y asegurarles que tiene la situación bajo control.

“Ser transparente también lo ayuda a ofrecer orientación a los clientes que necesitan ser educados sobre la volatilidad del mercado de inmediato, mientras mantiene a raya otras preocupaciones de los clientes”, dijo Amir Madjlessi, director senior y asesor de la industria bancaria en Salesforce.

2. Obtener una visión más clara de los análisis ayuda a gestionar el riesgo en la banca

Como se mencionó anteriormente, centrarse en las relaciones con los clientes puede mejorar las tasas de retención y reducir la rotación. Pero eso es solo una parte de la gestión del riesgo en la banca. Puede usar sus datos para segmentar su base de clientes y seguir sus recorridos de clientes. Esto puede ayudarlo a detectar posibles problemas antes de que se conviertan en una crisis.

Datos y tecnología en la banca puede ayudarlo a administrar el riesgo y las relaciones. A través de un sistema de datos de clientes unificado, puede obtener una visión más completa de los clientes y su viaje, lo que le permite mantener un libro de negocios saludable.

Las herramientas de datos y análisis pueden ayudarlo a determinar rápidamente el desgaste de los clientes y los flujos de depósitos por diferentes segmentos y si hay una "corrida en el banco".

“El análisis puede ayudarlo a obtener información de un vistazo para ver los impactos en los planes y carteras financieras de los clientes, cómo se están desempeñando y los aumentos o disminuciones en los volúmenes que podrían generar problemas de retención”, dijo Madjlessi.

También puede profundizar en dónde existen los riesgos crediticios, de tasa de interés o de concentración, y crear planes de mitigación para abordar estas situaciones potenciales. El uso de una plataforma de datos unificada para monitorear estas métricas clave puede ayudarlo a administrar el riesgo en la banca.

3. Mejorar la tecnología en la banca puede ayudarlo a comunicarse más rápido y más fácilmente

La agilidad operativa puede ayudar a los bancos a actuar con rapidez y tomar decisiones más inteligentes si surge la volatilidad del mercado. En lugar de depender de una combinación de plataformas, unir las conversaciones, el intercambio de conocimientos y la toma de decisiones en un solo lugar puede ayudar a eliminar la confusión durante una crisis y conducir a una mayor productividad en tiempos saludables.

Cuando crea una cultura de datos y tiene todos los datos necesarios en un solo lugar, puede reunir fácilmente alertas, equipos y conversaciones. También puede alinearse con los problemas, tomar decisiones rápidamente y buscar y compartir conocimientos.

Una ubicación central para procesos y comunicación también puede ayudar con flujos de trabajo automatizados y una resolución de casos más rápida. En una crisis, la tecnología adecuada en la banca permite acurrucarse y pulular como un equipo para discutir lo que está sucediendo. También puede discutir los impactos del cliente, acordar un mensaje de comunicación consistente y escalar la situación si es necesario.

Cómo los bancos pueden mejorar el servicio al cliente y aumentar la confianza

Puede mejorar la gestión del riesgo en la banca respondiendo rápidamente a las inquietudes, pero también asegurándose de mantener a los clientes contentos y seguros durante los altibajos financieros.

“Los bancos pueden recordar constantemente a los clientes el valor que brindan”, dijo Madjlessi, “no solo en tiempos de crisis, sino durante todo el ciclo de vida del cliente”.

Una mejor tecnología en la banca puede ayudarlo a:

  • Ser un lugar acogedor para que los clientes vengan a aprender. Comprenda lo que está sucediendo en el mercado para calmar las emociones y evitar que los clientes tomen decisiones precipitadas con respecto a sus cuentas y carteras.
  • Responder proactivamente a las necesidades de los clientes. Proporcione transparencia y compromisos personalizados para generar confianza en su base de clientes actual. Cree relaciones de apoyo para que los clientes no tengan una experiencia enlatada.
  • Utilice la tecnología en la banca para ayudar a automatizar procesos y escalar. Obtener una vista unificada de los datos de sus clientes puede ayudar a crear paneles procesables, monitorear segmentos de clientes y ayudar con la gestión de riesgos en la banca.
  • Mejora tus procesos de onboarding. La velocidad es importante, especialmente cuando intenta ganarse la confianza del cliente. Un proceso de incorporación fluido puede marcar la diferencia para los clientes que buscan una experiencia bancaria más confiable.

Cumple con las expectativas digitales de tus clientes

Los clientes quieren una experiencia eficiente y fácil de su banco. Nuestra investigación muestra cómo puede utilizar la automatización para brindar rápidamente a sus clientes lo que necesitan.

Seguir leyendo

Una actualización importante de nuestro plan de jubilación Legacy API ☁️

Una actualización importante de nuestro plan de jubilación Legacy API ☁️

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.

Una actualización importante de nuestro plan de jubilación Legacy API | Blog de desarrolladores de Salesforce

En 2021, anunciamos unplan para retirar las versiones heredadas de la API de la plataforma anualmente, de modo que nuestros equipos de ingeniería pudieran centrar sus esfuerzos de desarrollo en mejorar las últimas versiones de la API para mejorar la experiencia general de Salesforce al crear funciones personalizadas a través de aplicaciones. En esta publicación, compartiremos una actualización importante del plan de retiro de la API heredada, algunos consejos sobre cómo identificar el uso de la API heredada y cómo actualizar esas solicitudes de API.

Actualización importante del plan de jubilación de la API heredada

La última fase del plan de retiro de la API heredada se anunció a principios de 2022 y entró en vigencia durante el lanzamiento de Summer '22. Con esta versión, dejamos de usar las versiones SOAP, REST y Bulk API que van de la 21.0 a la 30.0. Como parte de nuestro plan original, estas versiones de API ya no serían compatibles, pero permanecerían disponibles hasta que las retiremos en la versión Summer '23.

Luego de consultar con la comunidad y nuestros socios, decidimos retrasar el próximo retiro de la API al lanzamiento de Summer '25 para garantizar una transición sin problemas (consulte el artículo de conocimientos ). Debido a esta extensión, las versiones de API 21.0 a 30.0 aún no son compatibles, pero seguirán estando disponibles hasta el lanzamiento de Summer '25.

Desde Summer '21 , cada vez que realiza una llamada a una API heredada con REST o Bulk API, verá un encabezado Warning en la respuesta con un mensaje que describe el problema como este:

Una vez que las versiones heredadas de la API se retiren en Summer '25, las solicitudes a esas versiones fallarán con los siguientes errores:

  • La API REST devolverá el estado HTTP 410: GONE
  • La API SOAP devolverá el estado HTTP 500: UNSUPPORTED_API_VERSION
  • La API masiva devolverá el estado HTTP 400: InvalidVersion

Ahora que conoce el último plan, veamos cómo puede identificar si se ve afectado y cómo.

Identificar el uso de la API heredada

Puede verificar las llamadas API heredadas usted mismo en cualquier momento, y hay varias formas de hacerlo.

Todas las transacciones de la API de Salesforce se registran en los registros de Monitoreo de eventos. El monitoreo de eventos normalmente requiere una licencia específica, pero hemos expuesto el evento Uso total de la API ( ApiTotalUsage ) a todos los clientes de forma gratuita, para que pueda monitorear el consumo de la API heredada e identificar los clientes y las integraciones que deben actualizarse. Las organizaciones habilitadas para API tienen acceso gratuito a los archivos de registro de eventos de uso total de API con retención de datos de 1 día. Con el Monitoreo de eventos habilitado, puede acceder a este y a todos los demás tipos de archivos de registro de eventos con una retención de datos de 30 días.

Los registros contienen campos clave que guían sus investigaciones:

  • Los clientes proporcionan CLIENT_NAME opcionalmente, pero es especialmente útil para identificar aplicaciones e integraciones que realizan llamadas API que requieren investigación y ajustes. Compartiremos más sobre este campo en la última sección de esta publicación.
  • CONNECTED_APP_ID le dice qué aplicación conectada está en el origen de las llamadas a la API.
  • USER_ID y CLIENT_IP son útiles para identificar el origen de las llamadas API heredadas, pero existe la posibilidad de que estos valores se compartan entre varias aplicaciones en caso de que se realice una cuenta técnica de usuario/sistema (ID de usuario compartido) o llamadas desde una ubicación de oficina física ( dirección IP compartida). Compartiremos cómo usar la nueva licencia de usuario de integración para abordar los problemas de usuarios compartidos en la última sección de esta publicación.
  • Los campos API_FAMILY , API_VERSION , API_RESOURCE , URI y HTTP_METHOD le brindan pistas valiosas sobre el tipo de operaciones que realizan los clientes API.

Compartimos varias herramientas para acceder a los registros en nuestra publicación anterior , y también puede usar herramientas de terceros para automatizar esta tarea. Compartiremos una opción adicional que puede ser relevante para los usuarios preocupados por ejecutar código de terceros con acceso API a su organización.

Uso de Postman para identificar el uso de la API heredada

Puede utilizar la colección Postman de las API de la plataforma de Salesforce para inspeccionar sus registros de Salesforce con estos pasos:

  • Configure la colección Postman y autentíquese en su organización .
  • Enumere los archivos de registro que rastrean el acceso a la API:
    1. Seleccione REST > Solicitud de consulta .
    2. Reemplace el valor del parámetro de consulta q con la siguiente consulta SOQL: SELECT LogFile, EventType, CreatedDate FROM EventLogFile WHERE EventType IN ('API', 'RestApi', 'BulkApi', 'ApiTotalUsage')
    3. Haz clic en Enviar.
    4. Recupere los ID del archivo de registro de la respuesta.

  • Para cada archivo de registro devuelto en el paso anterior, recupere y escanee el contenido del registro:
    1. Seleccione REST > Registros > Obtener solicitud de archivo de registro de eventos .
    2. Establezca el ID del archivo de registro en el valor de la variable de ruta id .
    3. Haz clic en Enviar.
    4. Lea el contenido del archivo de registro en la respuesta. Puede moverse a la pestaña Respuesta sin procesar y guardarla como un archivo CSV o usar la pestaña Visualizar para obtener una vista previa del contenido directamente en Postman.
    5. Mire la columna URI o API_VERSION y verifique las versiones de API heredadas (versiones 30.0 y anteriores).

Después de identificar que está llamando a versiones de API heredadas, el siguiente paso es actualizar estas dependencias a versiones de API heredadas.

Actualizar dependencias a versiones de API heredadas

El procedimiento de actualización depende del tipo de API que esté utilizando, pero aquí hay una breve descripción general de lo que se requiere:

  • Para llamadas API basadas en SOAP, genere un nuevo WSDL e incorpórelo a la integración afectada
  • Para puntos finales REST, actualice el número de versión en el URI a la versión principal actual
  • Aunque puede actualizar de manera similar los URI para puntos finales /async en el caso de Bulk API, la forma más gratificante de actualizar las llamadas heredadas es adoptar Bulk API 2.0 y disfrutar del flujo de trabajo más simple y los límites mejorados.

Tenga en cuenta que las aplicaciones (p. ej., el cargador de datos) y los paquetes también pueden estar realizando llamadas API heredadas debido a bibliotecas obsoletas (conectores de servicios web, kit de herramientas AJAX, interfaz COM SForceOfficeToolkit o kit de herramientas Force.com para PHP, solo por nombrar algunos) . Asegúrate de actualizarlos también.

Y recuerda: no importa el cambio, asegúrate de realizar pruebas de regresión para asegurarte de que todo funciona como se esperaba.

Preparándonos para el futuro

Ya sea que se haya visto afectado por el plan de jubilación heredado o no, debe planificar el futuro retiro de la versión API. Le dejaremos algunas prácticas recomendadas para el gobierno de API.

Aproveche las licencias de usuario de la integración de Salesforce

En Spring '23, presentamos un nuevo tipo de licencia dedicado a las integraciones: la licencia de usuario de Integración de Salesforce . Esta nueva licencia se basa en el principio de acceso con privilegios mínimos y le permite crear usuarios solo de API para integraciones de sistema a sistema con derechos de acceso específicos. La principal ventaja de este nuevo tipo de licencia es la seguridad, pero también permite un mejor seguimiento de las acciones de integración, ya que podrá asignar distintos usuarios solo de API a la integración y relacionar las llamadas de API de integración con ID de usuario específicas en sus registros.

Se incluyen cinco licencias de usuario de Integración de Salesforce en cada organización Enterprise, Unlimited y Performance Edition. También puede comunicarse con su ejecutivo de cuenta si necesita más.

Especifique un nombre de cliente al crear integraciones de API REST

Al crear nuevas integraciones con la API REST, asegúrese de especificar un nombre de cliente utilizando el encabezado de solicitud Sforce-Call-Options de la siguiente manera:

Sforce-Call-Options: client=myClientName

El nombre del cliente que especifique en el encabezado estará visible en los registros en el campo CLIENT_NAME . Esto le ayuda a depurar y auditar las llamadas a la API de integración.

palabras de cierre

Esperamos que este retraso adicional en nuestro plan de retiro de API heredado permita una transición sin problemas, y lo alentamos a que comience hoy, independientemente de la nueva fecha límite. Migrar a versiones de API más nuevas siempre es una apuesta segura para obtener acceso a nuevas capacidades y mejorar el rendimiento y la seguridad.

Sobre el Autor

Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Configurar el tamaño de lote para el activador de eventos de plataforma

Configurar el tamaño de lote para el activador de eventos de plataforma

Última actualización el 30 de abril de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo configurar el usuario y el tamaño del lote para Platform Event Trigger?

Objetivos:

Después de leer este blog, podrá:

  • Comprender el tamaño del lote para el activador de eventos de la plataforma
  • Anular el usuario de ejecución predeterminado para el desencadenador de eventos de la plataforma
  • Cree PlatformEventSubscriberConfig a través de la API REST
  • y mucho más

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC) . Recientemente, enfrentó desafíos mientras trabajaba con eventos de plataforma, principalmente límites de gobernadores. Quiere aprender a configurar el tamaño del lote para el activador de eventos de la plataforma. En este ejercicio, configuraremos el tamaño del lote para lo siguiente:

  1. Activador de vértice
    1. LeadGenerationEventTrigger en Lead_Generation__e
    2. Tamaño del lote: 50
    3. Usuario ejecutor: Usuario de integración

¿Qué es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los últimos años, y por una buena razón. Se basa en el patrón de fuego y olvido . Activar un evento y dejar que cada sistema maneje la lógica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener más información sobre el evento de plataforma, consulte el módulo de Trailhead .

¿Cuál es el tamaño de lote predeterminado para el desencadenador de eventos de plataforma?

De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como el usuario del sistema de procesos automatizados con un tamaño de lote de 2000 mensajes de eventos. A veces es necesario cambiar el usuario y el tamaño del lote para eludir los límites del gobernador u otros desafíos.

Salesforce le permite anular el usuario de ejecución predeterminado y el tamaño de lote de un desencadenador de Apex de evento de plataforma con PlatformEventSubscriberConfig en la API de herramientas o la API de metadatos para configurar el desencadenador.

Puede especificar cualquier usuario activo en la organización de Salesforce. El activador se ejecuta en un contexto de sistema con privilegios para acceder a todos los registros independientemente de los permisos de nivel de campo y de objeto del usuario. Puede especificar un tamaño de lote personalizado de 1 a 2000. El tamaño del lote es el número máximo de mensajes de eventos que se pueden enviar a un disparador en una ejecución.

Comprender el objeto PlatformEventSubscriberConfig

Hagamos una pausa aquí, familiarícese con el objeto de la API de herramientas PlatformEventUsageMetric en Salesforce. Representa los ajustes de configuración para un disparador de Apex de evento de plataforma, incluido el tamaño del lote y el usuario que ejecuta el disparador.

Nombre del campo
Detalles
Tamaño del lote Un tamaño de lote personalizado, de 1 a 2000, para el desencadenador Apex del evento de plataforma. El tamaño del lote corresponde al número máximo de mensajes de eventos que se pueden enviar a un disparador en una ejecución. El tamaño de lote predeterminado es 2000 para activadores de eventos de plataforma.
Nombre del desarrollador El nombre exclusivo del objeto PlatformEventSubscriberConfig.
etiqueta maestra Etiqueta para PlatformEventSubscriberConfig. En la interfaz de usuario, este campo es Configuración de suscriptor de eventos de plataforma.
PlatformEventConsumerId El ID del desencadenador de Apex del evento de plataforma que se va a configurar.
ID de usuario El ID del usuario con el que se ejecuta el desencadenador de Apex del evento de plataforma. De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como la entidad de proceso automatizado. Establecer el usuario que ejecuta a un usuario específico tiene estos beneficios:

  • Los registros se crean o modifican como este usuario.
  • Los registros con campos OwnerId tienen sus campos OwnerId completados para este usuario cuando se crean o modifican.
  • Este usuario crea los registros de depuración para la ejecución del disparador.
  • Puede enviar un correo electrónico desde el activador, que no es compatible con el usuario de Proceso automatizado predeterminado.

Los componentes PlatformEventSubscriberConfig tienen el sufijo .platformEventSubscriberConfig y se almacenan en la carpeta PlatformEventSubscriberConfigs .

Este componente PlatformEventSubscriberConfig tiene la etiqueta LeadGenerationEventTriggerConfig . Contiene la configuración de un disparador de eventos de plataforma, LeadGenerationTrigger , y especifica el tamaño del lote y el usuario.


<?versión xml="1.0" codificación="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadatos"> <platformEventConsumer>LeadGenerationTrigger</platformEventConsumer> <tamaño del lote>50</tamaño del lote> <masterLabel>LeadGenerationEventTriggerConfig</masterLabel> <usuario>desarrollador@automationchampion.com</usuario> <isProtected>falso</isProtected>
</PlatformEventSubscriberConfig>

Práctica guiada (nosotros hacemos):

Para agregar una configuración, realice una solicitud POST como se menciona a continuación:

  1. Abra Workbench e inicie sesión con su nombre de usuario y contraseña de Trailhead Playground .
  2. Asegúrese de haber seleccionado la opción Producción para el medio ambiente .
  3. Navegue a la pestaña Utilidades y seleccione la opción REST Explorer .
  4. Selecciona las siguientes opciones:
    1. Elija un método HTTP para realizar en el URI del servicio REST API a continuación : POST
    2. URL : /services/data/v58.0/tooling/sobjects/PlatformEventSubscriberConfig
    3. Cuerpo : proporcione los valores en el cuerpo de la solicitud. Esta solicitud de ejemplo configura un activador existente con un tamaño de lote de 50 y especifica el ID de un usuario en ejecución.
      1. {
        "Tamaño del lote": "50",
        “Nombre del desarrollador”:”LeadGenerationEventTriggerConfig”,
        “MasterLabel”:”LeadGenerationEventTriggerConfig”,
        “PlatformEventConsumerId”: “01qB0000000Zcug”,
        “ID de usuario”: “005B00000015gt8”
        }
      2. Dónde:
        1. 01qB0000000Zcug, disparador de Apex en Lead_Generation__e
        2. 005B00000015gt8, es el ID de usuario del usuario de integración
    4. Haga clic en Ejecutar .
  5. Puede consultar y recuperar las configuraciones en su organización con SOQL. Si consulta desde Developer Console Query Editor, asegúrese de seleccionar Use Tooling API . Esta consulta de ejemplo recupera todas las configuraciones establecidas en su organización de Salesforce.

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