A canvas or a list
Join steps on a canvas, from the start at the top to End, or edit the same steps as an indented list.
Workflows
Build reusable workflows, test run them to see each change without making it, and run them manually or on a schedule.
Join steps on a canvas, from the start at the top to End, or edit the same steps as an indented list.
A test run reads the tenant for real and shows each change the workflow would make, without making it.
Start from a sample such as Offboard a Leaver or Lock Down Stale User Accounts, then adapt a copy.
Run a workflow in Altivane, or from Windows Task Scheduler without a window.
How it works
Add steps and fill in their settings.
See each change before it's made.
Every change goes in the change log.
Each step does 1 thing, such as getting data, making a bulk change or exporting a file. The lines set the order, not where a step sits.
Choose a step, then fill in its settings. Steps pass what they find to later steps through variables.
Get data runs a read-only Exchange Online cmdlet, such as Get-Mailbox, and saves the results. Run command runs an Exchange Online cmdlet. Bulk change makes any of the changes the Explore pages offer, such as Block sign-in, on a list of targets. Run report saves 1 of a report's tables, and Back up policies saves the tenant's Entra ID and Intune policies as JSON files. Apply a blueprint adds and updates what a blueprint declares, and never removes anything.
For each runs its steps once for each item in a list, and chooses whether a failed item stops the loop. Stop ends the workflow as succeeded or failed, with a message.
Set a value or the result of an expression, add to a list, or build a table a row at a time.
Keep the items that meet a condition, work out a new value from each, sort them, or read a CSV file into rows.
Export to file writes a list to an Excel workbook or a CSV file in the tenant's output folder.
Parameters ask for values when the workflow starts. Variables carry what a step found to the steps after it.
{{ shared }}, or a property of 1 item as {{ mb.PrimarySmtpAddress }} .shared.Count -gt 0 . Insert, beside a setting, lists the variables you can use, and functions for text, numbers, lists and dates.tenant, testRun (true in a test run) and lastStatus (the status of the step that ran last).A test run makes no change and records nothing in the change log. A run makes the changes, and the change log records each one.
--workflow "Name" test runs a workflow unless you add --apply, and --set Name=Value sets a parameter. See scheduled runs.Many find what needs attention and export it to Excel, and some make a change only when a parameter asks for it. Duplicate a sample to keep the original.