← Alle Themen · Tickets

In diesem Artikel 8 Kapitel
  1. Schritt 1: Azure-App registrieren (einmalig, ~15 Minuten)
  2. Schritt 2: Werte in Scanalot eintragen
  3. Schritt 3: Mit Microsoft verbinden
  4. Nur Variante B: Zugriff auf ein einzelnes Postfach beschränken (empfohlen)
  5. Was passiert technisch?
  6. Secret ersetzen / verlängern
  7. Verbindung trennen
  8. Fehlerbilder

CRM → Ticket-Postfach mit Microsoft 365 verbinden

Zurück zur Postfach-Doku

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:

VarianteFür wen?Login durch
Persönliches PostfachMitarbeiter mit eigenem Postfach (z. B. max.mustermann@firma.de)der Mitarbeiter selbst
Service / Shared MailboxGemeinsame 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

  1. portal.azure.com öffnen und mit einem Admin-Konto deines Microsoft-365-Tenants anmelden.
  2. In der oberen Suchleiste „Microsoft Entra ID" eingeben und öffnen (früher „Azure Active Directory").
  3. 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

  1. Links im App-Menü: „Zertifikate & Geheimnisse"
  2. Tab „Geheime Clientschlüssel" → „+ Neuer geheimer Clientschlüssel"
  3. Beschreibung: scanalot
  4. Ablauf: 24 Monate (Max.), notier dir das Ablaufdatum, denn du musst vor Ablauf einen neuen anlegen.
  5. „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_access
  • User.Read
  • Mail.ReadWrite
  • Mail.Send

Für Variante B (Shared Mailbox): → „Anwendungsberechtigungen":

  • Mail.ReadWrite
  • Mail.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

  1. In Scanalot: CRM → Ticket-Postfächer → Neues Postfach
  2. Name + E-Mail-Adresse eintragen und Speichern klicken.
  3. Postfach-Typ umstellen auf:
  4. Microsoft 365 — persönliches Postfach für Variante A
  5. Microsoft 365 — Service / Shared Mailbox für Variante B
  6. Zum Reiter „Microsoft 365" wechseln.
  7. Dort im Block „Microsoft-App-Daten" eintragen:
  8. Client-ID, der Wert aus Schritt 1.3
  9. Client-Secret, der Wert aus Schritt 1.4
  10. Tenant-ID (nur bei Variante B nötig), der Wert aus Schritt 1.3
  11. 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

  1. Immer noch im Reiter „Microsoft 365" → Button „Mit Microsoft verbinden" klicken.
  2. Es öffnet sich ein neues Fenster mit dem Microsoft-Login:
  3. Variante A: Der jeweilige Mitarbeiter meldet sich mit seinem Microsoft-Konto an und bestätigt die Berechtigungen.
  4. Variante B: Der IT-Admin meldet sich an und erteilt die Zustimmung für den Tenant.
  5. 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 sendMail versendet. 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:

  1. Im Azure-Portal unter deiner App → „Zertifikate & Geheimnisse" → „+ Neuer geheimer Clientschlüssel" anlegen (den alten noch nicht löschen).
  2. Neuen Wert kopieren.
  3. In Scanalot im entsprechenden Postfach → Reiter „Microsoft 365" → Feld „Client-Secret" → neuen Wert eintragen → Speichern.
  4. Scanalot verwendet beim nächsten Token-Refresh automatisch das neue Secret.
  5. 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 / StatusBedeutungLösung
Beim Verbinden: Microsoft Client-ID fehltDu hast die App-Daten noch nicht gespeichertSchritt 2 nachholen
warte auf Microsoft-LoginFenster offen, Scanalot wartet auf Callbackim Microsoft-Fenster Login + Zustimmung abschließen
fehlgeschlagen + AADSTS50011: Umleitungs-URI stimmt nicht übereinRedirect-URI in Azure fehlt oder falschin der Azure-App unter „Authentifizierung" exakt https://oauth.scanalot.io/oauth/market/microsoft365 eintragen
fehlgeschlagen + AADSTS65001: not consentedAdmin-Consent fehltSchritt 1.5 wiederholen, auf „Admin-Zustimmung erteilen" achten
fehlgeschlagen + AADSTS7000215: Invalid client secretFalsches oder abgelaufenes SecretSchritt 1.4 wiederholen, neues Secret in Scanalot eintragen
Letzter Abruf: Token-Refresh fehlgeschlagenRefresh-Token zurückgezogen oder abgelaufenPostfach erneut „Mit Microsoft verbinden"
Letzter Abruf: AccessCheckResult: DeniedApplication Access Policy sperrt den ZugriffPolicy im Exchange-PowerShell anpassen