# Intégration Microsoft Teams

Installez l'application RandomCoffee dans Microsoft Teams, reliez-la à un programme et comprenez son SSO, son provisionnement et ses permissions.

import { AccordionItem, Accordions, Steps } from '@prosefly/astro-components';
import Callout from '@components/Callout.astro';
import TeamsInstallConfig from '@components/app-screens/screens/TeamsInstallConfig.astro';
import TeamsProgramAssociatedCard from '@components/app-screens/screens/TeamsProgramAssociatedCard.astro';
import ProgramCommunicationChannel from '@components/app-screens/screens/ProgramCommunicationChannel.astro';
import MicrosoftTeamSetting from '@components/app-screens/screens/MicrosoftTeamSetting.astro';
import IntegrationInstallPanel from '@components/app-screens/screens/IntegrationInstallPanel.astro';

L'intégration Microsoft Teams associe un programme RandomCoffee à une ou plusieurs équipes Microsoft Teams. Le bot RandomCoffee envoie ensuite les invitations et les binômes du programme aux membres de ces équipes, directement dans Teams. L'intégration est disponible sur tous les plans.

Cette page couvre la partie technique : installation, authentification unique (SSO), provisionnement et permissions. Elle renvoie aussi à des protocoles de Microsoft, que Microsoft peut faire évoluer. Pour toute question liée à la mise en place d'un contrat, contactez [support@random-coffee.com](mailto:support@random-coffee.com).

## Ce que l'application ajoute à Teams

L'application RandomCoffee pour Microsoft Teams contient :

- **Un bot**, disponible dans les équipes et en conversation privée. Il envoie les cartes d'opt-in et de mise en relation, et répond à trois commandes : "Aide", "Commentaires" et "Faire une pause" ("Help", "Feedback" et "Snooze" quand Teams est en anglais).
- **Un onglet de canal**, ajouté à l'équipe quand vous reliez un programme. Il présente le contexte, le calendrier et l'activité du programme.
- **Trois onglets personnels** : "Mon Activité", "Mon Réseau" et "Mes Programmes" ("My Activity", "My Network" et "My Programs" quand Teams est en anglais).

Ce que les membres voient dans Teams est décrit dans [Comment fonctionne RandomCoffee](/fr/members/getting-started/how-randomcoffee-works/).

## Avant de commencer

- **Un programme à relier.** Nous vous conseillons de créer au moins un programme dans votre espace de travail RandomCoffee avant d'installer l'application. Si votre espace de travail n'a encore aucun programme, la fenêtre d'installation vous permet d'en créer un à partir d'un modèle ("Créer un nouveau programme"). Si vous n'avez pas encore d'espace de travail RandomCoffee, elle propose "Créer un programme sur RandomCoffee", et vous continuez une fois le programme créé.
- **Des droits dans Microsoft Teams.** Vous devez avoir le droit d'ajouter des applications à une équipe dans votre environnement Microsoft Teams (selon la politique de votre organisation). Si l'application RandomCoffee est bloquée ou indisponible dans votre tenant, votre équipe IT peut l'autoriser en suivant [Configurer RandomCoffee dans le centre d'administration Teams](/fr/documentation/integrations/teams-admin-center/).

## Installer l'application RandomCoffee

<Steps>

1. **Partez de RandomCoffee.**

   Ouvrez "Paramètres", allez dans "Configuration", sélectionnez la carte "Intégration Microsoft Teams" et cliquez sur "Installer".

   <IntegrationInstallPanel integration="teams" alt="Le panneau Intégration Microsoft Teams, avec &quot;Installer le bot RandomCoffee&quot; et le bouton Installer" />

2. **Ajoutez l'application à une équipe.**

   Microsoft Teams s'ouvre sur l'application RandomCoffee. Ouvrez le menu à côté de "Add" et choisissez "Add to a team".

   ![L'application RandomCoffee dans Microsoft Teams, avec l'option Add to a team](../../../../../assets/articles/microsoft-teams/add-to-a-team.jpg)

3. **Choisissez l'équipe.**

   L'application s'installe dans une équipe, à partir de l'un de ses canaux. Sélectionnez votre équipe (et le canal), puis cliquez sur "Set up".

   ![La fenêtre Add RandomCoffee to a team, avec une équipe et un canal sélectionnés et le bouton Set up](../../../../../assets/articles/microsoft-teams/set-up-in-a-channel.jpg)

   <Callout type="note">
     Choisissez un canal standard. RandomCoffee ne fonctionne pas dans un canal privé pour le moment.
   </Callout>

4. **Sélectionnez le programme à associer.**

   Dans la fenêtre RandomCoffee, sélectionnez le programme à relier à l'équipe, puis cliquez sur "Enregistrer".

   <TeamsInstallConfig alt="La fenêtre RandomCoffee dans Microsoft Teams : &quot;Terminer l'installation de Micosoft Teams&quot;, avec la liste des programmes d'Acme ouverte et &quot;☕ Cafés virtuels&quot; sélectionné, puis le bouton Enregistrer" />

   <Callout type="danger">
     Si vous sélectionnez un programme existant déjà en cours, ses modèles de communication sont réinitialisés pour être compatibles avec les cartes Microsoft Teams. Adaptez vos modèles de messages une fois l'installation terminée : voir [Personnaliser les messages](/fr/admin/programs/personalize-messages/).
   </Callout>

5. **Vérifiez la confirmation.**

   Votre programme est maintenant associé à l'équipe. Le bot RandomCoffee vous envoie, en privé, une carte "Nouveau programme RandomCoffee pour l'équipe !".

   <TeamsProgramAssociatedCard alt="La carte &quot;Nouveau programme RandomCoffee pour l'équipe !&quot; envoyée par le bot RandomCoffee pour le programme &quot;☕ Cafés virtuels&quot; et l'équipe &quot;Pause café&quot;, avec le bouton &quot;⚙️ Configurez votre programme&quot;" />

6. **Terminez la configuration du programme.**

   Cliquez sur "⚙️ Configurez votre programme" dans la carte, ou allez dans votre espace de travail RandomCoffee, pour choisir vos règles de matching, personnaliser vos messages et planifier les prochaines sessions.

</Steps>

Dans RandomCoffee, la section "Communication" des "Paramètres" du programme indique désormais "Microsoft Teams" comme canal, et l'équipe apparaît dans "Microsoft Teams", dans la section "Inscription".

<ProgramCommunicationChannel alt="La section Communication des paramètres du programme &quot;☕ Cafés virtuels&quot; : sous &quot;Canal de communication&quot;, Microsoft Teams est sélectionné, à côté d'Email et de Slack" />

Vous pouvez associer plusieurs équipes à un même programme : le programme sélectionne alors les participants dans toutes ces équipes.

<MicrosoftTeamSetting alt="Le réglage Microsoft Teams de la section Inscription des paramètres d'un programme, avec deux équipes sélectionnées : Acme Londres et Customer Success" />

Qui participe au programme, et ce qui se passe quand une personne rejoint ou quitte une équipe, est expliqué dans [Synchroniser les membres depuis Slack ou Microsoft Teams](/fr/admin/members/sync-from-slack-or-teams/).

## Authentification unique (SSO)

### Fonctionnement

RandomCoffee utilise un protocole de SSO discret dans Microsoft Teams. Une personne qui a un compte RandomCoffee est reconnue automatiquement grâce à son adresse email et reliée à son compte Microsoft Teams. Cette étape est invisible pour elle.

C'est ce qui permet à un admin, quand il ajoute l'application à une équipe, de retrouver directement dans Teams les données de son compte RandomCoffee (comme ses programmes existants). Un admin qui n'a pas encore d'espace de travail RandomCoffee est invité à en créer un, avec un premier programme, avant de continuer.

Pour les utilisateurs de l'application, cela signifie :

- Teams obtient le jeton d'accès de l'utilisateur auprès de Microsoft Entra ID (anciennement Azure AD), sans que l'utilisateur quitte Teams.
- Le consentement n'est demandé qu'une fois. Si l'application et l'utilisateur sont dans le même tenant, aucun consentement n'est nécessaire.
- Un administrateur du tenant peut donner son consentement pour tous les utilisateurs : personne ne voit alors de fenêtre de consentement.
- Teams récupère le jeton à l'avance, ce qui accélère le chargement, et les utilisateurs n'ont pas de mot de passe supplémentaire à retenir.

Quand le consentement manque, l'application affiche "Accorder le consentement de l’utilisateur ou de l’administrateur" avec un bouton "Donner son consentement".

### Déroulé à l'exécution

| # | Interaction | Ce qui se passe |
| --- | --- | --- |
| 1 | Onglet vers client Teams | L'onglet appelle `getAuthToken()` pour demander un jeton d'accès à Teams. |
| 2 | Client Teams vers Microsoft Entra ID | Teams demande un jeton d'accès pour l'utilisateur, à partir de son identité Teams. |
| 3 | Microsoft Entra ID vers demande de consentement | À la première utilisation, si l'application a besoin de données protégées, l'utilisateur (ou l'administrateur) doit donner son consentement. Une authentification renforcée, comme l'authentification à deux facteurs, peut aussi être demandée. |
| 4 | Microsoft Entra ID vers client Teams | Microsoft Entra ID renvoie le jeton d'accès, un JSON Web Token (JWT). Teams le met en cache pour les appels suivants. |
| 5 | Client Teams vers onglet | Teams renvoie le jeton dans le résultat de `getAuthToken()`. |
| 6 | Onglet (client et serveur) | Le serveur RandomCoffee échange le jeton (flux on-behalf-of) contre un jeton Microsoft Graph avec le scope `User.Read` et identifie l'utilisateur. |

Pour aller plus loin, consultez la documentation de Microsoft : [Overview of authentication for tabs using SSO in Teams with Microsoft Entra ID](https://learn.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/authentication/tab-sso-overview).

## Provisionnement des utilisateurs

Une fois le bot RandomCoffee installé dans votre équipe, RandomCoffee récupère auprès de Microsoft Teams la liste des membres de l'équipe. Il ne lit que les informations de base dont il a besoin pour chaque membre : prénom, nom et adresse email. RandomCoffee génère ensuite les binômes et les publie dans Teams.

![Flux de données entre Microsoft Teams et RandomCoffee : RandomCoffee récupère le prénom, le nom et l'email de chaque utilisateur, ajoute ses propres catégories, génère les binômes et les publie dans Teams](../../../../../assets/articles/microsoft-teams/teams-provisioning-data-flow.png)

## Permissions de l'application

L'application RandomCoffee peut appeler les API de Microsoft une fois que les utilisateurs ou les admins ont donné leur consentement.

**Permissions du manifeste de l'application Teams**

- `identity`
- `messageTeamMembers`

**Permissions déléguées Microsoft Entra ID**

- `User.Read` (Microsoft Graph)
- `email`
- `openid`
- `profile`
- `offline_access`

## Désinstaller l'application

<Steps>

1. Dans Microsoft Teams, faites un clic droit sur l'application RandomCoffee dans la barre de gauche, puis choisissez "Uninstall".
2. Confirmez avec "Remove".

</Steps>

## FAQ

<Accordions>
<AccordionItem title="L'intégration Microsoft Teams et l'intégration SIRH peuvent-elles fonctionner ensemble ?">

Oui. Les utilisateurs provisionnés depuis Microsoft Teams qui existent aussi dans votre SIRH sont reconnus grâce à leur adresse email et complétés avec les données de votre SIRH, que vous pouvez utiliser dans vos règles de matching. Voir [Intégration SIRH](/fr/documentation/integrations/hris/).

</AccordionItem>
<AccordionItem title="Les membres ont une erreur quand ils cliquent sur un bouton d'une carte RandomCoffee">

L'application est probablement bloquée ou indisponible pour eux dans votre tenant. Voir [Configurer RandomCoffee dans le centre d'administration Teams](/fr/documentation/integrations/teams-admin-center/#dépannage).

</AccordionItem>
</Accordions>
