Automation library · Research and reporting

Audit inactive Microsoft 365 users and email license reports

Started by a clock, and works across Outlook. 10 steps, 1 branch: a working afternoon to understand properly.

Medium

10 stepsMedium: a working afternoon
1Branch: places the flow splits
0Loops or waits
1Service it connects to

The flow

Starts it 1Logic 4Service 5

The steps in the order they run, from what starts it.

  1. 1When Monthly on 1st at 7AMSchedule triggerStarts it
  2. 2Set Audit ConfigurationSetLogic
  3. 3Fetch Subscribed SKUsHttp RequestService
  4. 4Fetch All Users PaginatedHttp RequestService
  5. 5Filter Inactive Users & Estimate CostsCodeLogic
  6. 6Check for Inactive UsersIfLogic
  7. 7Build Excel ReportConvert To FileService
  8. 8Send All-Clear Email NoticeMicrosoft OutlookService
  9. 9Generate HTML SummaryCodeLogic
  10. 10Email Inactive User ReportMicrosoft OutlookService

How it's built

Starts on
A clock
Steps
10, with 1 branch
Size
Medium: a working afternoon
Connects to
Outlook
Model
None. This is plumbing, not judgement

Questions

What does it need to run?

An n8n account, plus your own Outlook account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on a clock.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Plan an afternoon. 10 steps is enough that you should read each one before running it.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

Before you run it

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 10 steps before you point it at anything that matters.