Copilot Studio - Asistente virtual - Tarjeta adaptativa

Hola a tod@s!!! En esta ocasión, me complace compartir con vosotros cómo configurar un asistente virtual en Copilot Studio, capaz de mostrar una tarjeta adaptativa donde el usuario puede completar un formulario que se registra en una lista de SharePoint Online, todo dentro del ecosistema de Microsoft 365.

Los objetivos que se persiguen con este asistente virtual son los siguientes:

  • Agregar registros en las listas de SharePoint Online.
  • Crear temas personalizados.
  • Crear y diseñar tarjetas adaptativas.
  • Adaptar tarjetas adaptativas al usuario y al contenido que debe mostrar.
  • Explicar las medidas de seguridad que maneja el asistente virtual en relación con el origen de los datos.

Crear contenido para el asistente virtual

Antes de poner en marcha y configurar el asistente virtual encargado de enviar el formulario de la tarjeta adaptativa, es esencial diseñar cuidadosamente el origen de datos, tanto para leer la información previa como para registrar la información proporcionada por el usuario en los repositorios del sitio web.

Para esta entrada del blog, la arquitectura de contenido elegida para la tarjeta adaptativa está relacionada con la gestión de las solicitudes de la cesta de Navidad de los empleados de la organización para estas próximas navidades.

La arquitectura de contenido para este ejemplo está representada en el siguiente diagrama:

Cada lista está compuesta por un tipo de contenido personalizado, con columnas adaptadas según las necesidades del contenido a almacenar. La relación entre las listas se ha establecido mediante una columna 'Lookup' para garantizar la integridad de los datos.

Como se muestra en el diagrama del modelo de cesta de Navidad, se está utilizando la biblioteca de documentos compartidos de SharePoint Online para ubicar ahí las imágenes relacionadas con las cestas de Navidad.

Definir y crear el asistente virtual

Para la creación del asistente virtual desde Copilot Studio, se han seguido las mismas recomendaciones que propuse en mi entrada de blog Copilot Studio - Asistente virtual con SharePoint Online. Este asistente virtual se encapsula en una solución de Power Platform, con la excepción de que no se ha agregado un origen de datos al sitio web donde están las listas de SharePoint Online.

Esto se debe a que el asistente virtual no puede cumplimentar los datos necesarios por sí mismo a través del acceso directo al sitio web, con el fin de generar la tarjeta adaptativa. Es necesario automatizar procesos, que tengan la capacidad de alimentar la tarjeta adaptativa, con la información disponible en el SharePoint Online.

No se activará la opción que permite a la IA usar su conocimiento general para responder preguntas de los usuarios, ya que este modelo gestiona la solicitud de la cesta de Navidad dentro de la organización.

Tema personalizado para la cesta de Navidad

Para gestionar las solicitudes de las cestas de Navidad dentro de la organización mediante un asistente virtual, se ha implementado un tema personalizado que se representa en el siguiente diagrama:

  1. Desencadenante del tema personalizado: El proceso se inicia cuando se activan alguna de las palabras clave relacionadas con la cesta de Navidad. El asistente virtual reconoce estas palabras y comienza el flujo del tema personalizado.

  2. Verificación de registro previo: El asistente verifica si el usuario ya ha registrado una solicitud de cesta de Navidad anteriormente. Si es así, se notifica al usuario y se finaliza el tema.

  3. Obtener de cestas de navidad disponibles: Si el usuario no ha gestionado una cesta de Navidad, se obtiene el listado de cestas de Navidad disponibles.

  4. Tarjeta adaptativa: La tarjeta adaptativa se muestra con el siguiente contenido:

    • Información de la solicitud: Detalles de la solicitud de la cesta de Navidad de este año.
    • Información del usuario: Datos del usuario que realiza la solicitud.
    • Cestas de navidad disponibles: Descripciones e imágenes del contenido de cada cesta de navidad.
    • Formulario de solicitud: Un formulario para recopilar la información necesaria para enviar la cesta de Navidad al destino deseado por el usuario.
  5. Registro de la solicitud: Una vez que el usuario completa el formulario, su solicitud se registra a través de un flujo de Power Automate.

  6. Notificaciones y finalización del del tema personalizado.

Implementación de la tarjeta adaptativa

Al implementar una tarjeta adaptativa, es crucial tener en cuenta, si el contenido será estático o dinámico según el usuario, la información o el contexto del registro en el sistema en ese momento.

Microsoft proporciona a los desarrolladores un sitio web para diseñar la interfaz gráfica de la tarjeta adaptativa. En este sitio, donde podrás ver ciertos ejemplos, para hacerte una idea de lo que pues crear con las herramientas y tu imaginación.

Una vez que se tiene el diseño de la tarjeta adaptativa, es necesario ajustarlo al asistente virtual. Aquí es donde la implementación se complica. Si se utiliza JSON para cargar el diseño, el contenido de la tarjeta adaptativa es estático.

He visto videos que usan flujos de Power Automate para hacer que el JSON sea más dinámico mediante reemplazos o agregando iteraciones antes de proporcionárselo a la tarjeta adaptativa. Esta técnica es útil para requisitos no muy complejos. Sin embargo, para este ejemplo de la cesta de Navidad, la implementación necesita ser más creativa y dinámica.

Para pasar de un diseño estático a uno dinámico, se parte del diseño estático del JSON. En el editor de código de la tarjeta adaptativa, hay la opción 'Editar fórmula' donde el contenido en formato JSON se convierte automáticamente a formato YAML.

Desde aquí, se hacen dinámicas las secciones de la tarjeta adaptativa, como la del usuario conectado, donde se muestra su nombre, correo electrónico y fotografía dentro de la organización.

Otras secciones que se hicieron dinámicas incluyen:

  • Información de las cestas de navidad: Mostrando detalles y descripciones de las cestas disponibles.

  • Formulario de solicitud: La selección de la cesta de Navidad se proporciona a través de un menú desplegable dinámico.

Si todo está correctamente estructurado en la tarjeta adaptativa, se mostrarán los parámetros de salida que se utilizarán para registrar la solicitud de la cesta de Navidad en el sistema.

A continuación, se exponen algunos ejemplos de los ajustes aplicados a la estructura de la tarjeta adaptativa en formato YAML, para conseguir el dinamismo en el formulario que se presenta al usuario. Aportando información de su perfil dentro de la organización, como la información obtenida desde el sitio web de SharePoint Online.

Configuraciones a nivel de seguridad

Al implementar desarrollos que manejan información sensible, es crucial considerar la seguridad tanto para el usuario conectado como para el asistente virtual.

  • Seguridad integrada: Para este caso, es esencial implementar seguridad integrada, ya que se accede a la imagen del usuario conectado dentro de la organización a través de un enlace web del tenant.

    Para mostrar la imagen del usuario conectado, se puede utilizar el siguiente enlace de la organización:

    https://[TenantDomain]/_layouts/15/userphoto.aspx?size=s&username=[UserEmail]
  • Nivel de permisos del asistente virtual: Todas las operaciones que realiza el asistente virtual con las listas de SharePoint Online se llevan a cabo a través de flujos de Power Automate. Estos flujos deben ejecutarse con una cuenta de servicio que tenga los permisos necesarios en el sitio web de SharePoint Online para leer y escribir en los repositorios pertinentes.

    En este ejemplo, se ha creado un grupo de SharePoint específico para el usuario de servicio, con permisos de lectura en todo el sitio web y permisos de colaborador en el repositorio destinado a registrar las solicitudes de los usuarios sobre las cestas de Navidad.

  • Nivel de permisos del usuario final: Los permisos del usuario final dependerán de cómo se haya implementado la arquitectura de contenido. Dado que las imágenes de las cestas de Navidad están alojadas en la biblioteca del sitio web de SharePoint Online, es necesario que los usuarios tengan permisos de lectura en el sitio web. Sin embargo, para cumplir con la ley de protección de datos, los usuarios no pueden ver el resto de los registros de las cestas de Navidad, ya que contienen datos sensibles. Por lo tanto, la lista de las solicitudes se ha configurado sin permisos para los visitantes.

    Una alternativa para no tener que configurar este nivel de permiso, pasaría por alojar las imágenes de las cestas de navidad en una CDN pública de la organización.

Reflexión sobre el asistente virtual usando tarjetas adaptativas

En mi opinión, la implementación de asistentes virtuales que utilizan tarjetas adaptativas dentro de una organización no es una de las mejores elecciones dentro del ecosistema Microsoft 365, por las siguientes razones:

  • Complejidad en el desarrollo y mantenimiento: La implementación y el dinamismo que se busca con esta herramienta resultan ser más complejos en comparación con otras opciones disponibles dentro del ecosistema de Microsoft 365, ya que son más intuitivas y requieren menos esfuerzo tanto en su desarrollo inicial como en su mantenimiento continuo, como puden ser:

    • Microsoft Forms
    • Power Apps
    • Componentes personalizados de SharePoint Framework
    • Nuevos formularios en listas de SharePoint Online
  • Limitaciones de seguridad: A pesar de establecer una seguridad integrada, los procesos están sujetos a los permisos del usuario de servicio configurado para las listas de SharePoint Online que maneja el asistente virtual. Cada nuevo registro creado por el asistente virtual está asociado al usuario de servicio, no al usuario final que interactuó con el asistente.

    Para cambiar esto y reflejar al usuario final como creador del contenido, es necesario realizar procesos adicionales en Power Automate, lo que añade una capa extra de complejidad.

  • Experiencia de usuario: El diseño y funcionalidad de las tarjetas adaptativas no siempre se alinean con las versiones más recientes del editor de tarjetas adaptativas. Esto puede afectar negativamente la experiencia del usuario. Por ejemplo, al intentar expandir o comprimir una sección de información mediante una imagen y su evento de acción 'Action.ToggleVisibility', la tarjeta adaptativa genera un error de esquema.

    Para solucionar este problema, se utilizó el componente 'ActionSet'. Sin embargo, esto puede romper la experiencia de usuario, ya que el componente cambia de color al pulsarlo, rompiendo el diseño original de la tarjeta adaptativa.

Entradas populares de este blog

Cargar archivos desde PowerApps a bibliotecas de SharePoint

Menús desplegables relacionados en SharePoint Online

Gestionar excepciones en Power Automate