Instructie
Moeilijkheidsgraad:
Outlook-koppeling implementeren: checklist test en productie
Dit artikel is de praktische implementatiegids voor de Outlook-koppeling, met een checklist voor zowel een testomgeving als productie. Dezelfde app-registratie en permissies gelden in beide; in test wil je een wegwerp-tenant waarin je vrij agenda-items kunt aanmaken, wijzigen en verwijderen op gebruikers- en zaal-mailboxen. De genummerde stappen hieronder beschrijven de volgorde; gebruik daarna de checklists per omgeving.
Checklist — testomgeving
- ☐ Single-tenant Entra ID app-registratie aangemaakt in de test-tenant.
- ☐ Client secret gegenereerd (geen certificaat).
- ☐ Redirect URI ingesteld op
{base_url}/integrations/redirect/{int_id}. - ☐ Tenant ID, Client ID en Client secret genoteerd.
- ☐ Delegated
Calendars.ReadWritetoegevoegd (voor modus A). - ☐ Application
Calendars.ReadWritetoegevoegd + admin consent (voor modus B). - ☐ ApplicationAccessPolicy beperkt de app tot een security-group met zaal-mailboxen.
- ☐ Dedicated M365-serviceaccount voor gedelegeerde auth (geen persoonlijk account).
- ☐ Gebruikersmailbox beschikbaar (modus A) / zaal-mailboxen + UPN's beschikbaar (modus B).
- ☐ Auth-scherm gevuld + Stap 1 consent + Stap 2 verbinden uitgevoerd.
- ☐ Config-scherm gevuld, modus gekozen, object/zalen gekoppeld, koppeling actief.
- ☐ End-to-end getest: item in Outlook aangemaakt → boeking in i-Reserve; en (gedelegeerd) boeking-statuswijziging → item in Outlook.
Checklist — productieomgeving
- ☐ Aparte (of dezelfde, bewust gekozen) app-registratie in de productie-tenant van de klant; productie-secret apart beheerd.
- ☐ Permissies en (voor app-only) admin consent in de productie-tenant verleend.
- ☐ ApplicationAccessPolicy ook in productie ingesteld (geen tenant-brede toegang).
- ☐ Productie-redirect-URI geregistreerd op het productie-base-url.
- ☐ Echte zaal-mailboxen ↔ juiste i-Reserve-objecten gekoppeld (geen testobjecten).
- ☐ “E-mail bij problemen” ingesteld op een bewaakt adres.
- ☐ Eerste live sync geverifieerd + webhook-status gecontroleerd op het diagnosescherm.
- ☐ Rollback/uit-knop bekend: koppeling op inactief zetten stopt sync zonder data te verliezen.
Maak in de juiste tenant een single-tenant app-registratie, genereer een client secret en noteer Tenant ID, Client ID en secret. Stel de redirect-URI in.
Voeg de Graph-permissie Calendars.ReadWrite toe voor de gekozen modus (delegated en/of application). Verleen voor application-modus admin consent en beperk de app met een ApplicationAccessPolicy.
Gedelegeerd: zorg voor een dedicated gelicentieerde serviceaccount. Applicatie: maak de zaal-mailboxen aan, noteer de UPNs en plaats ze in de security-group.
Vul in i-Reserve het authenticatie-scherm (tenant/client/secret/return url), doorloop consent + verbinden, kies de modus en koppel object(en)/zalen. Stel de inbound-gedragsvelden in.
Zet de koppeling actief, activeer de webhook(s) en verifieer op het diagnosescherm dat de subscription(s) zijn aangemaakt. Test end-to-end inbound (en bij gedelegeerd ook outbound) en loop de checklist per omgeving af.






