Compartir a través de


Personaliza la apariencia de un agente

El lienzo de tu agente determina su apariencia y sensación. Puede personalizar el lienzo de dos maneras, según la complejidad de los cambios deseados:

Importante

Puede instalar y utilizar el código de muestra incluido en este artículo únicamente para su uso con Copilot Studio. El código de muestra tiene licencia "tal cual" y está excluido de cualquier acuerdo de nivel de servicio o servicios de soporte. Usted asume el riesgo de su uso.

Microsoft no ofrece garantías expresas, garantías ni condiciones y renuncia a todas las garantías implícitas, incluidas las de comerciabilidad, idoneidad para un propósito genérico y ausencia de infracción.

Después de crear y publicar un agente, sus clientes pueden usar el lienzo de chat web de agente para interactuar con él . ...

También puedes combinar el lienzo personalizado con la configuración de tu agente para iniciar automáticamente la conversación.

Por último, puedes cambiar el nombre y el ícono de tu agente (cuando se comparte en ) directamente desde el portal. Microsoft Teams

Cambiar el nombre y el icono de agente

Importante

Si su agente está conectado a Plataforma omnicanal para Customer Service, su nombre está definido por la propiedad nombre en el registro del portal Azure.

Puedes cambiar el nombre y el ícono de agente. Esto afectará al ícono en todos los canales donde publiques tu agente.

  1. En el menú de navegación, en Configuración, seleccione Detalles.

  2. Cambia el nombre y el ícono de agente. Revise las recomendaciones sobre los formatos del icono Microsoft Teams.

  3. Seleccione Guardar para confirmar los cambios.

    El panel de detalles agente le permite cambiar el nombre y el ícono.

Importante

Después de actualizar el ícono de tu agente, puede tomar hasta 24 horas para que el nuevo ícono aparezca en todas partes.

Recuperar el extremo del token

Para personalizar tu lienzo, ya sea el lienzo predeterminado o uno personalizado que Conectar quieras, necesitas recuperar tus detalles agente.

  1. En el menú de navegación, en Configuración, seleccione Canales.

  2. Seleccione Aplicación móvil.

    Captura de pantalla del mosaico de canal de la aplicación móvil.

  3. Junto a Extremo de token, seleccione Copiar.

    Captura de pantalla del id. del token de punto de conexión.

Personalizar el lienzo predeterminado (sencillo)

Configure el aspecto del lienzo de chat con algunas sencillas opciones de estilo de CSS y JavaScript.

Primero, debes configurar dónde implementarás tu lienzo agente.

  1. Crea y publica un agente.

  2. Copie y pegue el código HTML a continuación y guárdelo como index.html.
    También puede copiar y pegar el siguiente código en el editor para probar HTML en w3schools.com. Aún necesitará agregar su extremo de token.

     <!doctype html>
     <html lang="en">
       <head>
         <title>Contoso Sample Web Chat</title>
         <!--
           This styling is for the Web Chat demonstration purposes.
           It is recommended that style is moved to a separate file for organization in larger projects.
    
           Please visit https://github.com/microsoft/BotFramework-WebChat for details about Web Chat.
         -->
         <style>
           html,
           body {
             height: 100%;
           }
    
           body {
             margin: 0;
           }
    
           h1 {
             color: whitesmoke;
             font-family: Segoe UI;
             font-size: 16px;
             line-height: 20px;
             margin: 0;
             padding: 0 20px;
           }
    
           #banner {
             align-items: center;
             background-color: black;
             display: flex;
             height: 50px;
           }
    
           #webchat {
             height: calc(100% - 50px);
             overflow: hidden;
             position: fixed;
             top: 50px;
             width: 100%;
           }
         </style>
       </head>
       <body>
         <div>
           <div id="banner">
             <h1>Contoso agent name</h1>
           </div>
           <div id="webchat" role="main"></div>
         </div>
    
         <!--
           In this sample, the latest version of Web Chat is being used.
           In production environment, the version number should be pinned and version bump should be done frequently.
    
           Please visit https://github.com/microsoft/BotFramework-WebChat/tree/main/CHANGELOG.md for changelog.
         -->
         <script crossorigin="anonymous" src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
    
         <script>
           (async function () {
             // Specifies style options to customize the Web Chat canvas.
             // Please visit https://microsoft.github.io/BotFramework-WebChat for customization samples.
             const styleOptions = {
               // Hide upload button.
               hideUploadButton: true
             };
    
             // Specifies the token endpoint URL.
             // To get this value, visit Copilot Studio > Settings > Channels > Mobile app page.
             const tokenEndpointURL = new URL('<AGENT TOKEN ENDPOINT>');
    
             // Specifies the language the agent and Web Chat should display in:
             // - (Recommended) To match the page language, set it to document.documentElement.lang
             // - To use current user language, set it to navigator.language with a fallback language
             // - To use another language, set it to supported Unicode locale
    
             // Setting page language is highly recommended.
             // When page language is set, browsers will use native font for the respective language.
    
             const locale = document.documentElement.lang || 'en'; // Uses language specified in <html> element and fallback to English (United States).
             // const locale = navigator.language || 'ja-JP'; // Uses user preferred language and fallback to Japanese.
             // const locale = 'zh-HAnt'; // Always use Chinese (Traditional).
    
             const apiVersion = tokenEndpointURL.searchParams.get('api-version');
    
             const [directLineURL, token] = await Promise.all([
               fetch(new URL(`/powervirtualagents/regionalchannelsettings?api-version=${apiVersion}`, tokenEndpointURL))
                 .then(response => {
                   if (!response.ok) {
                     throw new Error('Failed to retrieve regional channel settings.');
                   }
    
                   return response.json();
                 })
                 .then(({ channelUrlsById: { directline } }) => directline),
               fetch(tokenEndpointURL)
                 .then(response => {
                   if (!response.ok) {
                     throw new Error('Failed to retrieve Direct Line token.');
                   }
    
                   return response.json();
                 })
                 .then(({ token }) => token)
             ]);
    
             // The "token" variable is the credentials for accessing the current conversation.
             // To maintain conversation across page navigation, save and reuse the token.
    
             // The token could have access to sensitive information about the user.
             // It must be treated like user password.
    
             const directLine = WebChat.createDirectLine({ domain: new URL('v3/directline', directLineURL), token });
    
             // Sends "startConversation" event when the connection is established.
    
             const subscription = directLine.connectionStatus$.subscribe({
               next(value) {
                 if (value === 2) {
                   directLine
                     .postActivity({
                       localTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
                       locale,
                       name: 'startConversation',
                       type: 'event'
                     })
                     .subscribe();
    
                   // Only send the event once, unsubscribe after the event is sent.
                   subscription.unsubscribe();
                 }
               }
             });
    
             WebChat.renderWebChat({ directLine, locale, styleOptions }, document.getElementById('webchat'));
           })();
         </script>
       </body>
     </html>
    
  3. En archivo index.html que creó, ingrese su extremo de token en la línea const tokenEndpointURL = "<YOUR TOKEN ENDPOINT>";.

  4. Abra index.html usando un navegador moderno (por ejemplo, Microsoft Edge) para abrir agente en el lienzo personalizado.

  5. Prueba agente para asegurarte de que estás recibiendo respuestas y de que funciona correctamente.

    Si tiene problemas, asegúrese de haber publicado su agente y de que su token punto de conexión se haya insertado en el lugar correcto. Debe aparecer después del signo igual (=) en la línea const tokenEndpointURL = "<YOUR TOKEN ENDPOINT>" y estar rodeado de comillas dobles (").

Personaliza el icono, el color de fondo y el nombre de agente

Una vez que el lienzo personalizado funcione con tu agente, podrás realizarle cambios.

Puede usar las opciones styleOptions de JavaScript para configurar una serie de estilos predefinidos.

Vea Personalización del chat web para obtener enlaces al archivo defaultStyleOptions.js y más información sobre lo que puede personalizar y cómo se verá.

Cambiar el icono agente

  1. Actualizar el archivo index.html con el siguiente código de muestra:

    const styleOptions = {
      accent: '#00809d',
      botAvatarBackgroundColor: '#FFFFFF',
      botAvatarImage: 'https://learn.microsoft.com/azure/bot-service/v4sdk/media/logo_bot.svg',
      botAvatarInitials: 'BT',
      userAvatarImage: 'https://avatars.githubusercontent.com/u/661465'
    };  
    
  2. Reemplace las imágenes agente y el avatar del usuario con las imágenes de su empresa.
    Si no tiene una dirección URL de imagen, puede usar una cadena de imagen codificada en Base64 en su lugar.

Cambiar el color de fondo

  1. Actualice el archivo index.html con el siguiente código de muestra:

    const styleOptions = {
      backgroundColor: 'lightgray'
    };  
    
  2. Cambie backgroundColor a cualquier color que desee. Puede usar nombres de colores CSS estándar, valores RGB o HEX.

Cambiar el nombre agente

  1. Actualice el texto <h1> en el archivo index.html con el siguiente código de muestra:

    <body>
      <div id="banner">
        <h1><img src="contosocopilot-teams.png"> Contoso agent name</h1>
      </div>
    
  2. Cambia el texto por el nombre que quieras darle a agente. También puede insertar una imagen, aunque es posible que deba diseñarla para asegurarse de que se ajusta a la sección de encabezado.

Personalizar y hospedar el lienzo de chat (avanzado)

Puedes Conectar tu Copilot Studio agente con un lienzo personalizado alojado como una aplicación web independiente. Esta opción es mejor si tiene que insertar un elemento iFrame personalizado en varias páginas web.

Nota

Hospedar un lienzo personalizado requiere desarrollo de software. Nuestra guía está destinada a profesionales de TI con experiencia, como administradores de TI o desarrolladores que tienen una sólida comprensión de las herramientas de desarrollo, las utilidades y los entornos de desarrollo integrado (IDE).

Elegir un ejemplo para personalizar

Recomendamos comenzar con uno de estos ejemplos personalizados para trabajar con Copilot Studio:

  • Paquete completo es un lienzo personalizado capaz de mostrar todo el contenido enriquecido de Copilot Studio. Por ejemplo:

    Lienzo personalizado de paquete completo.

  • Ubicación y carga de archivos es un lienzo personalizado capaz de obtener la ubicación de un usuario y enviarla a un Copilot Studio agente. Por ejemplo:

    Ubicación y carga de archivos de lienzo personalizado.

También puede elegir entre otros ejemplos de lienzos de Chat en web proporcionados por Bot Framework.

Personalizar un lienzo con styleSetOptions

Al igual que con la personalización del lienzo predeterminado, puede usar styleSetOptions para personalizar el lienzo personalizado. Todas las propiedades personalizables se enumeran en defaultStyleOptions.js. Para obtener más información sobre lo que puede personalizar y cómo se verá, vea Personalización del chat web.

Implementar el lienzo personalizado

Para hospedar el lienzo personalizado, implemente todos los archivos en una aplicación web.