Microsoft 365
Office 365-integratie
Koppel Gfacility aan Office 365 voor gebruikers, ruimtes en agenda's. App-registratie, machtigingen, de keuze tussen volledige agendatoegang of Exchange RBAC, en de sync-frequentie.
Bijgewerkt op 1 okt 2026
Integraties · Authenticatie · 1.2
De integratie tussen Gfacility en Office 365 verloopt via een 2-legged approach met een app-registratie in Microsoft Entra ID (voorheen Azure Active Directory). Gfacility logt in met de eigen identiteit van die app, dus zonder pop-up of toestemming per gebruiker. Dat is stabieler en veiliger.
Hoe werkt het?
De koppeling bestaat uit vier onderdelen. Elk onderdeel zet je apart aan in Gfacility, bij Integraties & Aanmelden → Office 365. Ze werken allemaal via één app-registratie van jullie organisatie.
Gebruikerssync · elke nacht
Zet jullie medewerkers in Gfacility.
Afdelingssync · met de gebruikerssync
Koppelt elke medewerker aan zijn afdeling.
Locatiesync · elke nacht
Zet de vergaderruimtes in Gfacility, met gebouw en verdieping.
Agendasync · direct
Houdt reserveringen in Gfacility en Outlook gelijk.
Gebruikerssync
Elke nacht haalt Gfacility jullie medewerkers op uit Microsoft.
- Nieuwe medewerker? Die wordt aangemaakt.
- Gegevens gewijzigd? Naam, e-mailadres en telefoonnummer worden bijgewerkt.
- Uit dienst? Wie niet meer in Microsoft staat, wordt in Gfacility op inactief gezet.
Welke velden worden overgenomen?
| Veld in Microsoft | Veld in Gfacility |
|---|---|
Inlognaam (userPrincipalName) | E-mailadres |
Voornaam (givenName) | Voornaam |
Achternaam (surname) | Achternaam |
Mobiel nummer (mobilePhone) | Telefoonnummer |
Afdeling (department) | Primaire organisatie, alleen als de afdelingssync aan staat |
| Licentie | Actief of inactief |
Let op: het e-mailadres in Gfacility is de Microsoft-inlognaam, niet het veld E-mail. Meestal zijn die gelijk.
Niet overgenomen: functietitel, kantoorlocatie, vast telefoonnummer en profielfoto. Een nieuwe medewerker krijgt de standaardorganisatie en standaardlocatie van jullie omgeving; die kun je daarna in Gfacility aanpassen.
Goed om te weten:
- Alleen medewerkers met een Microsoft 365-licentie komen mee. Ruimtes en gedeelde mailboxen niet.
- De gebruikerssync regelt niet het inloggen. Hij zorgt er alleen voor dat Gfacility jullie medewerkers kent. Voor inloggen kies je Aanmelden met Microsoft of SSO.
Afdelingssync
De afdelingssync is een extra optie van de gebruikerssync. Je zet hem aan bij Integraties & Aanmelden → Office 365, direct onder de gebruikerssync. De schakelaar verschijnt pas als de gebruikerssync aan staat. Er is geen extra machtiging nodig: User.Read.All is genoeg.
Bij elke gebruikerssync leest Gfacility per gebruiker het veld Afdeling (Department) uit Microsoft Entra ID en koppelt de gebruiker aan de organisatie met die naam, als zijn primaire organisatie.
| Situatie | Wat Gfacility doet |
|---|---|
| Er bestaat een organisatie met die naam | De gebruiker wordt aan die organisatie gekoppeld. Gfacility zoekt eerst op naam, daarna op code, zonder op hoofdletters te letten. |
| Er bestaat nog geen organisatie | Gfacility maakt een nieuwe organisatie aan op het hoogste niveau, met de afdelingsnaam als naam én code, en het organisatietype Afdeling (of het standaardtype als dat niet bestaat). |
| De afdeling in Entra is leeg | De gebruiker houdt zijn huidige organisatie. Een nieuwe gebruiker krijgt de standaardorganisatie. |
| De afdeling van een gebruiker verandert | Bij de volgende sync wordt hij aan de nieuwe organisatie gekoppeld. |
Locatiesync (Places)
Elke nacht haalt Gfacility de vergaderruimtes op uit Microsoft. Per ruimte worden naam, capaciteit, gebouw en verdieping bijgewerkt. Een gebouw of verdieping die nog niet bestaat, maakt Gfacility zelf aan.
Welke velden worden overgenomen?
| Veld in Microsoft | Veld in Gfacility |
|---|---|
Weergavenaam (DisplayName) | Naam |
| E-mailadres van de ruimte | E-mailadres (de koppeling met de ruimte-agenda) |
Capaciteit (Capacity) | Capaciteit |
Gebouw (Building) | Gebouw (bovenliggende locatie) |
Verdiepingsnummer (Floor) | Verdieping (naam en code) |
| ID van de ruimte | Code |
Niet overgenomen: de naam van de verdieping (FloorLabel), adres en stad, apparatuur (scherm, audio, video), rolstoeltoegankelijkheid en tags.
Let op: bij elke sync zet Gfacility de ruimte ook weer op reserveerbaar en vult hij de omschrijving met een vaste tekst. Pas je die twee in Gfacility aan, dan worden ze bij de volgende sync teruggezet. Wil je dat een ruimte met rust gelaten wordt, zet dan in Gfacility de externe sync van die ruimte uit.
Hoe je dat in Microsoft instelt, lees je in Ruimtebeheer in Microsoft.
Agendasync
De agendasync werkt in twee richtingen:
- Van Gfacility naar Outlook. Maak je een reservering in Gfacility, dan staat die ook in de Outlook-agenda van de organisator, met de ruimte erbij. Wijzig of annuleer je hem, dan gebeurt dat ook in Outlook.
- Van Outlook naar Gfacility. Verplaats, wijzig of annuleer je die vergadering in Outlook, dan past Gfacility de reservering direct aan.
- Ruimte-agenda’s. Gfacility leest ook de agenda’s van de vergaderruimtes. Het planbord en de room displays laten dus ook vergaderingen zien die alleen in Outlook zijn geboekt.
Welke gegevens gaan mee?
| Gegevens | Richting |
|---|---|
| Titel | Beide kanten |
| Start- en eindtijd, hele dag | Beide kanten |
| Omschrijving | Beide kanten (de Teams-tekst wordt eruit gehaald) |
| Deelnemers (collega's en bezoekers) | Beide kanten |
| Ruimtes | Beide kanten. In Outlook staan ze als deelnemer én bij Locatie |
| Teams-vergadering en de link | Beide kanten |
| Annuleren | Beide kanten |
| Organisator | Van Outlook naar Gfacility |
| Catering en diensten | Blijven in Gfacility. Verandert de tijd of ruimte in Outlook, dan krijgen ze een melding ter controle |
Van de ruimte-agenda’s leest Gfacility per afspraak: titel, start- en eindtijd, organisator, aantal deelnemers en of de ruimte heeft geaccepteerd. Een afspraak die in Outlook als privé staat, toont Gfacility als “Private”.
Goed om te weten:
- Een vergadering die alleen in Outlook is geboekt, wordt geen reservering in Gfacility. De ruimte staat wel als bezet.
- Elke nacht controleert Gfacility of er wijzigingen zijn gemist, en haalt die alsnog binnen.
Hoe richt je het in?
Dat gaat in vier stappen:
- Een app-registratie maken in Microsoft.
- De machtigingen toewijzen.
- Kiezen hoe Gfacility bij de agenda’s mag.
- De gegevens invullen in Gfacility.
Daarna zet je in Gfacility de onderdelen aan die je wilt gebruiken.
1. Maak een app-registratie in Azure Portal
Maak een aparte app-registratie voor Gfacility, los van andere applicaties. Zo houd je de controle en de beveiliging in eigen hand.
| Stap | Wat te doen |
|---|---|
| 1 | Log in op de Azure Portal → App registrations. |
| 2 | Klik + New registration, voer een naam in. |
| 3 | Kies het juiste accounttype (bv. Accounts in this organizational directory only). |
| 4 | Redirect URI mag leeg blijven. |
| 5 | Klik Register. Noteer Application (client) ID en Directory (tenant) ID. |
| 6 | Ga naar Certificates & secrets. |
| 7 | Klik + New client secret, omschrijving + vervaldatum. |
| 8 | Klik Add. |
2. API-machtigingen toewijzen
Ga in de app-registratie naar API permissions → + Add a permission → Microsoft Graph. Voeg per use-case toe:
Gebruikersintegratie
Zodat Gfacility jullie medewerkers kent. Voor het inloggen zelf, zie Aanmelden met Microsoft of SSO.
- Application:
User.Read.All - Delegated:
User.Read
Plaatsen / Locaties
Automatische sync van vergaderruimtes uit Outlook.
- Application:
Place.Read.All
Agenda's (Outlook-afspraken)
Voor reserveringen, planning, analytics en room displays. Hiervoor kies je in stap 3 één van twee manieren. Voeg hier dus nog niets toe.
Gedeelde agenda's
Toegang tot gedeelde mailboxen.
- Delegated:
Calendars.Read.Shared - Delegated:
Calendars.ReadWrite.Shared
Klik tot slot op Grant admin consent for [Tenant]. Anders blijven de machtigingen in afwachting.
3. Kies hoe Gfacility bij de agenda’s mag
Gfacility moet afspraken kunnen lezen en schrijven in de agenda’s van ruimtes en gebruikers. Daarvoor kies je één van deze twee manieren:
Optie A · Alle agenda's
Het eenvoudigst. Gfacility krijgt toegang tot alle agenda's in jullie tenant.
- Application:
Calendars.ReadWrite
Voeg deze toe in Entra ID bij de machtigingen uit stap 2 en verleen beheerderstoestemming. Calendars.Read is niet nodig: ReadWrite omvat lezen al.
Optie B · Beperkt via Exchange RBAC
Gfacility krijgt alleen toegang tot de mailboxen die jullie aanwijzen, bijvoorbeeld de ruimtes en de medewerkers die boeken.
Voeg in Entra ID geen agendamachtiging toe. De toegang regel je in Exchange Online, zie de stappen hieronder.
Optie B stap voor stap (Exchange Online PowerShell)
1. Verbinding maken en de service principal aanmaken. Gebruik de Application ID en de Object ID van de ondernemingstoepassing (Enterprise Application), niet die van de app-registratie:
Connect-ExchangeOnline
New-ServicePrincipal `
-AppId "<Application ID>" `
-ObjectId "<Enterprise App Object ID>" `
-DisplayName "Gfacility Application RBAC"
2. Een scope maken. Op domein of op een mail-enabled groep (gewone security-groepen werken niet):
# Optie 1: op domein (nieuwe gebruikers vallen automatisch binnen de scope)
New-ManagementScope `
-Name "Gfacility-DomainScope" `
-RecipientRestrictionFilter "PrimarySmtpAddress -like '*@contoso.com'"
# Optie 2: op een mail-enabled groep (volledige controle)
$Group = Get-DistributionGroup "Gfacility Scope"
New-ManagementScope `
-Name "Gfacility-GroupScope" `
-RecipientRestrictionFilter "MemberOfGroup -eq '$($Group.DistinguishedName)'"
3. De rol toewijzen. Gebruik Application Calendars.ReadWrite, want Gfacility schrijft reserveringen in de agenda’s. Met alleen Application Calendars.Read komen boekingen niet in Outlook terecht.
New-ManagementRoleAssignment `
-Name "Gfacility-Calendars-Scoped" `
-Role "Application Calendars.ReadWrite" `
-App "<Application ID>" `
-CustomResourceScope "Gfacility-DomainScope"
Get-ManagementRoleAssignment -App "<Application ID>" | Format-List Name,Role,CustomResourceScope
4. Testen, met één ruimte en één gebruiker:
Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "vergaderzaal1@contoso.com"
Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "medewerker@contoso.com"
Bij allebei moet InScope op True staan, met Calendars.ReadWrite.
Zie ook de Microsoft-handleiding over Application RBAC in Exchange Online.
4. Gegevens invullen in Gfacility
De Gfacility-beheerder vult deze gegevens in bij Integraties & Aanmelden → Office 365 → Service-account (app-registratie), en klikt op Verbinding testen. Of geef ze aan ons door:
- Application (client) ID
- Directory (tenant) ID
- Value van het client secret
Deel deze gevoelige gegevens via een veilige methode (password manager-link), nooit los via e-mail.