Compartir a través de


Preguntar con Tarjetas adaptables

Las Tarjetas adaptables le permiten agregar fragmentos de contenido a agentes de Copilot Studio que también se pueden intercambiar abiertamente con otras aplicaciones y servicios en la nube. Para proporcionar una capacidad de conversación enriquecida para su agente, puede incluir texto, gráficos y botones. Como son independientes de la plataforma, puedes adaptar fácilmente las tarjetas adaptables a sus necesidades.

Con un nodo de Tarjeta adaptable, el agente puede mostrar una tarjeta adaptable que contenga uno o varios botones de envío y, opcionalmente, uno o varios campos de entrada de formulario. El agente almacena la entrada del usuario en variables para usarlas más adelante en la conversación.

Nota

Copilot Studio admite las versiones 1.6 y anteriores del esquema de Tarjetas adaptables. Sin embargo, la versión de esquema adecuada depende de la aplicación host de destino:

  • El componente Bot Framework de chat en web (es decir, el patrón de integración de sitios web predeterminado) admite la versión 1.6, pero no admite Action.Execute
  • El widget de chat en vivo (utilizado para Dynamics 365 Plataforma omnicanal para Customer Service) está limitado a la versión 1.5
  • Teams también está limitado a la versión 1.5

Además, Copilot Studio solo muestra tarjetas de la versión 1.6 en el chat de prueba, no en el lienzo.

Para obtener más información acerca del esquema de tarjetas adaptables, consulte Explorador de esquema.

Copilot Studio incluye un diseñador de tarjetas adaptables integrado, que ofrece las características más útiles del Diseñador de tarjetas adaptables.

Como alternativa, puede:

  • Use una representación JSON para la tarjeta que desea mostrar al usuario.
  • Use una fórmula Power Fx para incluir información dinámica en la tarjeta.

También puede controlar el comportamiento de la tarjeta, como qué hacer cuando el usuario introduce una respuesta no válida o si el nodo puede interrumpirse.

El nodo de Tarjeta Adaptable está pensado para tarjetas interactivas, donde se espera que el usuario envíe una respuesta. Los nodos Mensaje y Pregunta se pueden usar para presentar al usuario una tarjeta no interactiva que le muestra información.

Sugerencia

Cambie el nombre de los nodos para que sea más fácil identificarlos. Selecciona el campo de nombre del nodo para actualizar el nombre directamente, o selecciona los tres puntos (...) del nodo y selecciona Renombrar en el menú. También puede renombrar nodos en el editor de código.

No es posible cambiar el nombre de los nodos Gatillo y nodos Ir al paso.

Los nombres de nodo pueden tener hasta 500 caracteres de largo.

Agregar un nodo Tarjeta adaptable

  1. Seleccione el icono Agregar nodo debajo del nodo después del que desea agregar un nodo de Tarjeta adaptable y, a continuación, seleccione Preguntar con Tarjeta adaptable.

  2. Selecciona los tres puntos (...) del nodo y luego selecciona Propiedades.

  3. En el panel de propiedades de nodo de tarjeta adaptable, seleccione Editar tarjeta adaptable. Se abre el panel Diseñador de tarjetas adaptables.

  4. Agregue los elementos deseados para su Tarjeta y configure sus propiedades. Como alternativa, en el panel Editor de carga útil de tarjeta, reemplace la carga útil predeterminada por el literal JSON para su Tarjeta.

    Sugerencia

    Su Tarjeta debe contener al menos un botón de envío, ya que debe ser una Tarjeta interactiva que permita a un usuario enviar información al agente. Si no es así y solo está pensada para mostrar información, debe agregar la Tarjeta adaptable a un Nodo de Mensaje.

  5. Cuando haya terminado con el diseño inicial, seleccione Guardar y cierre el panel de diseño. Aparecerá una vista previa de la tarjeta en el nodo. Copilot Studio crea automáticamente variables de salida en función de las entradas especificadas en el código.

    Captura de pantalla de un nodo de Tarjeta adaptable con una vista preliminar de la tarjeta.

    Sugerencia

    Si las variables de salida generadas para la tarjeta son incorrectas, puede actualizar manualmente la lista de variables y sus tipos seleccionando Editar esquema en el panel de propiedades del nodo tarjeta adaptable.

    Su tarjeta adaptable interactiva ya está lista. Cuando un usuario de su agente selecciona un botón de envío en una tarjeta, las variables de salida se rellenan con la información que el usuario ha proporcionado en su interacción con la tarjeta.

Otras propiedades

Otras propiedades le permiten controlar el comportamiento del nodo Tarjeta adaptable, como por ejemplo:

  • Cómo responde el agente a una respuesta no válida
  • Si se puede interrumpir

Si el agente está esperando un envío de una tarjeta adaptable y el usuario envía un mensaje de texto en su lugar, esta respuesta se considera no válida, a menos que el mensaje desencadene una interrupción. En este caso, las siguientes propiedades determinan el comportamiento.

  • Cuántas repeticiones de solicitud: el número de veces que el agente intenta obtener una envío válido de la tarjeta.. Repetir hasta 2 veces es el valor predeterminado. También puedes seleccionar Repetir una vez o No repetir. Para cada reintento, la tarjeta se vuelve a enviar al usuario.

  • Mensaje de reintento: use esta propiedad para definir un mensaje que se enviará cuando se produzca un reintento, junto con una repetición de la tarjeta. Para definir un mensaje de reintento, seleccione Personalizar y luego introduzca el nuevo mensaje.

  • Permitir cambiar a otro tema: Si se selecciona (valor predeterminado), un mensaje entrante de un usuario cuando el agente está esperando el envío de una tarjeta desencadena una interrupción y cambia a otro tema. Si se produce un cambio de tema, la tarjeta se envía de nuevo al usuario una vez finalizado el tema de interrupción.

Comportamiento de envío de botones para agentes con tarjetas consecutivas

Por diseño, las tarjetas adaptables permiten seleccionar sus botones de envío varias veces. Si un agente tiene tarjetas adaptables consecutivas y el usuario selecciona un botón en una tarjeta anterior, el usuario podría experimentar un comportamiento inesperado.

Para evitar que la acción de envío en una tarjeta interfiera con otra tarjeta:

  • Aísle las acciones de envío: asegúrese de que cada tarjeta adaptable tenga su propio identificador único y sus propios controladores de acciones.

  • Usar acciones de envío con datos únicos: al definir las acciones de envío para las tarjetas, incluya identificadores únicos o cargas de datos que puedan ayudar a diferenciar entre las tarjetas cuando el usuario selecciona un botón enviar.

  • Agregue una lógica sólida de control de eventos al agente: defina condiciones basadas en los identificadores distintivos o los elementos de carga asociados a los botones de envío.

  • Depuración y registro: agregue registros detallados al código de gestión de eventos del agente para capturar la secuencia de acciones e identificar dónde ocurren envíos no deseados.

Usar Power Fx para hacer que su tarjeta sea dinámica

Puede usar una fórmula de Power Fx para incluir información dinámica en su tarjeta haciendo referencia a variables de su tema o agente.

  1. Selecciona los tres puntos (...) del nodo y luego selecciona Propiedades.

  2. En el panel de propiedades del nodo de tarjeta adaptable, cambie a Fórmula. Al seleccionar fórmula, se convierte automáticamente la representación JSON de la tarjeta en una fórmula Power Fx.

    Captura de pantalla de la opción para cambiar a una fórmula de Power Fx en lugar de JSON en el panel de propiedades del nodo Tarjeta adaptable

    Por ejemplo, comience con el siguiente literal JSON para una tarjeta:

    {
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "type": "AdaptiveCard",
      "version": "1.5",
      "body": [{
          "type": "ColumnSet",
          "columns": [{
              "type": "Column",
              "width": 2,
              "items": [{
                  "type": "TextBlock",
                  "text": "Tell us about yourself",
                  "weight": "Bolder",
                  "size": "Medium",
                  "wrap": true,
                  "style": "heading"
                }, {
                  "type": "TextBlock",
                  "text": "We just need a few more details to get you booked for the trip of a lifetime!",
                  "isSubtle": true,
                  "wrap": true
                }, {
                  "type": "Input.Text",
                  "id": "myName",
                  "label": "Your name (Last, First)",
                  "isRequired": true,
                  "regex": "^[A-Z][a-z]+, [A-Z][a-z]+$",
                  "errorMessage": "Please enter your name in the specified format"
                }
              ]
            }
          ]
        }
      ],
      "actions": [{
          "type": "Action.Submit",
          "title": "Submit"
        }
      ]
    }
    

    Esta es la fórmula resultante Power Fx, que usa dos variables Topic.Title y Topic.Subtitle en lugar del texto codificado del literal JSON. (En este ejemplo se supone que las variables están definidas en el tema).

    {
      '$schema': "http://adaptivecards.io/schemas/adaptive-card.json",
      type: "AdaptiveCard",
      version: "1.5",
      body: [
        {
          type: "ColumnSet",
          columns: [
            {
              type: "Column",
              width: "2",
              items: [
                {
                  type: "TextBlock",
                  text: Topic.Title,
                  weight: "Bolder",
                  size: "Medium",
                  wrap: true,
                  style: "heading"
                },
                {
                  type: "TextBlock",
                  text: Topic.Subtitle,
                  isSubtle: true,
                  wrap: true
                },
                {
                  type: "Input.Text",
                  id: "myName",
                  label: "Your name (Last, First)",
                  isRequired: true,
                  regex: "^[A-Z][a-z]+, [A-Z][a-z]+$",
                  errorMessage: "Please enter your name in the specified format"
                }
              ]
            }
          ]
        }
      ],
      actions: [
        {
          type: "Action.Submit",
          title: "Submit"
        }
      ]
    }
    

Importante

Una vez que comience a editar en el panel de fórmulas, no podrá volver al código JSON original. Para permitir el diseño y los cambios iterativos, se recomienda guardar una copia del JSON original en sus propias notas o como comentario en el nodo. Esta precaución le permite revertir los cambios, si es necesario.