Installer Foundry Agents dans SharePoint et Teams
Construisez le package .sppkg depuis le dépôt GitHub, déployez-le dans le catalogue d'applications du tenant, puis approuvez ses trois autorisations d'API. Donnez aux utilisateurs le rôle Foundry User (ex-Azure AI User) sur le projet Azure AI Foundry. Ajoutez la web part sur une page, saisissez l'ID de l'agent et l'URL du projet, puis synchronisez la solution avec Teams.
Avant de commencer
- Un tenant Microsoft 365 avec SharePoint Online et Microsoft Teams.
- Un abonnement Azure avec au moins un projet Azure AI Foundry et un agent créé dans ce projet.
- Un compte administrateur capable de déployer dans le catalogue d'applications et d'approuver des autorisations d'API Microsoft Graph.
- Le droit d'attribuer des rôles Azure sur la ressource Foundry (par exemple le rôle Owner).
- Node.js 22 (version >=22.14 et <23) et Git pour construire le package.
Étape 1 : Relever l'endpoint du projet et le nom de l'agent
Ouvrez votre projet dans Azure AI Foundry. Notez l'URL du point de terminaison du projet. Elle a la forme https://<resource>.services.ai.azure.com/api/projects/<project>.
Notez aussi le nom de l'agent tel qu'il apparaît dans Foundry, par exemple hr-assistant. La web part référence l'agent par ce nom.
Le projet doit exister avant le déploiement du package. Sans lui, l'autorisation Azure Machine Learning Services n'est pas reconnue.
Vérification : Vous avez une URL qui se termine par /api/projects/<nom du projet> et le nom exact d'un agent.
Étape 2 : Construire le package .sppkg
Le dépôt ne publie pas de release : le package se construit depuis le code source.
Clonez le dépôt, installez les dépendances puis lancez la construction en mode production.
git clone https://github.com/Youssef-El-Garmit/spfx-foundry-agents.git
cd spfx-foundry-agents
npm ci
npx gulp bundle --ship
npx gulp package-solution --shipVérification : Le fichier sharepoint/solution/spfx-foundry-agents.sppkg existe.
Étape 3 : Déployer la solution dans le catalogue d'applications
Ouvrez le catalogue d'applications (App Catalog) du tenant. Chargez le fichier spfx-foundry-agents.sppkg.
Dans la boîte de dialogue, cochez l'option qui rend la solution disponible sur tous les sites de l'organisation, puis sélectionnez Deploy. Ce déploiement à l'échelle du tenant est aussi nécessaire pour l'utiliser dans Teams.
Vérification : La solution « Foundry Agents by Nemoura » apparaît dans le catalogue, sans message dans la colonne App Package Error Message.
Étape 4 : Approuver les autorisations d'API
Le déploiement crée trois demandes d'autorisation. Ouvrez le centre d'administration SharePoint, page API access, et approuvez-les.
Azure Machine Learning Services / user_impersonation : appeler vos agents Foundry au nom de l'utilisateur connecté.
Microsoft Graph / User.Read : profil de l'utilisateur et contrôle de l'audience.
Microsoft Graph / Files.ReadWrite.All : pièces jointes, panneau de document et appels de fonctions délégués sur les fichiers.
Ces autorisations sont déléguées : l'utilisateur n'obtient jamais plus que ses propres droits.
Vérification : Les trois demandes figurent dans la liste des autorisations approuvées de la page API access.
Étape 5 : Donner aux utilisateurs l'accès au projet Foundry
Dans le portail Azure, ouvrez la ressource Foundry puis Access control (IAM). Ajoutez une attribution de rôle Foundry User. Microsoft a renommé ce rôle : il s'appelait Azure AI User, et le README du projet emploie encore cet ancien nom.
Dans Members, choisissez User, group, or service principal. Sélectionnez les utilisateurs ou un groupe Entra, puis Review + assign.
Voir la web part demande seulement l'accès à la page. Discuter avec un agent demande ce rôle.
Vérification : Le rôle apparaît dans l'onglet Role assignments de la ressource pour les utilisateurs ou le groupe choisis.
Étape 6 : Ajouter la web part et configurer un agent
Modifiez une page SharePoint et ajoutez la web part Foundry Agents (catégorie Avancé). Dans la section « Configuration des agents », sélectionnez « Ajouter un agent ».
Renseignez le « Nom d'affichage », l'« ID de l'agent » (le nom de l'agent dans Foundry) et l'« URL du point de terminaison » (l'endpoint du projet). Ces trois champs sont obligatoires.
Le champ « Audience » est facultatif : vide, l'agent est proposé à tout le monde. Sinon, choisissez des utilisateurs, des groupes Entra ou des groupes SharePoint.
Les suggestions de messages, l'icône, les pièces jointes, les appels de fonctions et la dictée vocale sont optionnels. Les appels de fonctions sont désactivés par défaut, et les méthodes DELETE et PATCH sont bloquées par défaut.
La configuration s'exporte et s'importe sous forme de tableau JSON, pratique pour la reprendre sur une autre page.
[
{
"displayName": "Assistant RH",
"agentId": "hr-assistant",
"endpointUrl": "https://<resource>.services.ai.azure.com/api/projects/<project>",
"iconType": "fluent",
"fluentIconName": "Bot24Regular"
}
]Vérification : Après publication de la page, un utilisateur qui a le rôle envoie un message et reçoit une réponse en streaming.
Étape 7 : Rendre la solution disponible dans Teams
Dans le catalogue d'applications, sélectionnez le package puis Sync to Teams dans l'onglet Files du ruban.
Dans Teams, ouvrez Apps : l'application apparaît dans les applications de votre organisation après quelques minutes.
Pour un onglet de canal, sélectionnez + dans le canal, choisissez l'application, puis Add et Save. Pour configurer l'onglet, faites un clic droit sur son nom puis « Paramètres ».
La solution fonctionne aussi comme application personnelle Teams. Dans ce cas, la configuration se fait depuis le bouton « Paramètres » de l'application.
Vérification : Un message de réussite de la synchronisation s'affiche et l'application est disponible dans Teams.
Erreurs fréquentes
- Le centre d'administration affiche « The requested permission isn't valid » pour Azure Machine Learning Services.
- Cette autorisation n'est valide qu'une fois au moins un projet Azure AI Foundry créé dans le tenant. Créez le projet, puis redéployez le package.
- L'approbation des autorisations Microsoft Graph est refusée à l'administrateur SharePoint.
- Pour Microsoft Graph et les autres API Microsoft, l'approbation demande un administrateur général (Global Administrator). Le rôle SharePoint Administrator seul ne suffit pas.
- La web part s'affiche mais l'agent ne répond pas.
- Vérifiez que l'utilisateur a le rôle Foundry User (ex-Azure AI User) sur la ressource ou le projet, et que l'ID de l'agent et l'URL du point de terminaison sont exacts.
- Sync to Teams échoue après la mise à jour du package.
- Supprimez la version précédente de l'application dans Teams (Add a tab, More apps, menu …, Delete), puis relancez la synchronisation.
Sources
- Dépôt GitHub spfx-foundry-agents (README) (nouvel onglet)
- Autorisations demandées (package-solution.json) (nouvel onglet)
- Role-based access control for Microsoft Foundry (nouvel onglet)
- Connect to Microsoft Entra ID-secured APIs in SharePoint Framework solutions (nouvel onglet)
- Manage access to Microsoft Entra ID-secured APIs (nouvel onglet)
- Build Microsoft Teams tab using SharePoint Framework (nouvel onglet)