Bots et kits de développement

Vous pouvez créer un bot qui fonctionne dans Microsoft Teams avec l’un des outils ou fonctionnalités suivants :

Bots avec le Microsoft Bot Framework

Votre bot Teams se compose des éléments suivants :

  • Service web accessible publiquement hébergé par vous.
  • Une inscription Bot Framework pour votre service web.
  • Votre package d’application Teams, qui connecte le client Teams à votre service web.

Conseil

Utilisez le Developer Portal pour inscrire votre service web auprès du Bot Framework et spécifier les configurations de votre application. Pour plus d’informations, consultez gérer vos applications avec le portail des développeurs pour Teams.

Le Bot Framework est un kit de développement logiciel (SDK) riche utilisé pour créer des bots à l’aide de C#, Java, Python et JavaScript. Si vous disposez déjà d’un bot basé sur le Bot Framework, vous pouvez facilement le modifier pour qu’il fonctionne dans Teams. Utilisez C# ou Node.js pour tirer parti de nos Kits de développement logiciel. Ces packages étendent les classes et méthodes de kit de développement logiciel (SDK) de base de Bot Builder :

  • Utilisez des types de carte spécialisés comme le carte de connecteur pour Groupes Microsoft 365.
  • Définissez des données de canal spécifiques à Teams sur les activités.
  • Traiter les demandes d’extension de message.

Vous pouvez développer des applications Teams dans n’importe quelle technologie de programmation web et appeler directement les API REST Bot Framework . Vous devez effectuer la gestion des jetons dans tous les cas.

Bots avec Power Virtual Agents

Power Virtual Agents est un service chatbot basé sur la plateforme Microsoft Power et Bot Framework. Le processus de développement de Power Virtual Agent utilise une approche guidée, sans code et d’interface graphique qui permet aux membres de votre équipe de créer et de gérer facilement un agent virtuel intelligent. Après avoir créé votre chatbot dans le portail Power Virtual Agents, vous pouvez facilement l’intégrer à Teams. Pour plus d’informations sur la prise en main, consultez Documentation Power Virtual Agents.

Remarque

Vous ne devez pas utiliser Microsoft Power Platform pour créer des applications qui doivent être publiées dans le Microsoft Teams Store. Microsoft Power Platform applications peuvent être publiées uniquement dans l’App Store d’une organisation.

Bots avec webhooks et connecteurs

Les webhooks et les connecteurs connectent votre bot à vos services web. À l’aide de webhooks et de connecteurs, vous pouvez créer un bot pour une interaction de base, comme la création d’un workflow ou d’autres commandes simples. Elles sont disponibles uniquement dans l’équipe dans laquelle vous les créez et sont destinées à des processus simples spécifiques au flux de travail de votre entreprise. Pour plus d’informations, consultez ce que sont les webhooks et les connecteurs.

Avantages de la CCR

Les bots dans Microsoft Teams peuvent être intégrés dans une conversation à deux, une conversation de groupe ou un canal dans une équipe. Chaque étendue fournit des opportunités et des défis uniques pour votre bot conversationnel.

Dans un canal Dans une conversation de groupe Dans une conversation privée
Portée massive Moins de membres Mode traditionnel
Interactions individuelles concises @mention vers le bot Questions et réponses Un bot
@mention vers le bot Similaire au canal Bots qui décrivent les rires et prennent des notes

Dans un canal

Les canaux contiennent des conversations entre plusieurs personnes, même jusqu’à 2000. Cela donne potentiellement une portée massive à votre bot, mais les interactions individuelles doivent être concises. Les interactions multitour traditionnelles ne fonctionnent pas. Au lieu de cela, vous devez utiliser des cartes ou des dialogues interactifs (appelés modules de tâche dans TeamsJS v1.x) ou déplacer la conversation vers une conversation un-à-un pour collecter un grand nombre d’informations. Votre bot a uniquement accès aux messages où il s’agit de @mentioned. Vous pouvez récupérer des messages supplémentaires à partir de la conversation à l’aide d’autorisations Microsoft Graph et au niveau de l’organisation.

Les bots fonctionnent mieux dans un canal dans les cas suivants :

  • Notifications, où vous fournissez une carte interactive permettant aux utilisateurs de prendre des informations supplémentaires.
  • Scénarios de commentaires, tels que les sondages et les enquêtes.
  • Un cycle de requête ou de réponse unique résout les interactions et les résultats sont utiles pour plusieurs membres de la conversation.
  • Les bots sociaux ou amusants, où vous obtenez une image de chat exceptionnelle, choisissez aléatoirement un gagnant, etc.

Dans une conversation de groupe

Les conversations de groupe sont des conversations non thématiques entre trois personnes au minimum. Elles impliquent généralement moins de membres qu’un canal et sont plus éphémères. À l’instar d’un canal, votre bot n’a accès qu’aux messages où il se trouve @mentioned directement.

Dans les cas où les bots fonctionnent mieux dans un canal, ils fonctionnent également mieux dans une conversation de groupe.

Dans une conversation privée

Les bots de conversation interagissent traditionnellement de cette façon avec les utilisateurs. Voici quelques exemples de bots conversationnels un-à-un :

  • Questions et réponses Un bot
  • bots qui lancent des flux de travail dans d’autres systèmes.
  • des bots qui racontent des blagues.
  • bots qui prennent des notes. Avant de créer des chatbots un-à-un, déterminez si une interface basée sur une conversation est la meilleure façon de présenter vos fonctionnalités.

Inconvénients des bots

Une boîte de dialogue étendue entre votre bot et l’utilisateur est un moyen lent et complexe d’accomplir une tâche. Un bot qui prend en charge des commandes excessives, en particulier un large éventail de commandes, n’est pas réussi ou n’est pas vu de manière positive par les utilisateurs.

Avoir des expériences multitours dans la conversation

Une boîte de dialogue étendue nécessite que le développeur conserve l’état. Pour quitter cet état, un utilisateur doit expirer ou sélectionner Annuler. En outre, le processus est fastidieux. Par exemple, consultez le scénario de conversation suivant :

UTILISATEUR : planifier une réunion avec Megan.

BOT : J’ai trouvé 200 résultats, y compris un prénom et un nom.

UTILISATEUR : Planifiez une réunion avec Megan Bowen.

BOT : OK, à quelle heure voulez-vous rencontrer Megan Bowen ?

UTILISATEUR : 13:00.

BOT : quel jour ?

Prendre en charge un trop grand nombre de commandes

Étant donné qu’il n’y a que six commandes visibles dans le menu du bot actuel, il est peu probable que d’autres commandes soient utilisées avec n’importe quelle fréquence. Les bots qui s’inscrivent dans un domaine spécifique plutôt que d’essayer d’être un grand assistant fonctionnent mieux.

Gérer une grande base de connaissances

L’un des inconvénients des bots est qu’il est difficile de maintenir une récupération volumineuse base de connaissances avec des réponses non notées. Les bots sont particulièrement adaptés aux interactions courtes et rapides, sans passer en revue les longues listes à la recherche d’une réponse.

Limitations et problèmes connus

Si vous ne parvenez pas à créer un bot dans le Portail des développeurs, vérifiez les points suivants :

  • L’inscription d’application est activée pour les utilisateurs : lorsqu’une inscription d’application est désactivée à l’échelle de l’organisation, les utilisateurs (autres que les utilisateurs disposant d’un accès administrateur Microsoft Entra) ne peuvent pas inscrire de nouvelles applications. Pour permettre aux utilisateurs d’inscrire des applications, les administrateurs doivent activer ouidans lecentre d’administration Microsoft Entra.

  • Accordez des autorisations à des utilisateurs spécifiques pour inscrire de nouvelles applications :

    • Pour les licences Microsoft 365 pour lesquelles la limite d’inscription d’application est de 250 applications par utilisateur, assurez-vous que l’administrateur client ajoute Microsoft Entra ID à un utilisateur avec les rôles suivants :

      Pour plus d’informations sur l’attribution de rôles, consultez Attribuer des rôles Microsoft Entra aux utilisateurs.

    • Pour les licences Microsoft 365 (plan P1, P2, E3 ou E5) où la limite d’inscription d’application est définie par défaut sur la limite de locataire (plus de 300 000) par utilisateur, assurez-vous que l’administrateur client ajoute Microsoft Entra ID à un utilisateur et attribue un rôle personnalisé à l’utilisateur avec les autorisations suivantes :

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

Extraits de code

Le code suivant fournit un exemple d’activité de bot pour une étendue d’équipe 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);
}

Le code suivant fournit un exemple d’activité de bot pour une conversation un-à-un :


// 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);
}

Exemple de code

Exemple de nom Description . NETCore Node.js Python Manifeste
Bot de conversation Teams Cet exemple d’application montre comment utiliser différents événements de conversation de bot disponibles dans Bot Framework v4. View View View View
Échantillons de bottes Ensemble d’exemples bot framework v4 View View View

Étape suivante

Voir aussi