Get started with CLI Microsoft 365 for Power Platform people
tl;dr
CLI for Microsoft 365 is an amazing tool to manage your Microsoft 365 tenant and SPFx projects. But did you know, that also people working with Power Platform can massively benefit from using it?
To convince you, I chose a use case, that will probably relate to lots of people, but please be aware, that CLI for Microsoft can do so much more!
Use case: App registrations in Azure Active Directory
Very often when working with Power Automate or Power Apps, we want to leverage the power of Microsoft Graph API. To do so, we need to authenticate against Graph using Azure Active Directory (Azure AD) and register an application in the Azure portal at portal.azure.com. Depending on permissions, redirect URI, secret etc. we need to perform several steps and take note of certain outputs. Wouldn’t it be nice if the entire app registration process was rather a one line command that automatically outputs the values we need?
After installing CLI Microsoft 365 and logging in, all we need to do is
m365 aad app add `
--name 'myApp001' `
--redirectUris 'https://global.consent.azure-apim.net/redirect' `
--platform web `
--withSecret `
--apisDelegated 'https://graph.microsoft.com/People.Read.All' `
--grantAdminConsent `
What this does is registering an application with the following parameters:
- Displayname of the app is
myApp001 - Redirect URI is
https://global.consent.azure-apim.net/redirectthat is what you need for custom connectors in Power Platform - It does create a secret (and will output it)
- It has delegated permissions for
People.Read.Allon Graph API - Admin consent is already granted
If we run this command (and we can do this as one-line as well without the backticks ` at the end of each line)
m365 aad app add --name 'myApp001' --redirectUris 'https://global.consent.azure-apim.net/redirect' --platform web --withSecret --apisDelegated 'https://graph.microsoft.com/People.Read.All' --grantAdminConsent
we get the following output:
{
"appId": "164298a8-504c-4234-a43a-XXXXXXXXXXXX",
"objectId": "02b7577e-4d6b-478a-b34c-XXXXXXXXXXXX",
"tenantId": "b469e370-d6a6-45b5-928e-XXXXXXXXXXXX",
"secrets": [
{
"displayName": "Default",
"value": "XXXXX~5FUlgaKtYEAJ-XXXXX~DWsnj6yerYATXXX"
}
]
}
which means, that we can use appId and the value of the secret in our custom connector or in the HTTP action of our Power Automate flow.
Get started with CLI for Microsoft 365
If you now want to try this out as well, you need to follow these steps:
- Install node.js
With node.js comes npm and we will install CLI for Microsoft 365 with npm. If you don’t have npm or node.js installed:
- Open node.js
- Select 18.12.1 LTS
- Install node.js
- Install CLI for Microsoft 365
- Open a terminal of your choice, I use the built-in terminal of Visual Studio Code
- Type
npm i -g @pnp/cli-microsoft365to install CLI for Microsoft 365 globally
- Login
- To login, type
m365 login - You will see a message like this:
"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code BAVUYWLZ3 to authenticate."- Do exactly that. Copy that code, open the URL and paste the code. - Select Next
- To login, type

Now log into the tenant you want to connect with using your username and password (+ optional MFA)

You can close the https://login.microsoftonline.com/common/oauth2/deviceauth page again
đź’ˇ Until you type m365 logout, you will stay logged in.
- Try out to register an app
Now lets see if that worked! Register your own application and validate in the Azure portal.
Feedback and what’s next?
If you liked this experience, maybe you want to dip your toes even a bit further into CLI for Microsoft 365 - here is why you should absolutely consider that:
- it’s open-source and we are all here to learn
- it’s an amazing project with the most awesome contributors
- it has a lot of super-helpful commands around Power Apps, Power Automate, and more in Power Platform - more to come! Any ideas?
Published on:
Learn moreRelated posts
How AI Agents in Dynamics 365 Sales Are Changing the Way Sales Teams Work
Sales teams today are expected to do more, faster, with less manual effort and less guesswork. That is the exact gap Microsoft is closing with...
Make Your Test Data Less Boring with M365Mutator
Testing Microsoft 365 scenarios often involves test data. If the data is stale or always the same, it might not generate good results or help ...
Microsoft 365 & Power Platform Community Call – July 9th, 2026 – Screenshot Summary
Call Highlights  SharePoint Quicklinks: Primary PnP Website: https://aka.ms/m365pnp Documentation & Guidance SharePoint Dev Videos Issues...
SharePoint Copilot Apps Now in Public Preview: From Intent to Action in Microsoft 365 Copilot
SharePoint Copilot Apps are now in public preview, introducing a new way to bring guided, action-oriented business experiences into Microsoft ...
How to Create Custom Folder Structures in Dynamics 365 SharePoint Integration
Every department that touches Dynamics 365 CRM wants its documents organized differently, and no single folder structure has ever made everyon...
Notebooks in the M365 Copilot App
Microsoft 365 Copilot app will introduce Notebooks in early August 2026, enabling users with a Copilot license to organize chats, content, and...
Microsoft 365 Copilot Notebooks: Support for TXT and RTF files as notebook references
Microsoft 365 Copilot Notebooks will support TXT and RTF files as reference sources starting early July 2026, enabling users to include more t...
Microsoft Viva: GitHub Copilot spend and usage insights in Copilot Analytics
Microsoft Viva Insights will introduce GitHub Copilot spend and usage insights for eligible managers, Insights Analysts, and Global Administra...
Viva Glint: Copilot-enhanced topic assignment for employee feedback comments
Microsoft Viva Glint will introduce Copilot-enhanced topic assignment for employee feedback, adding five new topics to improve insights. Contr...
Microsoft Teams: New layout for sharing content in Teams events
Microsoft Teams is introducing a new Speaker focused layout for Teams events, prioritizing presenter video alongside shared content to enhance...