Microsoft 365 instellen voor uw omgeving
Er zijn twee manieren om Microsoft 365 aan uw AI-School-omgeving te koppelen. Kies eerst welke route bij uw organisatie past.
| Route | Wanneer | Wat u doet |
|---|---|---|
| Centrale app van AI-School (standaard) | Persoonlijke koppelingen met Outlook Mail, Outlook Agenda, Teams en SharePoint/OneDrive. | Een Entra-beheerder geeft organisatietoestemming via Microsoft 365 koppelen. Daarna geeft u de integraties vrij zoals in stap 5 van dit artikel. Een eigen app, client secret of Identity Provider is niet nodig. |
| Eigen Entra-app | U wilt SharePoint-mappen centraal in de kennisbank importeren, medewerkers loggen al met Microsoft in via een eigen app, of u wilt de app zelf beheren. | Volg dit artikel vanaf stap 1. |
Logt uw organisatie al in met Microsoft via een eigen app (het veld Microsoft ID van de omgeving is ingevuld), dan gebruiken alle koppelingen die eigen app. De centrale route is dan niet van toepassing.
Eigen Entra-app
Met een eigen Microsoft Entra-app kan uw organisatie dezelfde app gebruiken voor aanmelden met Microsoft en voor Outlook, Teams en SharePoint. U bepaalt centraal welke integraties en schrijfacties beschikbaar zijn. Gebruikers zetten daarna alleen hun persoonlijke koppelingen aan of uit in Voorkeuren → Tools → Koppelingen.
De persoonlijke integraties werken met ondersteunde modellen van OpenAI, Claude, Gemini en Mistral. Het gekozen model moet tools kunnen gebruiken. Bij persoonlijke koppelingen volgt de toegang de rechten van de aangemelde Microsoft-gebruiker. Organisatietoestemming meldt niet alle medewerkers automatisch aan en geeft de AI geen zelfstandige toegang tot alle mailboxen. De centrale SharePoint-kennisbank gebruikt afzonderlijke apprechten en de bestaande kennisbankrechten, zoals verderop in dit artikel beschreven.
Wat hebt u nodig?
- Een Microsoft 365-organisatie met Microsoft Entra ID en accounts met toegang tot de gewenste diensten.
- Een beheerder die een app mag registreren en organisatietoestemming voor de gekozen Microsoft Graph-rechten mag verlenen. Alleen een Azure-abonnementsrol is hiervoor niet voldoende; uw Entra-rol moet deze toestemming toestaan.
- Beheerrechten in de juiste AI-omgeving om integraties beschikbaar te maken.
- Een platformbeheerder die de Microsoft Identity Provider voor deze AI-omgeving kan instellen in Google Cloud Identity Platform.
- Een app registration in uw eigen Microsoft-directory, met een client secret en de twee omleidings-URL's van het juiste merk.
Aanmelden met Microsoft en toegang tot Microsoft-gegevens zijn twee afzonderlijke functies. Alleen een werkende Microsoft-login betekent nog niet dat Outlook, Teams of SharePoint is ingesteld.
1. Registreer één organisatie-app
Open het Microsoft Entra-beheercentrum en ga naar App registrations → New registration. Gebruik een herkenbare naam, bijvoorbeeld AI-School – uw organisatienaam. Kies voor een eigen organisatie Accounts in this organizational directory only (Single tenant).
Bewaar de volgende gegevens uit Overview:
| Gegeven | Waarvoor? |
|---|---|
| Directory (tenant) ID | De Microsoft-directory van uw organisatie; dit komt in het veld Microsoft ID van de AI-omgeving. |
| Application (client) ID | De geregistreerde app; dit komt in de Microsoft Identity Provider. |
Deze twee ID's zijn verschillend. Vul bij Microsoft ID niet de client ID of het Firebase-tenant-ID in.
2. Stel de juiste omleidings-URL's in
Ga naar Authentication → Add a platform → Web. Voeg voor uw merk beide onderstaande URL's toe, exact zoals weergegeven. De eerste verwerkt het aanmelden; de tweede verwerkt toestemming voor de werkaccountintegraties.
| Merk | Aanmelden met Microsoft | Werkaccountintegraties |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
Gebruik de URL's van het merk waarop uw omgeving draait. Uw eigen organisatienaam of tenant-ID hoeft niet in deze URL's te worden ingevuld. De website-URL, dashboard-URL en .web.app-URL vervangen deze callbacks niet. Registreer ze als Web, ook al gebruikt u de integratie vanuit een browser. U hoeft hiervoor geen impliciete tokenuitgifte of public-client-flow aan te zetten.
3. Maak een client secret en ken rechten toe
Ga naar Certificates & secrets → Client secrets → New client secret. Kies een passende looptijd en bewaar de Value veilig zodra die zichtbaar is. Lever de waarde aan via het afgesproken beveiligde kanaal voor platformbeheer; de Secret ID is niet de client secret. Houd de vervaldatum bij en vervang het secret vóór die datum, ook in de Identity Provider.
Ga daarna naar API permissions → Add a permission → Microsoft Graph → Delegated permissions. Voeg alleen de rechten toe voor de integraties en acties die uw organisatie gaat aanbieden.
| Integratie | Leesrechten | Extra rechten voor schrijven |
|---|---|---|
| Profiel / basis | User.Read; de aanmeldflow vraagt ook openid, profile, email en offline_access | Geen |
| Outlook Mail | Mail.Read | Concepten: Mail.ReadWrite. Verzenden: Mail.Send. |
| Outlook Agenda | Calendars.Read | Schrijven: Calendars.ReadWrite. |
| Microsoft Teams | Chat.Read, ChannelMessage.Read.All | Posten: Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send. |
| SharePoint / OneDrive | Sites.Read.All, Files.Read.All | Deze werkaccountintegratie biedt hier geen schrijfacties. |
Mail.ReadWrite geeft geen verzendrecht; daarvoor is afzonderlijk Mail.Send nodig. Teams-posten schrijft tekstberichten in een gekozen kanaal, geen privéchatberichten. Voor deze integratie gebruikt u Delegated permissions, geen Application permissions. Ook bij rechten met All in de naam blijft gedelegeerde toegang beperkt door de toegang van de gebruiker.
Klik op Grant admin consent for uw organisatie en controleer dat de gekozen rechten als verleend worden weergegeven. Zo kunnen medewerkers de goedgekeurde toegang gebruiken zonder zelf organisatierechten te hoeven verlenen. Microsoft kan nog wel om aanmelden, MFA of hernieuwde toestemming vragen, afhankelijk van uw beleid.
4. Koppel de app op twee plaatsen aan de AI-omgeving
Laat de platformbeheerder de juiste omgeving selecteren en deze instellingen uitvoeren:
- In Admin → Omgeving → Tenant: schakel de inlogmethode Microsoft in en vul bij Microsoft ID de Directory (tenant) ID in.
- In Google Cloud → Identity Platform → de betreffende tenant → Identity providers → Microsoft: schakel de provider in en vul de Application (client) ID en de client secret Value van dezelfde Entra-app in.
De Identity Provider hoort bij de Firebase/Identity Platform-tenant van uw AI-omgeving, niet bij een andere organisatie of de algemene Admin omgeving. De werkaccountintegratie gebruikt de app uit deze provider opnieuw. De client secret hoort niet in gebruikersvoorkeuren, chatberichten of gewone omgevingsvelden.
Lever aan platformbeheer de organisatienaam, het merk, de Directory ID, de client ID, de secretwaarde via het beveiligde kanaal, de vervaldatum en de gewenste integraties/rechten aan. Een app-ID alleen is niet voldoende.
5. Geef de integraties en schrijfacties vrij
Open de beheeromgeving van uw organisatie → Tools → MCP. Zet bij Suite-snelkoppelingen de integratie Microsoft 365 aan. De Microsoft-rijen worden zichtbaar; wanneer de hele suite uitstaat, blijven die rijen verborgen.
Kies per integratie of die beschikbaar is. In de kolom Schrijfacties kiest u afzonderlijk:
- Outlook Mail → Concepten: concepten maken en wijzigen.
- Outlook Mail → Verzenden: een bestaand concept daadwerkelijk verzenden.
- Outlook Agenda → Schrijven: afspraken maken en wijzigen.
- Microsoft Teams → Posten: tekstberichten in een gekozen Teams-kanaal plaatsen.
Klik op Opslaan. Een schrijfactie werkt alleen als zowel de integratie als het bijbehorende beheerrecht aanstaat, Microsoft de benodigde rechten heeft verleend en de gebruiker de koppeling persoonlijk heeft aangezet. De gebruiker krijgt hiervoor geen extra schrijfrechtenformulier.
De instellingen moeten ook ondersteund worden door de backend van uw merk. Deze schrijfuitbreiding is op 7 oktober 2026 gericht gepubliceerd en getest voor OnderwijsSupport op AI-Corporate. Dat betekent niet automatisch dat dezelfde uitbreiding al voor AI-School, AI-Public of iedere andere omgeving is vrijgegeven. Vraag platformbeheer om bevestiging wanneer schrijfacties ontbreken.
6. Controleer de inrichting
Laat een gebruiker aanmelden op de juiste AI-omgeving en de gewenste integratie aanzetten volgens Microsoft-integraties gebruiken. Controleer of Microsoft de naam van uw eigen Entra-app toont.
Test eerst een herkenbaar concept en een afspraak zonder deelnemers. Controleer de opgeslagen items in Outlook. Test verzenden vervolgens met een afgesproken testontvanger en Teams-posten in een afgesproken testkanaal. Een afspraak met deelnemers kan uitnodigingen of updates versturen. Een geaccepteerde verzendopdracht is nog geen bevestigde aflevering.
Bij uitbreiding van rechten probeert de koppeling tokens te vernieuwen. Als Microsoft opnieuw aanmelden of toestemming vereist, laat de gebruiker de bestaande koppeling opnieuw verbinden. Er hoeft geen tweede app of aparte gebruikersinstelling te worden gemaakt.
Problemen oplossen
| Probleem | Controle |
|---|---|
AADSTS50011 / redirect mismatch | Beide callbacks exact geregistreerd als Web, voor het juiste merk. |
| Een andere appnaam verschijnt bij toestemming | De juiste AI-omgeving, Directory ID en tenant-specifieke Microsoft Identity Provider; verbind daarna opnieuw. |
| Login werkt, maar de integratie niet | Ook de connectorcallback, Graph-rechten en organisatietoestemming controleren. |
| Lezen lukt, schrijven niet | Beheerrecht, bijbehorend gedelegeerd Graph-recht, verleende toestemming en backendbeschikbaarheid controleren. |
| Client secret ongeldig of verlopen | De Value, niet de Secret ID; nieuw secret ook in de Identity Provider bijwerken. |
| Integratie ontbreekt bij de gebruiker | Beschikbaarheid in Tools, gebruikersrechten voor koppelingen en de geselecteerde AI-omgeving controleren. |
Meer informatie
- Tools beheren
- Microsoft-integraties gebruiken
- Microsoft: een app registreren
- Microsoft: omleidings-URL's
- Microsoft Graph: rechtenoverzicht
Centrale SharePoint-kennisbank: Microsoft instellen
Een centraal gekoppelde map werkt via de organisatie-app, zonder dat iedere medewerker een persoonlijke SharePoint-koppeling aanzet. Hiervoor zijn twee afzonderlijke toestemmingen nodig: een applicatierecht met admin consent, én een read-grant op precies de map (of site) die de app mag lezen. Een werkende Microsoft-login of alleen admin consent geeft nog geen toegang.
Er zijn twee manieren. Kies per gekoppelde map één manier; de AI-omgeving valt nooit automatisch terug op de andere.
| Mapgrant (aanbevolen) | Sitegrant | |
|---|---|---|
| Applicatierecht | Files.SelectedOperations.Selected | Sites.Selected |
| Grant op | De gekozen map in een documentbibliotheek | De hele site |
| Wat de app kan lezen | Deze map en submappen die de grant erven | Alle bibliotheken en mappen van de site |
| Bestaande SharePoint-inrichting | Blijft; geen aparte site nodig | Bij voorkeur een aparte site voor gedeelde kennis |
| Gevolg in SharePoint | Rechtenovererving van de map wordt verbroken (zie hieronder) | Geen gevolg voor overerving |
1. Controleer de organisatie-app
Gebruik dezelfde single-tenant app registration als voor Microsoft-aanmelden in uw AI-omgeving. Een bestaande app kan worden uitgebreid; een tweede integratie-app is niet nodig. Controleer in Microsoft Entra → App registrations → uw app → Overview de Directory (tenant) ID en Application (client) ID. Gebruik hieronder de client ID, niet de Object ID.
De Directory ID moet in Admin → Omgeving → Tenant → Microsoft ID staan. De client ID en de Value van een geldig client secret moeten bij de Microsoft Identity Provider van precies die AI-omgeving staan. Deze configuratie wordt door platformbeheer bijgehouden. Een verlopen secret verhindert ook de centrale import; houd de vervaldatum bij en vervang de secret tijdig.
De centrale serververbinding gebruikt client_credentials en vraagt geen extra redirect-URL. De bestaande Web-redirects voor aanmelden en persoonlijke werkaccountintegraties blijven nodig; gebruik de merkgebonden URL's uit de tabel eerder in dit artikel.
2. Voeg het applicatierecht toe en verleen admin consent
- Open API permissions → Add a permission → Microsoft Graph → Application permissions.
- Zoek Files.SelectedOperations.Selected (mapgrant) of Sites.Selected (sitegrant), selecteer het recht en klik op Add permissions.
- Laat een bevoegde Entra-beheerder Grant admin consent for uw organisatie uitvoeren.
- Controleer dat het recht, type Application, als verleend wordt weergegeven.
De kennisbankapp heeft alleen leesrechten nodig. Ken haar geen applicatierecht Sites.Read.All, Files.Read.All, Sites.ReadWrite.All, Files.ReadWrite.All of Sites.FullControl.All toe. Zulke brede rechten geven toegang buiten de gekozen map en maskeren een ontbrekende of ingetrokken mapgrant. Kiest u de mapgrant, verwijder dan ook een eerder toegevoegd Sites.Selected en de bijbehorende sitegrant, zodat de mapgrant de enige grens is. De bronlijst in AI-School waarschuwt wanneer de app zulke aanvullende rechten heeft.
De gedelegeerde rechten voor persoonlijke Outlook-, Teams- en SharePoint-koppelingen kunnen op dezelfde app blijven staan. Zij vervangen het applicatierecht voor de centrale kennisbank niet.
3. Geef de app leestoegang tot de map of de site
Deze beheerhandeling kan met Microsoft Graph Explorer. Gebruik een beheeraccount in dezelfde Microsoft-directory, met SharePoint Administrator of een hogere geschikte beheerdersrol en toegang tot de betreffende site. Een Azure-abonnementsrol of alleen eigenaarschap van de app is hiervoor niet voldoende.
- Meld het beheeraccount aan bij Graph Explorer en controleer de getoonde organisatie.
- Open uw profielmenu → Consent to permissions, zoek Sites.FullControl.All en kies Consent. Dit is een delegated beheerecht voor Graph Explorer om grants te beheren; voeg het niet toe als applicatierecht op de kennisbankapp. Gebruik accountgebonden toestemming wanneer organisatietoestemming voor alle gebruikers niet nodig is.
- Zoek de drive-ID en de item-ID van de map. In het koppelformulier van AI-School staat, zodra de map-URL is ingevuld, de kant-en-klare GET-opdracht. U kunt deze ook zelf samenstellen: codeer de map-URL als base64url (zonder
=aan het eind) en zetu!ervoor.
GET https://graph.microsoft.com/v1.0/shares/u!GECODEERDE-MAP-URL/driveItem?$select=id,name,webUrl,parentReference
In het antwoord is id de item-ID van de map en parentReference.driveId de drive-ID van de bibliotheek (begint met b!). Controleer name en webUrl: dit moet de map zijn die u wilt delen. Werkt de share-opdracht niet, gebruik dan de bibliotheek en het pad:
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite:/drives?$select=id,name,webUrl
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/root:/Pad/Naar/Map?$select=id,name,webUrl
- Controleer eerst bestaande grants op de map. Staat uw client ID er al met rol
read, dan hoeft u geen tweede grant aan te maken.
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions
- Ontbreekt de grant, kies POST op hetzelfde adres en vul bij Request Body het volgende JSON in.
CLIENT-ID-VAN-UW-APPis de Application (client) ID van uw integratie-app, niet de Graph Explorer-app. Gebruik uitsluitend de rolread.
{
"roles": ["read"],
"grantedToV2": {
"application": {
"id": "CLIENT-ID-VAN-UW-APP"
}
}
}
- Kies Run query. Een geslaagde toevoeging geeft 201 Created. Controleer in het antwoord de rol
readen de client ID en bewaar de permission-ID (id) voor latere controle of intrekking. - Herhaal dit alleen voor iedere andere map die u bewust wilt koppelen. Iedere gekoppelde map heeft een eigen grant.
Microsoft verbreekt de rechtenovererving op de map waarop u een applicatiegrant zet. De bestaande gebruikersrechten van de map worden op dat moment gekopieerd, maar latere wijzigingen in de rechten van de bovenliggende site of bibliotheek gelden niet meer automatisch voor deze map. Controleer daarom na het toekennen de gebruikersrechten van de map en beheer ze voortaan op de map zelf. Houd rekening met de Microsoft-limiet voor unieke rechten per bibliotheek. Zet de map niet terug naar overgenomen rechten: daarmee verdwijnt ook de grant van de app.
Submappen en bestanden met eigen rechten. Submappen en bestanden die rechten van de gekozen map erven, vallen onder de grant. Heeft een submap of bestand eigen (verbroken) rechten zonder de app, dan kan de app die niet lezen. AI-School slaat zo'n submap volledig over en meldt het aantal in de bronlijst; eerder geïmporteerde documenten daaruit worden ingetrokken. Een naburige map of een andere bibliotheek is nooit leesbaar.
Sitegrant (alternatief)
Gebruikt u Sites.Selected, zoek dan de site-ID met GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl, controleer bestaande grants met GET .../sites/SITE-ID/permissions en voeg zo nodig met POST op hetzelfde adres de grant toe:
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
Een sitegrant geeft de app leestoegang tot de hele site. AI-School importeert alleen de gekozen map, maar dat filter is geen Microsoft-autorisatiegrens.
4. Koppel de map en controleer het resultaat
Open Beheer → Kennisbank → Toevoegen → SharePoint-mappen → Map koppelen. Vul de echte map-URL in, uit de adresbalk van de bibliotheek of van OneDrive (geen uitnodigingslink), en kies bij Microsoft-toegang van de organisatie-app de mapgrant of de sitegrant. Vul bij een mapgrant de drive-ID en item-ID van stap 3 in. AI-School leest daarmee alleen die map en controleert dat de map-URL bij de ID's hoort; bij een verschil wordt de koppeling geweigerd. Een map in OneDrive for Business kan ook worden gekoppeld, maar die hoort bij één medewerker: vertrekt die medewerker, dan verdwijnt de map en daarmee de kennisbron. Gebruik voor blijvende kennis bij voorkeur een SharePoint-site. Kies bereik, doelgroep en publicatiestatus volgens de kennisbankhandleiding.
Controleer met Vernieuwen of de documenten zijn verwerkt zonder fouten. Gebruik Nu synchroniseren voor een nieuwe controle en stel vervolgens een concrete chatvraag over een geïmporteerd document. Controleer dat het antwoord de juiste centrale kennisbron vermeldt.
De grant bepaalt welke map de app mag lezen. Welke gebruikers de geïmporteerde documenten krijgen, bepalen de kennisbankrechten in AI-School (school, doelgroep, afdelingen). Individuele SharePoint-rechten worden niet overgenomen. Koppel besloten sectie- of teaminhoud daarom alleen met een even besloten kennisbankdoelgroep.
5. Grant intrekken
Verwijder de grant met DELETE op https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID (sitegrant: .../sites/SITE-ID/permissions/PERMISSION-ID). Intrekken van de admin consent blokkeert de app voor alle grants tegelijk.
Bij de eerstvolgende controle krijgt AI-School geen toegang meer tot de map. Alle documenten van die bron worden dan niet meer aangeboden, ook niet in chatantwoorden, en de bronlijst toont dat Microsoft de toegang weigert. Dat gebeurt niet direct: de automatische controle draait iedere 15 minuten voor maximaal 20 bronnen per ronde, dus met meer bronnen duurt het langer. Gebruik Nu synchroniseren of Ontkoppelen voor onmiddellijk effect. Hetzelfde geldt voor een verplaatste of verwijderde map.
| Probleem | Controle aan Microsoft-zijde |
|---|---|
| Login werkt, maar de centrale map niet | Het applicatierecht moet van type Application zijn én admin consent hebben; controleer daarnaast de afzonderlijke grant op de map of site. |
| "Microsoft weigert de toegang tot de map" | Juiste Microsoft-directory, drive-ID, map-ID, client ID en read-grant; is de map verplaatst, verwijderd of teruggezet naar overgenomen rechten? |
| Koppelen geweigerd terwijl de grant bestaat | De map-URL hoort niet bij de ingevulde ID's. Kopieer de URL opnieuw uit de bibliotheek en controleer webUrl in het Graph-antwoord. |
| Waarschuwing over aanvullende rechten | Verwijder brede applicatierechten en, bij een mapgrant, Sites.Selected met de sitegrant. |
| Submappen overgeslagen | Die submappen hebben eigen rechten zonder de app. Laat ze de rechten erven of geef bewust een eigen read-grant. |
403 bij de beheerhandeling in Graph Explorer | Delegated Sites.FullControl.All, verleende toestemming, beheerdersrol en toegang tot de site. Voeg geen breed recht toe aan de integratie-app als oplossing. |
| "De organisatie-app kon niet bij Microsoft aanmelden" | Laat platformbeheer de nieuwe secret Value in de juiste Microsoft Identity Provider bijwerken; controleer admin consent. |
Voor OnderwijsSupport op AI-Corporate is de centrale koppeling met sitegrant op 14 oktober 2026 gepubliceerd en getest. De mapgrant is beschikbaar zodra de betreffende release is gepubliceerd. Beschikbaarheid op AI-School, AI-Public of een andere omgeving moet door platformbeheer worden bevestigd.
Microsoft-documentatie: Selected permissions, grant op een map toevoegen, share-URL coderen en sitegrant toevoegen.