Bots y SDK

Puede crear un bot que funcione en Microsoft Teams con una de las siguientes herramientas o funcionalidades:

Bots con el Microsoft Bot Framework

El bot de Teams consta de lo siguiente:

  • Un servicio web accesible públicamente que la organización hospeda.
  • Un registro de Bot Framework para el servicio web.
  • El paquete de la aplicación Teams, que conecta el cliente de Teams al servicio web.

Sugerencia

Use el Portal para desarrolladores para registrar el servicio web con Bot Framework y especificar las configuraciones de la aplicación. Para obtener más información, consulte Administración de aplicaciones con el Portal para desarrolladores para Teams.

El Bot Framework es un SDK enriquecido que se usa para crear bots mediante C#, Java, Python y JavaScript. Si tiene un bot basado en el Bot Framework, puede modificarlo para que funcione en Teams. Microsoft le recomienda usar C# o Node.js para aprovechar nuestros SDK. En estos paquetes, se amplían las clases y métodos básicos del SDK de Bot Builder:

  • Use tipos de tarjeta especializados, como la tarjeta del conector para Grupos de Microsoft 365.
  • Establezca datos de canal específicos de Teams en las actividades.
  • Procesar solicitudes de extensión de mensaje.

Puede desarrollar aplicaciones Teams en cualquier tecnología de programación web y llamar directamente a las API REST de Bot Framework. Debe realizar el control de tokens en todos los casos.

Bots con Power Virtual Agents

Power Virtual Agents es un servicio de bot de chat basado en la plataforma Microsoft Power y Bot Framework. El proceso de desarrollo de Power Virtual Agent usa un enfoque guiado, sin código e interfaz gráfica que permite a los miembros del equipo crear y mantener fácilmente un agente virtual inteligente. Después de crear el bot de chat en el portal de Power Virtual Agents, puede integrarlo fácilmente con Teams. Para obtener más información sobre cómo empezar, consulte Documentación de Power Virtual Agents.

Nota:

No debe usar Microsoft Power Platform para crear aplicaciones que se van a publicar en microsoft Teams Store. Las aplicaciones de Microsoft Power Platform solo se pueden publicar en la tienda de aplicaciones de una organización.

Bots con webhooks y conectores

Los webhooks y los conectores conectan el bot a los servicios web. Con webhooks y conectores, puede crear un bot para la interacción básica, como la creación de un flujo de trabajo u otros comandos simples. Solo están disponibles en el equipo donde los crea y están diseñados para procesos sencillos específicos del flujo de trabajo de su empresa. Para obtener más información, consulte qué son los webhooks y los conectores.

Ventajas de los bots

Los bots en Microsoft Teams pueden formar parte de una conversación uno a uno, de un chat de grupo o de un canal de un equipo. Cada ámbito proporciona oportunidades y dificultades únicas para su bot de conversación.

En un canal En un chat de grupo En un chat individual
Alcance masivo Menos miembros Manera tradicional
Interacciones individuales concisas @mention a bot Bots de Q&A
@mention a bot Similar al canal Bots que cuentan chistes y toman notas

En un canal

Los canales contienen conversaciones en subprocesos entre varias personas, incluso hasta 2000. Esto proporciona un alcance potencialmente masivo al bot, pero las interacciones individuales deben ser concretas. Las interacciones tradicionales de varios turnos no funcionan. En su lugar, debe buscar usar tarjetas o diálogos interactivos (denominados módulos de tareas en TeamsJS v1.x) o mover la conversación a una conversación uno a uno para recopilar mucha información. El bot solo tiene acceso a los mensajes en los que es @mentioned. Puede recuperar mensajes adicionales de la conversación con Microsoft Graph y los permisos a nivel de organización.

Los bots funcionan mejor en un canal en los siguientes casos:

  • Notificaciones, especialmente si se proporciona una tarjeta interactiva para que los usuarios puedan obtener información adicional.
  • Escenarios de comentarios, como sondeos y encuestas.
  • El ciclo de solicitud o respuesta única resuelve las interacciones y los resultados son útiles para varios miembros de la conversación.
  • Bots sociales o divertidos, donde hay imágenes de gatos geniales, se elige aleatoriamente un ganador, etc.

En un chat de grupo

Los chats de grupo son conversaciones entre tres o más personas que no se desarrollan en hilos. Tienden a tener menos miembros que un canal y son más transitorios. De forma similar a un canal, el bot solo tiene acceso a los mensajes donde está @mentioned directamente.

En los casos en los que los bots funcionan mejor en un canal también funcionan mejor en un chat de grupo.

En un chat individual

Esta es la manera tradicional en la que un bot de conversación interactúa con un usuario. Algunos ejemplos de bots conversacionales individuales son:

  • Bots de Q&A
  • bots que inician flujos de trabajo en otros sistemas.
  • bots que cuentan chistes.
  • bots que toman notas. Antes de crear bots de chat uno a uno, considere si una interfaz basada en conversación es la mejor manera de presentar la funcionalidad.

Desventajas de los bots

Un amplio diálogo entre el bot y el usuario es una manera lenta y compleja de completar una tarea. Un bot que admite comandos excesivos, especialmente una amplia gama de comandos, no es correcto o los usuarios no los ven de forma positiva.

Tener experiencias de varios turnos en el chat

Un cuadro de diálogo extenso requiere que el desarrollador mantenga el estado. Para salir de este estado, un usuario debe agotar el tiempo de espera o seleccionar Cancelar. Además, el proceso es tedioso. Por ejemplo, consulte el siguiente escenario de conversación:

USUARIO: Programe una reunión con Megan.

BOT: he encontrado 200 resultados, incluidos el nombre y el apellido.

USUARIO: Programe una reunión con Megan Bowen.

BOT: Ok, ¿a qué hora le gustaría reunirse con Megan Bowen?

USUARIO: 1:00 p.m.

BOT: ¿En qué día?

Compatibilidad con demasiados comandos

Dado que solo hay seis comandos visibles en el menú del bot actual, es poco probable que se use ningún otro con frecuencia. Bots que profundizan en un área específica en lugar de tratar de ser un asistente de trabajo amplio y funcionan mejor.

Mantener una amplia knowledge base

Una de las desventajas de los bots es que es difícil mantener una gran knowledge base de recuperación con respuestas no clasificadas. Los bots son más adecuados para interacciones breves y rápidas y no para examinar listas largas en busca de una respuesta.

Limitaciones y problemas conocidos

Si no puede crear un bot en el Portal para desarrolladores, asegúrese de lo siguiente:

  • El registro de aplicaciones está habilitado para los usuarios: cuando un registro de aplicación está deshabilitado en toda la organización, los usuarios (distintos de los usuarios con Microsoft Entra acceso de administrador) no pueden registrar nuevas aplicaciones. Para permitir que los usuarios registren aplicaciones, los administradores deben alternar Los usuarios pueden registrar aplicaciones en en el centro de administración de Microsoft Entra.

  • Conceda permisos a usuarios específicos para registrar nuevas aplicaciones:

    • En el caso de las licencias de Microsoft 365 en las que el límite de registro de aplicaciones es de 250 aplicaciones por usuario, asegúrese de que el administrador de inquilinos agrega Microsoft Entra identificador a un usuario con los siguientes roles:

      Para obtener información sobre cómo asignar roles, consulte Asignación de roles Microsoft Entra a los usuarios.

    • Para la licencia de Microsoft 365 (plan P1, P2, E3 o E5) donde el límite de registro de aplicaciones es predeterminado para el límite de inquilinos (más de 300 000) por usuario, asegúrese de que el administrador de inquilinos agrega Microsoft Entra identificador a un usuario y asigna un rol personalizado al usuario con los permisos siguientes:

      • microsoft.directory/applications/create
      • microsoft.directory/applications/createAsOwner

Fragmentos de código

El código siguiente proporciona un ejemplo de una actividad de bot para un ámbito de equipo de canal:


protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    var mention = new Mention
    {
        Mentioned = turnContext.Activity.From,
        // EncodeName: Converts the name to a valid XML name.
        Text = $"<at>{XmlConvert.EncodeName(turnContext.Activity.From.Name)}</at>",
    };
    
    // MessageFactory.Text(): Specifies the type of text data in a message attachment.
    var replyActivity = MessageFactory.Text($"Hello {mention.Text}.");
    replyActivity.Entities = new List<Entity> { mention };

    // Sends a message activity to the sender of the incoming activity.
    await turnContext.SendActivityAsync(replyActivity, cancellationToken);
}

El código siguiente proporciona un ejemplo de actividad de bot para un chat individual:


// Handle message activity
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    // Remove recipient mention text from Text property.
    // Use with caution because this function is altering the text on the Activity.
    turnContext.Activity.RemoveRecipientMention();
    var text = turnContext.Activity.Text.Trim().ToLower();

    // Sends a message activity to the sender of the incoming activity.
    await turnContext.SendActivityAsync(MessageFactory.Text($"Your message is {text}."), cancellationToken);
}

Ejemplo de código

Ejemplo de nombre Descripción .NETCore Node.js Python Manifiesto
Bot de conversación de Teams Esta aplicación de ejemplo muestra cómo usar diferentes eventos de conversación de bot disponibles en bot framework v4. View View View View
Ejemplos de bot Conjunto de ejemplos de Bot Framework v4 View View View

Paso siguiente

Consulte también