@dana_bida das “Need Admin Approval” in diesem Setup passiert, weil dein Tenant User-Consent deaktiviert hat (was du erwähnt hast), sodass der OAuth-Flow bei der Consent-Screen steckenbleibt, auch für Low-Risk-Scopes. um auf @kjooleng’s Frage aufzubauen, gibt es tatsächlich zwei Ebenen der Admin-Zustimmung zu überprüfen und beide müssen vorhanden sein:
erstes Level — wurde die Admin-Zustimmung auf Tenant-Ebene angewendet, nicht nur auf dem persönlichen Account des Admins? wenn dein Admin die Genehmigung anklickt, muss er speziell das “Consent on behalf of your organization” Kontrollkästchen auf dem Consent-Screen aktivieren. ohne das, wird die Genehmigung nur auf diesen einzelnen Admin-Nutzer angewendet, nicht auf die ganze Organisation, sodass wenn normale Nutzer sich verbinden versuchen, treffen sie auf den gleichen Block.
zweites Level — hat der Admin ALLE Scopes genehmigt, die n8n’s Outlook Node anfordert? typisches Set ist offline_access, Mail.ReadWrite, Mail.Send, Calendars.ReadWrite, MailboxSettings.Read, und einige davon können explizite Pro-Scope-Admin-Zustimmung erfordern, je nach Tenant-Konfiguration.
schnellster Weg um Tenant-weite Admin-Zustimmung richtig zu erzwingen, ist die Admin-Consent-URL direkt zu treffen, Admin im Browser:
deine Tenant-ID ist im Azure Portal → Entra ID → Overview. die n8n App Client_ID und Callback-URL hängen davon ab, ob du auf n8n Cloud bist (nutzt n8n’s eigenes Azure-App — ID sichtbar im Credential-Modal in n8n) oder Self-Hosted (nutzt deine eigene Azure App-Registrierung).
wenn du Tenant-weite Zustimmung durch deinen Admin nicht hinbekommst (einige Organisationen sperren das wirklich hart für Third-Party-Apps), der saubere Weg ist, deine EIGENE Azure App-Registrierung zu registrieren und zur “Microsoft OAuth2 API” Credential-Type in n8n mit custom ClientID/Secret zu wechseln. deine eigene App, dein Tenant genehmigt sie einmal, und der Admin behält volle Kontrolle über Scopes. dauert ca. 10 min im Azure Portal.
bist du auf n8n Cloud oder Self-Hosted? ändert welche Client_ID du in die Consent-URL einfügen würdest.