Schnittstellen, API & Automationen › Microsoft Graph (Mail + Kalender)
Microsoft Graph (Mail + Kalender)
IntegrationLive✓ Geprüft am Sat Sep 05 2026 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)Über Microsoft Graph (dieselbe Azure-App wie der bestehende n8n-Buchungsworkflow) laufen die Online-Terminbuchung, die Verfügbarkeitsprüfung, Bestätigungs- und Büromails sowie — falls aktiviert — das Scan-Postfach. Fehlen die drei Zugangsdaten, zeigt die Website die Werkstatt-Telefonnummer statt Online-Buchung.
Bild folgt
Über dieselbe Anbindung, die zuvor schon der Automatisierungsserver für die Buchung nutzte, prüft die Website live den Kalender der Werkstatt, bevor sie einen Online-Termin bestätigt — pro Bühne, wenn eigene Bühnenpostfächer eingerichtet sind. Nach einer Buchung oder einer Kontaktanfrage verschickt sie Bestätigungs- und interne Büromails über dasselbe Konto. Ist das Scan-Postfach aktiviert, liest ein eigener Scan-Postfach-Poller (Cron)-Lauf darüber eingehende Belege. Fehlt einer der drei nötigen Zugangswerte, schaltet die Website die Online-Buchung ab und zeigt stattdessen die Telefonnummer der Werkstatt — kein Fehlerbild für den Besucher, nur ein anderer Weg.
- Online-Buchung zeigt nur noch die Telefonnummer → einer der drei Zugangswerte fehlt oder ist abgelaufen; die Buchung läuft dann ausschließlich telefonisch.
- Bestätigungsmail kommt nicht an → häufigste Ursache liegt beim Postfach oder Spamfilter des Kunden, seltener an einem abgelaufenen Zugang.
- Scan-Postfach-Poller findet keine neuen Mails, obwohl welche da sind → derselbe Zugang steuert auch das Scan-Postfach; ein Ausfall wirkt sich auf Buchung UND Scan-Eingang gleichzeitig aus.
Gebraucht von
Genutzt von
Speist
- Öffentliche Website Teilweise
- Terminbuchung Live
- Kalender / Termine Live
Nutzt
Geregelt durch
- DSGVO / Datenschutz Teilweise
- .env.example
- lib/graph.ts
- lib/graph-mail.ts
- docs/azure-graph-setup.md
| richtung | beide |
|---|---|
| daten_die_das_haus_verlassen | Kundenname, Kontaktdaten, Terminwünsche, versendete Rechnungs-/Angebots-PDFs, Postfachinhalt des Scan-Postfachs — an das eigene Microsoft-365-Konto (Cloud, nicht selbst gehostet) |
| verarbeiter | ja — Microsoft 365 ist ein Cloud-Dienst, betrieben über das bestehende Konto der Werkstatt |
| zustaendig | Büro |
| kosten | keine zusätzlichen — nutzt das ohnehin bestehende Microsoft-365-Abo |
| vertrag | keiner zusätzlich — wiederverwendet die bestehende Azure-AD-App-Registrierung des alten Buchungsworkflows |
| ohne | Online-Terminbuchung und Kontaktformular fallen aus, die Website zeigt stattdessen die Werkstatt-Telefonnummer; ein genutztes Scan-Postfach liefe ins Leere |
| ausloeser | user action (Online-Buchung, Kontaktformular), system (Mailversand bei Statuswechsel) |
| envVars | GRAPH_TENANT_ID, GRAPH_CLIENT_ID, GRAPH_CLIENT_SECRET, GRAPH_CALENDAR_USER, BOOKING_OFFICE_EMAIL, GRAPH_BAY_1_USER, GRAPH_BAY_2_USER, GRAPH_BAY_3_USER, GRAPH_BAY_4_USER, GRAPH_BAY_5_USER, NOTIFY_REDIRECT_TO |
| status_prod | live — Buchung, Kalender (5 Bühnen), Mailversand aktiv laut mehrfacher Owner-Bestätigung |
| kosten_vertrag | bestehende Azure-AD-App-Registrierung (wiederverwendet aus dem alten n8n-Buchungsworkflow), Microsoft-365-Konto info@kfz-bozo.at |
| daten | Kundenname, Kontaktdaten, Terminwünsche, versendete Rechnungs-/Angebots-PDFs — PII |
Beleg: .env.example ('Wenn einer der drei Secrets leer ist, geben /api/termin/book und /api/contact 503 zurück') + MEM:kommunikation-kanaele-konzept-2026-09-02.md ('E-Mail — Versand aktiv')
Tiefer fragen
Kontext aus dem KFZ-Bozo-Handbuch
Knoten: int-ms-graph (Integration · Schnittstellen, API & Automationen · live · geprüft Sat Sep 05 2026 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) @ 9d50bd68)
Kurz: Über Microsoft Graph (dieselbe Azure-App wie der bestehende n8n-Buchungsworkflow) laufen die Online-Terminbuchung, die Verfügbarkeitsprüfung, Bestätigungs- und Büromails sowie — falls aktiviert — das Scan-Postfach. Fehlen die drei Zugangsdaten, zeigt die Website die Werkstatt-Telefonnummer statt Online-Buchung.
Lies zuerst (Lesebereich, nicht der ganze Baum):
.env.example
lib/graph.ts
lib/graph-mail.ts
docs/azure-graph-setup.md
Hängt zusammen mit:
ops-env (.env.example) · feat-scan-eingang (app/admin/scan-eingang/page.tsx) · feat-mail-versand-vorlagen (lib/mail.ts) · auto-billing-reminder (app/api/cron/billing-reminder/route.ts) · auto-scan-mailbox (app/api/cron/scan-mailbox/route.ts) · app-website (app/layout.tsx) · feat-terminbuchung (app/termin/page.tsx) · feat-kalender (app/admin/kalender/page.tsx)
Offene Fragen der Seite:
keine
Hausregel 2: Vault-Daten sind für diese Session unsichtbar; Quellpfade auf Vault-Code sind keine Freigabe.
Frage: {{DEINE FRAGE}}
Antworte nur mit Belegen: nenne Datei und Zeile für jede Aussage.
Wenn die Quellen die Frage nicht beantworten, sag das und nenne, was du zusätzlich lesen müsstest.
Weicht die Seite vom Code ab, schlage den Seiten-Patch vor (wiki/seiten/schnittstellen-automation/int-ms-graph.md).