Setup guide · for a Microsoft 365 administrator

Connect every Outlook mailbox in your agency

One admin setup that connects all your practice’s email at once

Prepared for
Your Microsoft 365 Administrator
Prepared by
Eric Norman
Reading time
15 min

Overview

A one-time setup that connects every mailbox in your agency at once — every member of staff, every shared mailbox, every address on your Microsoft 365 tenant. Nobody on your team signs in to anything, and nobody has to be asked.

Every
mailbox on your tenant, in one go
15 min
Once, by a Microsoft 365 admin. Staff do nothing
3 values
Tenant ID, client ID and a client secret

What you are setting up

An app, not a person

CaseLoop signs in as the application itself, with no user account and no seat to pay for. There is no mailbox to share and no password to rotate for staff.

Nothing is sent to us

The three values go into the wizard on your own machine and are stored encrypted there. CaseLoop’s servers never receive them.

You can revoke it in a click

Delete the client secret and token minting stops immediately. Delete the app registration and all access stops with it.

Before you start

  • An account that can register applications and grant admin consent in Entra ID — a Global Administrator, or Application Administrator plus Privileged Role Administrator.
  • CaseLoop installed and signed in on the machine you are doing this from. The wizard collects the values; there is no web form.
  • About fifteen minutes. Admin consent is instant, but it can take a minute or two to propagate.

This connects EVERY mailbox in your agency

This is the agency-wide setup. An administrator registers one application in your own Microsoft 365 tenant, and CaseLoop then reads every mailbox on it — every member of staff, every shared mailbox — without any of them signing in or knowing it happened.

If you only want CaseLoop to read your own mailbox, stop here. That takes about two minutes, needs no administrator and no app registration — see Connect your Outlook.

Just my OutlookEvery mailbox in the agency — you are here
What CaseLoop readsOnly your own mailboxEvery mailbox on the tenant
Who does the setupYou, right nowA Microsoft 365 administrator
How long it takesAbout two minutesAbout fifteen minutes
What you have to supplyNothing — you just sign inA tenant ID, a client ID and a client secret from an app you register
What your staff then doEach person connects their own mailboxNothing at all
Sending and filing mailYes — as you, from your mailboxNo. This grant is read-only
The guideConnect your OutlookThis one

Read this before you grant anything

Mail.Read as an application permission reads every mailbox in the tenant by default. That is the blast radius of the client secret you are about to create — treat it as a top-tier secret. Step 6 shows how to narrow it to a single mail-enabled security group if you want to.

This path is read-only: an app-only registration with these two permissions cannot send, modify or delete mail. A mailbox connected individually is a different grant with different permissions — see Connect your Outlook.

Microsoft occasionally rearranges the Entra admin center; if something isn’t where this guide says, search for its name in the bar at the top.

Setup steps

Open the wizard, then work through Entra alongside it.

Start in CaseLoop. The wizard shows the same five steps as this guide and carries the values forward for you, so keep both open.

01

Open the agency-wide setup in CaseLoop

In CaseLoop, open Email. If no mailbox is connected yet, the page asks “Which mailbox should CaseLoop read?” — below the provider choices, click Set up agency-wide mail instead. Choose Microsoft 365 on the first step.

If mail is already connected on this machine, the same wizard is under the Email page’s settings, on the Mailbox tab.

The wizard’s step rail reads Provider → Project → Credentials → Grant access → Finish. The five numbered steps below are those five, with the Entra work spelled out.

02

Register an application in Entra ID

Open App registrations → New registration. Name it something recognisable. Leave the redirect URI blank — CaseLoop signs in as the application, not as a person.

On the app’s Overview page, copy the Application (client) ID and the Directory (tenant) ID. The next step asks for both.

NameCaseLoop mail reader
Supported account typesSingle tenant — this organization only
Redirect URIleave blank
03

Add a client secret

In your app registration, open Certificates & secrets → New client secret. Set a description and the longest expiry your policy allows (Microsoft’s maximum is 24 months).

Copy the Value column, not the Secret ID. The value is shown once and never again.

Now fill in all three fields on the wizard’s Credentials step.

Directory (tenant) IDfrom the app’s Overview page
Application (client) IDfrom the app’s Overview page
Client secret valuethe Value column, not the Secret ID

Put the expiry in your calendar

This is the one thing about the Microsoft path that needs revisiting. When the secret expires, mail sync stops until a new one is pasted in. Create the replacement in Certificates & secrets, paste it into the wizard, then delete the old secret.

04

Add permissions and grant admin consent

Open API permissions → Add a permission → Microsoft Graph → Application permissions and add both of these. Add them as Application permissions, not Delegated — CaseLoop reads mail as the application, with no signed-in user.

Then click Grant admin consent for your organisation. Both rows must read “Granted” before mail sync will work. The wizard builds a direct consent link for your tenant once it has the two IDs, so you can click through from there instead of hunting for the button.

Remove the default delegated User.Read permission if it is present. Nothing uses it.

Mail.Readread mail in mailboxes
User.Read.Alllist the mailboxes in the tenant
05

Confirm and test

Back in CaseLoop, the Finish step already has everything it needs. Click Test connection.

A successful test reports how many mailboxes it found and names a few of them. It is optional, and it is worth the fifteen seconds — it catches a wrong value now instead of at six tomorrow morning.

If the test fails immediately after granting consent, wait a minute and run it again. Consent takes a moment to propagate.

06

Narrow the mailboxes it can read — optional

By default the grant covers every mailbox in the tenant. To scope it to a subset, create a mail-enabled security group containing only the mailboxes CaseLoop should see, then apply an Application Access Policy to the app registration via Exchange Online PowerShell.

CaseLoop needs no configuration for this — once the policy is in place it simply sees fewer mailboxes.

CmdletNew-ApplicationAccessPolicy
-AppIdyour Application (client) ID
-PolicyScopeGroupIdthe mail-enabled security group
-AccessRightRestrictAccess

Afterwards

What your team sees.

Nothing. That is the point of this path — mail begins syncing to each machine on its own, and no member of staff is asked to connect anything.

Mail is read into CaseLoop on each staff member’s own computer and stays there. It is not uploaded to CaseLoop’s servers. See Where your data lives.

Revoking CaseLoop

  • Delete the client secret — token minting stops immediately.
  • Remove the app’s admin consent — all Graph access stops.
  • Delete the app registration — both of the above, permanently.

Troubleshooting

If something doesn't look quite right.

What you seeWhat to do
Grant admin consent is greyed out.Your account can register apps but cannot consent for the organisation. A Global Administrator, or someone with Privileged Role Administrator, has to click it. Everything else in this guide is already done — they only need that one button.
The test says it cannot connect, right after you granted consent.Wait a minute and press Test connection again. Consent propagates asynchronously.
The test reports an authorisation failure that does not clear.Open API permissions and check the Status column. Both Mail.Read and User.Read.All must read “Granted”. The commonest cause is adding them as Delegated rather than Application permissions — delegated rows will never satisfy an app-only sign-in.
The provider error mentions AADSTS7000215 or AADSTS7000222.The client secret is wrong or has expired. Create a new one in Certificates & secrets, paste the Value into the wizard’s Credentials step, and delete the old secret once mail is flowing again.
You pasted the Secret ID instead of the secret value.Entra shows the value only at creation. Create a new secret, copy the Value column this time, and delete the unused one.
Mail stopped syncing months after a working setup.Check the client secret’s expiry in Certificates & secrets. Expiry is the usual cause, and it is silent until it happens.
You need CaseLoop to see fewer mailboxes than the whole tenant.Step 6. An Application Access Policy scoped to a mail-enabled security group restricts the same grant without changing anything in CaseLoop.
Someone wants to connect just their own mailbox instead.That is a different, smaller path and it does not need you. Send them Connect your Outlook.

That’s the whole setup.

Mail starts appearing on each machine within a few minutes. If the test wouldn’t go green, send us what it said under “Provider said” — that line is the fastest thing to read.

Questions
eric@caseloop.co
Prepared by
Eric Norman
CaseLoop · Every Outlook mailbox Verified against 2.3.8 · 2026-09-21
CaseLoop · Every Outlook mailboxcaseloop.co/guides