← Alle Themen · Tickets
In diesem Artikel 8 Kapitel
CRM → Ticket-Postfach mit Microsoft 365 verbinden
Microsoft 365 (Exchange Online) ist der moderne Weg: statt Benutzername + Passwort über IMAP/SMTP meldet sich dein Postfach einmal per Microsoft-Login an. Danach läuft der Abruf über die Microsoft Graph API, Basic Auth ist nicht nötig.
Wichtig: du registrierst deine eigene App im Azure-Portal. Microsoft erlaubt für diese Art von Zugriff keine zentrale „Scanalot-App", die alle Kunden gemeinsam nutzen, jeder Mandant/Kunde legt seine App im Microsoft-Entwicklerportal selbst an. Scanalot speichert deine Client-ID + Client-Secret verschlüsselt pro Postfach.
Zwei Varianten im Scanalot-Postfach:
| Variante | Für wen? | Login durch |
|---|---|---|
| Persönliches Postfach | Mitarbeiter mit eigenem Postfach (z. B. max.mustermann@firma.de) | der Mitarbeiter selbst |
| Service / Shared Mailbox | Gemeinsame Postfächer (z. B. support@firma.de, rechnung@firma.de) | der IT-Admin, einmalig |
Die App-Registrierung selbst ist für beide Varianten identisch, nur die Berechtigungen und der Login-Flow unterscheiden sich. Du kannst eine App für mehrere Scanalot-Postfächer deines Unternehmens verwenden, musst aber nicht.
Schritt 1: Azure-App registrieren (einmalig, ~15 Minuten)
1.1 Entra-ID öffnen
- portal.azure.com öffnen und mit einem Admin-Konto deines Microsoft-365-Tenants anmelden.
- In der oberen Suchleiste „Microsoft Entra ID" eingeben und öffnen (früher „Azure Active Directory").
- Links im Menü „App-Registrierungen" → oben „+ Neue Registrierung".
1.2 App anlegen
- Name: z. B.
Scanalot Ticket-System(frei wählbar) - Unterstützte Kontotypen:
- Für die meisten Fälle: „Konten in diesem Organisationsverzeichnis" (nur dein Tenant)
- Falls du mehrere Microsoft-Tenants bedienen willst: „Konten in einem beliebigen Organisationsverzeichnis"
- Umleitungs-URI:
- Plattform: Web
- URI:
https://oauth.scanalot.io/oauth/market/microsoft365
→ „Registrieren" klicken.
1.3 Werte aus der Übersichtsseite notieren
Auf der Übersichtsseite der App stehen oben zwei wichtige Werte:
- Anwendungs-ID (Client) → kopieren, später als Client-ID in Scanalot eintragen
- Verzeichnis-ID (Mandant) → notieren (Tenant-ID), wird nur bei „Service / Shared Mailbox" gebraucht
1.4 Client-Secret erzeugen
- Links im App-Menü: „Zertifikate & Geheimnisse"
- Tab „Geheime Clientschlüssel" → „+ Neuer geheimer Clientschlüssel"
- Beschreibung:
scanalot - Ablauf: 24 Monate (Max.), notier dir das Ablaufdatum, denn du musst vor Ablauf einen neuen anlegen.
- „Hinzufügen" klicken.
Wichtig: Microsoft zeigt den Wert jetzt genau einmal an. Diesen sofort kopieren und sicher ablegen. Nach Verlassen der Seite ist er nicht mehr sichtbar, du müsstest sonst ein neues Secret erzeugen. Dieser Wert ist später das Client-Secret in Scanalot.
1.5 API-Berechtigungen hinzufügen
Links im App-Menü: „API-Berechtigungen" → „+ Berechtigung hinzufügen" → „Microsoft Graph".
Für Variante A (persönliches Postfach): → „Delegierte Berechtigungen":
offline_accessUser.ReadMail.ReadWriteMail.Send
Für Variante B (Shared Mailbox): → „Anwendungsberechtigungen":
Mail.ReadWriteMail.Send
→ „Berechtigungen hinzufügen".
Danach: Button „Administratorzustimmung für <dein Tenant> erteilen" klicken → „Ja". Status aller Zeilen sollte dann grüner Haken bei „Erteilt für <dein Tenant>" sein.
1.6 (Optional, aber empfohlen) Branding
Links „Branding und Eigenschaften" → Logo, URLs eintragen. Macht den Consent-Dialog für Benutzer vertrauenswürdiger. Kannst du aber auch später nachreichen.
Schritt 2: Werte in Scanalot eintragen
- In Scanalot: CRM → Ticket-Postfächer → Neues Postfach
- Name + E-Mail-Adresse eintragen und Speichern klicken.
- Postfach-Typ umstellen auf:
Microsoft 365 — persönliches Postfachfür Variante AMicrosoft 365 — Service / Shared Mailboxfür Variante B- Zum Reiter „Microsoft 365" wechseln.
- Dort im Block „Microsoft-App-Daten" eintragen:
- Client-ID, der Wert aus Schritt 1.3
- Client-Secret, der Wert aus Schritt 1.4
- Tenant-ID (nur bei Variante B nötig), der Wert aus Schritt 1.3
- Erneut Speichern klicken.
Die Werte werden verschlüsselt gespeichert und auf dem Server nie im Klartext angezeigt. Beim nächsten Öffnen zeigt Scanalot statt des Secrets nur ein Platzhalter-Feld, das Secret bleibt gespeichert, so lange du nicht aktiv einen neuen Wert einträgst.
Schritt 3: Mit Microsoft verbinden
- Immer noch im Reiter „Microsoft 365" → Button „Mit Microsoft verbinden" klicken.
- Es öffnet sich ein neues Fenster mit dem Microsoft-Login:
- Variante A: Der jeweilige Mitarbeiter meldet sich mit seinem Microsoft-Konto an und bestätigt die Berechtigungen.
- Variante B: Der IT-Admin meldet sich an und erteilt die Zustimmung für den Tenant.
- Nach Erteilung wird das Fenster von Microsoft weitergeleitet. Scanalot pollt den Verbindungs-Status automatisch, innerhalb von ca. 5 Sekunden wechselt der Status auf „verbunden".
Fertig. Der nächste Fetch-Zyklus holt neue Mails aus dem Postfach, Antworten gehen über das Microsoft-Konto raus.
Nur Variante B: Zugriff auf ein einzelnes Postfach beschränken (empfohlen)
Mit „Application Permissions" darf deine App standardmäßig auf alle Postfächer des Tenants zugreifen. Für Sicherheit sollte der Admin das einschränken, Microsoft nennt das Application Access Policy:
Connect-ExchangeOnline
# App auf GENAU dieses Postfach beschraenken:
New-ApplicationAccessPolicy `
-AppId <Client-ID aus Schritt 1.3> `
-PolicyScopeGroupId support@firma.de `
-AccessRight RestrictAccess `
-Description "Scanalot darf nur auf das Support-Postfach zugreifen"
Prüfen:
Test-ApplicationAccessPolicy -Identity support@firma.de -AppId <Client-ID>
# Erwartung: AccessCheckResult = Granted
Was passiert technisch?
- Login (einmalig): Microsoft gibt Scanalot einen Refresh-Token. Dieser wird verschlüsselt gespeichert und wandelt sich bei Bedarf in kurzlebige Access-Tokens (ca. 1 Stunde gültig).
- Posteingang: Scanalot nutzt die Delta-Query von Microsoft Graph. Beim ersten Abruf holt Scanalot alle Nachrichten, danach nur noch die Änderungen seit dem letzten Call, spart Bandbreite und läuft nicht ins Microsoft-Ratelimit.
- Postausgang: Antworten werden per Graph
sendMailversendet. Die Mail landet automatisch im „Gesendet"-Ordner des Postfachs, so wie Outlook es tut, inklusive korrekter Threading-Header (In-Reply-To, References). - Sicherheit: Keine Benutzer-Passwörter werden gespeichert. Nur Client-ID + Client-Secret deiner App + ein Refresh-Token (bzw. Tenant-ID bei Variante B). Microsoft kann die Zustimmung jederzeit widerrufen (bei Mitarbeiter-Austritt automatisch bei Deaktivierung des Accounts).
Secret ersetzen / verlängern
Microsoft lässt Client-Secrets nach max. 24 Monaten ablaufen. Prozess:
- Im Azure-Portal unter deiner App → „Zertifikate & Geheimnisse" → „+ Neuer geheimer Clientschlüssel" anlegen (den alten noch nicht löschen).
- Neuen Wert kopieren.
- In Scanalot im entsprechenden Postfach → Reiter „Microsoft 365" → Feld „Client-Secret" → neuen Wert eintragen → Speichern.
- Scanalot verwendet beim nächsten Token-Refresh automatisch das neue Secret.
- Im Azure-Portal den alten Secret-Eintrag löschen.
Verbindung trennen
Reiter „Microsoft 365" → „Trennen" entfernt die Tokens aus Scanalot. Client-ID + Client-Secret bleiben erhalten, bei einem erneuten „Verbinden" musst du sie nicht erneut aus Azure kopieren. Falls du die App komplett löschen willst: zusätzlich im Azure-Portal die App-Registrierung entfernen.
Fehlerbilder
| Fehler / Status | Bedeutung | Lösung |
|---|---|---|
Beim Verbinden: Microsoft Client-ID fehlt | Du hast die App-Daten noch nicht gespeichert | Schritt 2 nachholen |
warte auf Microsoft-Login | Fenster offen, Scanalot wartet auf Callback | im Microsoft-Fenster Login + Zustimmung abschließen |
fehlgeschlagen + AADSTS50011: Umleitungs-URI stimmt nicht überein | Redirect-URI in Azure fehlt oder falsch | in der Azure-App unter „Authentifizierung" exakt https://oauth.scanalot.io/oauth/market/microsoft365 eintragen |
fehlgeschlagen + AADSTS65001: not consented | Admin-Consent fehlt | Schritt 1.5 wiederholen, auf „Admin-Zustimmung erteilen" achten |
fehlgeschlagen + AADSTS7000215: Invalid client secret | Falsches oder abgelaufenes Secret | Schritt 1.4 wiederholen, neues Secret in Scanalot eintragen |
Letzter Abruf: Token-Refresh fehlgeschlagen | Refresh-Token zurückgezogen oder abgelaufen | Postfach erneut „Mit Microsoft verbinden" |
Letzter Abruf: AccessCheckResult: Denied | Application Access Policy sperrt den Zugriff | Policy im Exchange-PowerShell anpassen |