Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 327 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

CIPP User Documentation

Loading...

Setup

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

User Documentation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Setting Up CIPP

Resources

Identity Management

Reports

Reports available within CIPP - Identity Management

Tenant Administration

CIPP Documentation

Welcome to the CyberDrain Improved Partner Portal (CIPP) User Documentation

Introduction

Welcome to the CIPP User Documentation! CIPP (pronounced "sip") is the CyberDrain Improved Partner Portal, a powerful Microsoft 365 multi-tenant management system designed to help MSPs streamline their clients' Microsoft 365 administration tasks. Created by Kelvin Tegelaar in 2021, CIPP aims to fill the gaps left by existing multi-tenant management solutions, making it easy and efficient to manage multiple clients from one centralized portal experience.

CIPP consists of two main components: the CIPP UI and the CIPP API. The frontend is built using React and Core UI, while the API is built with PowerShell. The system leverages Azure Functions and Azure Static Web Apps to provide a fast, responsive, and maintainable solution.

Key Features

  • Central User Management: CIPP offers a simple user management interface, making it easy to add, edit, and delete users, offboard users, change calendar permissions, manage shared mailboxes, and more.

  • Easy Standardization: Deploy standards across your entire client base, ensuring tenants are always in the desired state. CIPP's alerting and best practices features help you provide the best experience for your clients.

  • Secure and Report: CIPP includes industry best-practice standards and integrations, allowing you to report on everything in your M365 tenants and secure your customers' environments.

Documentation Components

The documentation is organized into the following components:

  1. Setup Documentation: This section covers the initial setup process of deploying your own instance of CIPP, including system requirements, installation, and configuration.

  2. User Documentation: Here, you'll find detailed guides and tutorials on how to use the CIPP platform once it's been deployed to manage your clients' Microsoft 365 tenants.

  3. Developer Documentation: If you're looking to extend the functionality of CIPP or integrate it with other tools and services, the Developer Documentation provides API documentation, custom scripting, and other advanced topics for developers.

In addition to the core documentation components, we also provide a Troubleshooting Guide and an FAQ section to help you quickly resolve common issues and find answers to frequently asked questions.

CIPP is an open-source project, and we encourage users to review the code and contribute to its ongoing development. For more information about the project, its contributors, and funding, please refer to the documentation in the relevant sections.

We hope this documentation serves as a valuable resource as you explore and utilize the CyberDrain Improved Partner Portal. If you have any questions or need further assistance, please don't hesitate to check us out in discord.

Our Sponsors

Invite Guest

This page will allow you to add a guest user. Enter the user's "Display Name", "E-mail Address", and an optional "Redirect URL". Toggle the "Send invite via e-mail" option on if you'd like the guest user to receive a Microsoft generated invite e-mail.


Edit Group Template

This page allows you to adjust the settings for your group template.


Edit Tenant Group

This page allows you to modify the tenant group's information such as Group Name, Group Description, and make bulk changes to the group membership.


Setup Automatic API Updates

Whenever you push changes to the chosen branch, the Function App updates itself automatically if you follow this guide.

If you choose to sponsor and use the CyberDrain hosted version, you can skip over these steps and jump over to our Sponsor Quick Start guide for further direction.

Connect to GitHub for Continuous Deployment

If you want your Function App to auto-update whenever you commit to your CIPP-API fork, follow these steps:

1

Still in the Function App settings, go to Deployment Center (sometimes under Deployment → Deployment Center).

2

If an existing CI/CD connection is configured, Disconnect it to avoid conflicts.

3

Under Source, select GitHub, then log in if prompted.

4

Choose your Organization, Repository, and Branch (where your CIPP - API{\color{red}API}API code lives).

5

Leave “Workflow Option” set to “Add a workflow” (the default).

6

For Authentication Type, pick “Basic Authentication.” (Azure portal doesn’t support Identity-based auth yet.)

7

Click Add a workflow, then Save.

8

Repeat this for any additional function apps you may have deployed for Function Offloading.

Your Function App will now be automatically updated pull directly from your GitHub fork whenever you pull the latest version of the CIPP-API repository.

Shared Features

Menu Bar

Administration

Deploy Group Templates

Streamline group creation across multiple tenants in Microsoft 365

Overview

The Deploy Group Templates page provides an interface for creating and deploying group templates in Microsoft 365. This feature offers an easy and efficient way to manage group creation, allowing users to select from a list of pre-defined templates and apply them across chosen tenants.

This document provides a step-by-step guide on how to navigate and utilize the Deploy Group Templates page.

1

Tenant Choice

In this step, you choose the tenants for which you want to create the group. Each tenant has a displayName and defaultDomainName.

2

Choose Template

In this step, you can choose to apply one of the previously created templates or manually enter the group information. If you opt for a template, select it from the dropdown menu. The page will automatically populate the rest of the fields based on the chosen template.

However, you have the flexibility to adjust the options as needed:

  • Group Type: Select the type of group. Options include Dynamic Group, Security Group, Distribution Group, Azure Role Group, and Mail Enabled Security Group.

  • Group Display Name: Enter the name that will be displayed for the group.

  • Group Description: Provide a brief description of the group. This field is optional.

  • Group Username: Specify the username for the group.

  • Let people outside the organization email the group: Check this box if you want the group to be able to receive emails from outside the organization. This option is available only for Distribution Groups.

  • Membership Rule: If you chose Dynamic Group as the group type, you can specify the rule for membership here.

Remember, the options presented depend on the Group Type selected. For instance, the "Membership Rule" field only appears if you select "Dynamic Group" as the Group Type.

For more details on these settings, please refer to Group Templates.

3

Review and Confirm

In this step, you review your input and confirm to apply. The application sends a POST request to the AddGroup endpoint listed below with your input as values.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Devices

This page will present a tenant's Entra devices in a table.

Column Details

The properties returned are for the Graph resource type device. For more information on the properties please see the Graph documentation.

Table Actions

Action
Description
Bulk Action Available

Enable Device

Enables the device to be logged in with tenant credentials

Disable Device

Disables the device from being logged in with tenant credentials

Retrieve BitLocker Keys

Pulls BitLocker keys stored in Entra ID

Delete Device

Deletes the device from Entra ID

More Info

Opens the "Extended Info" flyout


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

JIT Admin

Ensure temporary admin accounts aren't left active. CIPP lets you create accounts with specific roles as needed and easily removes them automatically when no longer required. JIT Admin accounts will be displayed in the table.

Column Details

Column
Description

ID

GUID of the user

Display Name

Display name of the JIT admin user

User Principal Name

UPN of the JIT admin user

Account Enabled

Boolean for if the account is enabled

Jit Admin Enabled

Boolean for if the JIT admin roles are enabled

Jit Admin Expiration

Expiration of the JIT admin

Member Of - Display Name

Display name of the admin role(s) the user is a part of

Member Of - Id

GUID of the admin role(s) the user is a part of

This table doesn't utilize a per-row Actions column like many of the other tables introduced with CIPP v7.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

MFA Report

Multi-Factor Authentication Status Report

Introduction

This report provides an overview of the Multi-Factor Authentication (MFA) status for all users within the tenant. It's a combination of the built in Entra MFA report, and getting the Per User MFA state and combining them for a complete picture.

Note: To utilize the Entra MFA report part of this report, the tenant must be licensed for Entra P1 or higher. Per-User MFA status will still function even if the tenant isn't licensed.

MFA Protection Criteria

A user must have at least one checkmark in any of the following categories to be protected by MFA:

  • Per-User MFA: This means MFA is enabled directly on a per-user basis. It ensures that any sign-in attempt by the user is subjected to MFA verification.

  • Covered by Security Defaults (SD): This indicates that the user is protected by default security settings, automatically enabling and enforcing usage of MFA, when Microsoft deems a sign-in as risky.

  • Covered by Conditional Access (CA): In this case, MFA is enabled through Conditional Access policies which might require MFA based on conditions like user location, device compliance, etc.

Detailed User MFA Status

The report lists every user in the tenant and provides detailed information about their MFA status, including:

  • Whether MFA is enabled and enforced through Per-User MFA settings.

  • If the user is safeguarded by Security Defaults that enforce MFA.

  • Whether Conditional Access policies require MFA for the user.

  • If the user is capable of using MFA.

  • The MFA methods the user has setup.

For tenants with over 250 user accounts, the Per User MFA status might appear as blank or null due to API throttling. In such cases, it could indicate any of the following states: disabled, enabled, or enforced.

This table doesn't utilize a per-row Actions column like many of the other tables introduced with CIPP v7.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

View Audit Log

This page will output a structured view of the audit log entry selected from the Audit Logs page.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Administration

Relationship Summary

This page will allow you to view details about a particular GDAP relationship.

GDAP Relationships Summary Page

The GDAP (Granular Delegated Admin Privileges) relationships summary page provides an overview of a particular relationship. It displays details like the relationship status and assigned admin roles, helping manage and audit access efficiently.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Implementing CIPP

Display Mode

Clicking this toggle will switch the display mode for CIPP.

Available Display Modes

  • Light mode

  • Dark mode


Search

Use of the magnifying glass in the menu bar will pop open a search modal. You can use this feature to quickly locate a page within CIPP without having to navigate the sidebar menu.

Hitting "Ctrl + k" for Windows users or "Cmd + k" for Mac users will open the search modal for quick access.


Keyboard Shortcuts

The table below outlines the keyboard shortcuts that have been enabled in CIPP.

Shortcut
Windows
Mac

Open Search

Ctrl + k

Cmd + k


Get Help

Have an error that you're unsure how to handle? Errors in most pages of CIPP will return with a Get Help button to the right of the text. Click the button and a new tab will open allowing you to search the documentation for additional information.

Note that not every Microsoft returned error will be included in the docs site. These can also have additional information available with a search of the internet/Microsoft documentation.


Bulk Add

This wizard will allow you to bulk create new users.

1

Tenant Selection

Select the tenant that you'd like to create the users in. This will default to the tenant you have picked in the menu bar.

2

User Selection

There is an example CSV on the User Selection step of the wizard that you can use to speed up larger bulk creation tasks. Alternatively, you can add individual rows one by one by pressing the "Add Item" action just above the table prior to moving to Step 3.

3

Extra Options

Here, you can set the Usage Location and assign any available licenses to the users.

4

Confirmation

Review this page to ensure that you have entered everything in prior steps before hitting Submit.


Edit Group

Page Buttons

  • View Members/Edit Membership - This will toggle the page to display a table of the current group membership or show the edit membership and properties view.

Edit Membership & Properties

Group Properties

  • Display Name

  • Description

  • Mail Nickname

Add Members

  • Add Members

  • Add Owners

  • Add Contacts

Remove Members

  • Remove Members

  • Remove Owners

  • Remove Contacts

Group Settings

  • Let people outside the organization email the group - If selected, it allows external senders to send emails to the group.

  • Send Copies of team emails and events to team members inboxes - If selected, it enables sending copies of team emails and events to the inboxes of team members.


Edit Tenant

This page allows you to edit some basic information about a tenant. The following tabs have information that you can manage:

General

Tenant Details

This includes basic tenant details like the Display Name and Tenant ID pulled from your GDAP contract with the client.

Properties

Here you can view/edit a custom alias for the tenant. This alias will currently only populate in the tenant dropdown in the menu bar. You can also manage the tenant's CIPP group membership.

Custom Variables

This tab presents a way to manage Global Variableson a per-tenant basis. For example, you need to set a client's RMM site ID.


Add Tenant Group

This page will allow you to create a new tenant group. Set the Group Name, Group Description, and initial tenants to add to the group.


Edit App Approval Template

This page will allow you to edit the settings for your app approval template


Self-hosted API Setup

For users running CIPP in their own Azure environment.

This step is optional for anyone who deployed after v7.1.x. If you are coming from v7.1.x or earlier, your Function App identity needs the "Contributor" role assigned to itself. You can do this manually, or with the PowerShell Role Assignment script. Both options are described below.

Assign the “Contributor” Role to the Function App

If you're self-hosting and running your own Azure Function App, you'll need to grant it proper access:

1

Go to .

2

Open the resource group hosting CIPP.

3

Select the Function App (not an offloaded app).

4

Navigate to Access control (IAM) > + Add > Add role assignment.

5

Click on Privileged administrator roles.

6

Choose:

  • Role: Contributor

  • Assign access to: User, group, or service principal

  • Select: The CIPP Function App identity

The Contributor role should allow the identity to create and manage all types of Azure resources but does not allow them to grant access to others.

In the Select field and type cipp. As you begin typing, the list of options will narrow, and you should see the Managed Identity for your Function App.

7

Click Save.


PowerShell Role Assignment (Alternative)

You can also use Azure Cloud Shell:


Once configured, head over to the Integration page in your CIPP UI.

Configuring CIPP

Getting started with setting up the CyberDrain Improved Partner Portal

Introduction

This section of the documentation will walk you through the process of setting up the CyberDrain Improved Partner Portal (CIPP) to manage your clients' tenants efficiently.

CIPP is a powerful Microsoft 365 multitenant management system that will allow you to deploy standard properties across all your tenants, easily manage everything from a single portal, and keep your managed environments in the best shape.

How will you be planning to use CIPP?

Depending on how you will deploy the software will determine where you will want to start.

  • Self-Hosted Instance: If you are planning on forking and hosting CIPP in your own Azure environment, you will want to start on the page.

  • Hosted Sponsor Instance: If you are planning on sponsoring the CIPP project and having us host your instance for you, you can skip the "Self-hosting guide" and start configuration of CIPP by clicking next.

Executing the Setup Wizard

This guide walks you through the process of executing the Setup Wizard inside CIPP for the first time. The Setup Wizard presents you with multiple options. If this is your first setup, choose the "First Setup" option.

Getting Started with the CIPP Setup Wizard

The First Setup option is designed for initial configuration. It guides you through essential steps to prepare CIPP and connect your tenants.

  1. Begin Setup Click on "First Setup" to start the configuration process.

  2. Application Registration On this page, you’ll create the necessary Application Registration in your Microsoft 365 environment. This application is used to manage tenant connections.

    • Click Authenticate and follow the on-screen instructions to register the application.

    • Important: Use the dedicated CIPP service account created during the preparation steps.

  3. Tenant Configuration Choose how you want to connect your tenants. Even if you’re not a Microsoft Partner, we strongly recommend selecting "Connect to Partner Tenant" first. This allows CIPP to manage credentials and application permissions effectively.

    • You can also add tenants individually, outside your partner relationship. These tenants show up in the table directly below, and can be removed if you accidentally authenticated the wrong tenant.

    • For these separate tenants, use a service account with equivalent permissions as the partner tenant. More information on these roles can be found under

  4. Select Baselines Choose from a list of available configuration baselines. These presets help you quickly apply best practices and policies.

    • We recommend selecting the CyberDrain Templates for the most optimized standard configurations, and receiving templates and examples on how to utilize standards.

  5. Configure Notifications Set up email notifications on the next page.

    • Ensure your service account has a mailbox enabled to support email alerts. This can either be a shared mailbox

    • You can test notification delivery directly from this screen.

  6. Optional Features The final step presents a list of optional features you can enable to further enhance CIPP’s functionality. Review and configure these as needed.

Tenant Onboarding

Overview

The GDAP Invite Wizard simplifies setting up GDAP relationships with your clients by assigning the correct roles and ensuring the CIPP-SAM application is correctly configured for each tenant. To get started with generating GDAP invites inside CIPP, navigate to Tenant Administration -> GDAP Management and follow the instructions below.


Wizard Steps

Step 1: Click on Add Tenant

To get started, we click the "Add Tenant" button. The overview page shows you your current GDAP configuration

Step 2: Generate CIPP Default Template

If you have never used the CIPP before, you will have the option to generate the CIPP Defaults Template. This template allows you to create the optimal role configuration for CIPP. If you do not create this template, you will need to create your own.

This option will create 12 new groups in your Azure AD if they do not exist and add the CIPP user to them. These groups will be mapped to the GDAP role referenced. For more information on which roles will have groups created for them, you can check out the page.

Step 3: Select GDAP Role Template and generate invites

Choose the role template to use from the list of role templates, and choose the amount of invites you'd like to generate. You can use this to generate the exact amount of invites for tenants you'd like to onboard.


Post-Invite Actions

After submission, you will see as many rows as invites you've requested, with two URLs in a table:

  • Invite Link: This URL is for the Global Administrator in your client tenant to accept the invite.

  • Onboarding Link: This URL is to be used by a CIPP admin to complete the onboarding process. It should not be used under a client account.


Role Management Considerations

Any additional users who need access to your Microsoft CSP Tenants via the admin portals must be manually added to the relevant security groups. These groups start with "M365 GDAP".

Adding a Custom Domain Name

Custom domain

Hosted Clients

Hosted clients can use the backend management system at to add a domain

Adding a Custom Domain Name

Why setup a custom domain?

  1. The automatically generated domain uses azurewebsites.net which is often blocked by web filtering products as it's often used by spammers and phishing sites due to the ease of obtaining an azurewebsites.net subdomain.

  2. Your bookmark stays the same if you redeploy.

  3. Easier to communicate internally and looks better for your team.

At the moment of deployment, the application uses a generated domain name. To change this follow these instructions:

  • Go to CIPPs Settings menu

  • Click on 'Static Web app - Role Management'

  • Select Custom Domains. You can add your own domain name here.

For more information see Microsoft's documentation at

Sponsor Quick Start

Welcome to your hosted instance of CIPP!

If you need assistance with or aren't comfortable navigating these requirements alone, take a look at our page, which offers a paid option for those who need a bit more hands on guidance with GDAP & CIPP deployment.

If you've started the sponsorship process and are ready to enhance your management of Microsoft 365 tenants with efficiency, this guide is designed to get you started.

Initial Sponsorship Actions

  1. Subscription Activation: Start by signing up for the $99 subscription using your GitHub account on the page.

  2. Welcome Email: Upon subscription, you will receive an email with detailed instructions to kickstart your deployment. This email will guide you to the for deployment steps.

Deployment & Service Account Creation

  1. Configure CIPP Deployment: Login to your using the GitHub credentials you used to initiate the sponsorship. This is where you can kick off your deployment, add custom domain names, and begin inviting users into CIPP.

  2. Service Account Creation: Follow the instructions carefully on the page to ensure there are no permission issues when connecting your tenants within CIPP in the subsequent steps.

Accessing CIPP & Executing SAM Wizard

  1. Add Yourself to CIPP: On the page in your management portal, ensure you've invited your work account as an admin into your newly deployed instance to avoid 403 Forbidden errors during login. Further guidance can be found on the page.

  2. Execute Setup Wizard: Follow the instructions on the page once logged into your CIPP instance using your newly invited account, NOT the service account. The service account is only used during specific configuration steps within the Setup Wizard.

Managing Client Relationships

  1. Onboard Existing Relationships: If your GDAP relationships with clients are already configured and you do not need to create new invites, proceed to to start managing your clients immediately.

  2. Establish New Relationships: If you need to establish new GDAP relationships for new clients, use the wizard to generate invites and complete the necessary actions to onboard the client to CIPP.

If you are unsure about whether your clients' environments are GDAP ready, or need more information about the process, continue to the page for more granular details & next steps.

Bookmarks

Clicking this icon will display pages that you have added to your bookmarks.

To add new bookmarks, hover your mouse over the page's entry in the side menu. You will see the same icon. Clicking the icon will shade in the icon and add the page to your boomarks.


User Preferences

The User Preferences page provides a tailored interface for users to manage and configure their individual settings related to general preferences, appearance, and offboarding defaults. This document outlines the functionalities available on the User Settings page.

General Settings

In this section, users can manage general settings related to their account and workspace:

  • Added Attributes when creating a new user: Users can select additional user object attributes that are available when creating a new user.

  • Default new user usage location: This setting allows users to specify the default user location when creating or editing a user.

  • Default Page Size: Set the default page size for tables across CIPP.

  • Menu Favourites: Set pages that will display in your favourites section.

Offboarding Defaults

This section provides you the ability to set offboarding defaults, this allows you to easily preselect your predefined offboarding preferences.

Actions

  • Save Settings: Save the modified settings for the individual user.

  • Save for All Users: If the user has admin privileges, they have the option to save the modified settings for all users within the tenant, this will overwrite all personal settings and be force on each full refresh of a page.

Developer Options

  • Enable TanStack Query Tools


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Speed Dial

The CIPP speed dial contains easy access to quick links for help with CIPP. The speed dial is located in the lower right corner of your browser window:

Options

Option
Description

CIPP Dashboard

About the Dashboard which includes versions and quick links

The Home page provides a comprehensive overview of the current tenant's details and allows you to perform various actions related to the tenant and its resources.

The Home page includes the following sections:

  • Universal Search: This is a universal search bar that allows you to quickly find the information you need using Lighthouse. To utilize this search, you must have onboarded Lighthouse on your partner tenant.

  • Portals: Contains links to various Microsoft 365 administration centers.

  • Executive Report: Create an Executive Report with key metrics to help guide your conversations with your clients around Microsoft tenant security and setup. These can be custom branded by going to .

  • Current Tenant: Displays various details about the current tenant:

    • Tenant Name

    • Tenant ID

    • Default Domain

    • AD Sync Enabled

    • Users: Total, Licensed, Guests and Global Admins. Note: The chart names are clickable.

    • Standards set: Shows the applied Remediation, Alert and Report standards set.

    • SharePoint Quota

    • Domain Names

    • Partner Relationships

    • Tenant Capabilities


Compromise Remediation

Single pane of glass review of common Indicators of Compromise (IoC)

Upon page load, CIPP will run an analysis on the user to identify common Indicators of Compromise (IoC). Once that analysis is returned, review the information presented and determine if the user has been compromised. The analysis performs the checks listed in the table below. A green check will indicate that information was found for the check and needs review.

Note: This page is intended to surface information about potential information that should be reviewed when a compromise is suspected. The existence of information in one of the indicators should not be interpreted as an absolute sign of compromise but rather as a useful tool to help quickly surface the basic information that should be reviewed during your investigation.

Indicators of Compromise Checks

Check
Description
Where to Dig Deeper?

Actions

Action
Description

Risky Users

This page lists the tenant's risky users. Here, you can review the information associated with the risk detection.

Table Columns

The properties returned are for the Graph resource type riskyUser. For more information on the properties please see the .

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Add Group Template

This page will allow you to create a group template for ease of deployment to your clients' tenants. Enter the group's "Display Name", "Description", and "Username" before selecting the radial for the group type you'd like to set.

Additional Group Type Settings

Group Type
Additional Settings

Dynamic Group Parameters: For Dynamic Groups, a text box for entering the dynamic group parameters syntax becomes available e.g.: (user.userPrincipalName -notContains "#EXT#@") -and (user.userType -ne "Guest").


Deleted Items

Lists all deleted users, groups and applications in the tenant

Shows deleted items in the tenant. What else did you expect? Monkeys? 🐒

Available Deleted Item Types

  • Application

  • Group

  • User

Column Details

The table will show some basic default information regarding the deleted object. The full list of columns available represent the Graph resource type , , and .

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Roles

Explore and review members for M365 roles

Overview

The Roles page provides a comprehensive list of all Microsoft 365 roles such as Billing Administrator, Global Administrator, etc. It offers the ability to view members associated with each role. This capability promotes efficiency and transparency in managing role assignments.

Column Details

The properties returned are for the Graph resource type directoryRole. For more information on the properties please see the . Additionally, CIPP will include a column outlining who is a member of each role.

Table Actions

Action / Feature
Description
Bulk Action Available

Considerations

While navigating the Roles page, please consider the following:

  1. Tenant Selection: This page does not yet support the "All Tenants" overview. Please use the tenant selector to view roles specific to a selected tenant.

  2. Scope of Roles: This page displays Microsoft 365 admin roles only. Exchange, Azure IAM, and Purview rights are outside the scope of this area.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Add JIT Admin

This page allows you to create a new JIT admin

Option
Description

To use Temporary Access Passes (TAP), you must enable the authentication method in the customer tenant. This can be done easily via the CIPP Entra : "Enable Temporary Access Passwords"


Sign-in Report

This page will list sign-ins from the past seven days.

Note that this page requires Entra ID Premium (P1/P2) licensing to pull this information.

Table Columns

The properties returned are for the Graph resource type signIn. For more information on the properties please see the .


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

AAD Connect Report

This page will output a table showing the status of Entra ID Connect syncing.

Table Columns

Column
Description

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Risk Detections

This page will display the risk detections for the selected tenant or AllTenants

Table Columns

The properties returned are for the Graph resource type riskDetection. For more information on the properties please see the .

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Tenant Groups

This page allows you to view and manage your custom tenant groups. Groups can be used in easily including similar tenants in your Standards.

Action Buttons

Table Details

Column
Description

Table Actions

Action
Description
Bulk Action Available

Alert Configuration

This page displays all current configured Audit Log and Scripted Alerts for CIPP. It also allows you to remove alert rules.

Action Buttons

Table Details

Column
Description

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Applications

This page shows all the enterprise applications that are available in the tenant. This can for example be very helpful when trying to identify SAM applications from previous MSPs.

To do this, first clear the filter and then select the All-non-Microsoft Enterprise Apps filter. If not done in this order, the filter will not work as expected.

Table Details

The properties returned are for the Graph resource type servicePrincipal. For more information on the properties please see the .

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Audit Logs

View captured Audit Logs from the Alerts Wizard.

CIPP saves Audit Logs when an alert matches the rules defined in your Alert Configuration.

Search Options

Select a time range in the Search Options to find Audit Log entries. Use the table filter to narrow down the results to what you are looking for.

Table Details

This will output a combined table of the various audit log alert entries that CIPP has collected. The table columns will vary based on the alert data structures.

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

App Registrations

This table will show all app registrations in the tenant.

Table Details

The properties returned are for the Graph resource type application. For more information on the properties please see the .

Table Actions

Action
Description
Bulk Action Available

Edit Permission Set

This page will allow you to edit the permission set's settings.


Templates

This page will contain your application appoval templates.

Action Buttons

Table Details

This table will include basic information on the template name, app id, app name, and permission set for your created templates.

Table Actions

Action
Description
Bulk Action Available

GDAP Management

Features

Overview

A chart showing a high-level view of your GDAP statistics including number of relationships, number of mapped admin roles, number of role templates, and pending invites.

Add a Tenant Button

Will launch the wizard.

GDAP Setup

A guided process to ensure that you have set up GDAP according to best practices to include mapping admin roles, creating role templates, creating invites, and setup completed.

GDAP Check

A tool to be used in troubleshooting for any failed issues with onboarding relationships, etc.

Add App Approval Template

This page will allow you to create an approval template for a multi-tenant application. Set the template name, application to deploy, and the permission set.

As a prerequisite, you must first create a permissions template. See the documentation on .

1

Name the Template

2

Select the Application to Deploy

This drop down will only display applications with a sign in audience set to multi-tenancy.

3

Select the previously created Permission Set

4

Click "Create Template"

You can now deploy the application with the permissions template in or .


Authentication Methods

Shows the status of the authentication methods for the tenant.

Table Details

The properties returned are for the Graph resource type authenticationMethodsPolicy. For more information on the properties please see the .

Table Actions


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Map GDAP Roles

This page will allow you to map the GDAP roles to a group in your partner tenant. The default is that the group will be created with the format of "M365 GDAP RoleName". You can optionally create your own group suffix if you have a need to map the same role to multiple groups (e.g. you use different group templates to provide different access by department, etc.).

Click "Add CIPP Default Roles" to automatically add the 15 recommended roles from the page.

Certain roles may not be compatible with GDAP. See the on GDAP role guidance. Unsupported roles are not available in CIPP to prevent random errors due to these roles being added to relationships.

The Company Administrator role is a highly privileged role that should be used with caution. GDAP Relationships with this role will not be eligible for auto-extend.


Partner Relationships

This page shows all the relationships that the selected tenant(s) have.

Table Details

The properties returned are for the Graph resource type crossTenantAccessPolicyConfigurationPartner. For more information on the properties please see the .

This table is view only.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Prerequisites
Recommended Roles
Recommended Roles
management.cipp.app
Microsoft Docs - Set up a custom domain with free certificate in Azure Static Web Apps
Professional Onboarding Services
GitHub Sponsorship
CIPP management portal
management portal
Creating the CIPP Service Account
User Management
Adding Users and Managing Roles
Executing the Setup Wizard
Adding Tenants & Consenting the CIPP-SAM Application
Tenant Onboarding
Tenant Onboarding
feature requests

Dismiss Risk

This action will mark the risk as dismissed.

Research Compromised Account

Opens the BEC investigation tab of the selected user

More Info

Opens the Extended Info flyout

Graph documentation
feature requests

Restore Object

Restores the selected item(s)

Permanently Delete Object

Permanently deletes the selected item(s)

More Info

Displays the Extended Info flyout

application
group
user
feature requests

More Info

Displays the Extended Info flyout

Graph documentation
feature requests
Graph documentation
feature requests

ID

GUID of object

Display Name

Display name of object

Created Date Time

Relative time since the object was created

On Premises Provisioning Errors

Any errors with syncing the object

Object Type

Type of the object

feature requests

Research Compromised Account

Launches the CIPP user page to research the compromise

More Info

Opens the Extended Info flyout

Graph documentation
feature requests

View Application

Opens the application in Entra ID

View App Registration

Opens the app registration in Entra ID

More Info

Opens the Extended Info flyout

Graph documentation
feature requests

View Log

Opens

feature requests
Tenant Onboarding

Enable Policy

Enables the sign-in method policy

Disable Policy

Disables the sign-in method policy

More Info

Opens Extended Info flyout

Graph documentation
feature requests
Graph documentation
feature requests

Prerequisites

This page covers everything you need before installing CIPP on your own infrastructure.

If you choose to sponsor and use the CyberDrain hosted version, you can skip over these steps, and jump over to Sponsor Quick Start guide for further direction.

To get started you must follow or have the following ready. Click on the links for instructions on how to perform some of these tasks, or for more information on the functionality in question.

1

Microsoft Tenant Requirements

  • Multi-Tenant Mode: A Microsoft Partner account with your clients’ tenants added. If you’re an MSP managing multiple tenants, this is essential for CIPP to function across them.

2

GitHub Forks

Fork each repository into your own GitHub organization so you can push updates, track changes, and deploy under your namespace.

  • CIPP Frontend Fork: GitHub Repo

  • CIPP API Fork: GitHub Repo

3

Azure Subscription

You’ll need an active Azure Subscription where your CIPP resources (Function Apps, Static Web Apps, Key Vault, etc.) will live. If you’re new to Azure, check out Azure’s free trial or confirm your existing subscription’s permissions

4

GitHub Personal Access Token

CIPP uses Azure Static Web Apps (SWA) to deploy from GitHub. You’ll need a PAT (Personal Access Token) with relevant repo permissions. For instructions, see Microsoft’s Create a GitHub Personal Access Token.

5

(Optional) Microsoft 365 Lighthouse License

  • Recommended for MSP Usage: A Microsoft 365 Lighthouse license is needed to access various API endpoints used in CIPP but CIPP will function without it.

  • If you buy a Lighthouse license purely for CIPP, remember to accept the EULA in the Lighthouse portal to activate it.

6

Azure Expertise (Assumed)

For the installation and maintenance of CIPP, we assume you’re comfortable with:

  • Azure Functions: Learn more

  • Azure Static Web Apps: Learn more

  • Azure Key Vault: Learn more

  • Azure Cost Management: Learn more

  • Azure Storage (Tables, Blobs, Files): Learn more

The linked resources above will help you understand the Azure services CIPP depends on that you will be required to configure and maintain. If you’re missing any of these skills, we suggest reviewing these before proceeding. Proper knowledge ensures a smooth deployment and ongoing maintenance.

7

GitHub Expertise (Assumed)

For the installation and maintenance of CIPP, understanding how to manage a GitHub repository and app deployment is crucial for the ongoing performance of CIPP. The issues that you can run into with app deployment and updates can be quite numerous and not being familiar with how to troubleshoot those issues can cause you to have your application fail to update. Of course, if you get stuck you can ask in #cipp-community-help in Discord.


You’re Ready for Installation Once you’ve checked off these prerequisites, move on to the next page to set up your self-hosted instance. Happy CIPPing!

Migrating to Hosted CIPP

When you start a CIPP sponsorship, you can either:

  • Continue self-hosting and receive support for that setup, or

  • Use the version hosted by CyberDrain (fully managed).

If you decide to migrate from a self-hosted instance to our hosted environment, follow these steps:


1. Back Up Your Self-Hosted Instance

1

Log In to your self-hosted CIPP instance.

2

Go to Application Settings → click Run Backup.

3

Download the generated backup file.

  • Store this file in a safe location (it contains all your CIPP config).


2. Deploy Your Hosted Instance

1

Go to CIPP's Management Portal and log in with the GitHub account you used to sponsor.

2

Deploy your hosted CIPP instance by filling out the required information.

3

Accept the initial invite and log into the newly created hosted environment.


3. Transfer Your Key Vault Secrets

1

Return to your self-hosted instance → Application Settings → Backend.

2

Click Go to Keyvault. Keep this tab open.

3

In your hosted instance, open the SAM Setup Wizard.

4

Select “I have an existing application and would like to manually enter my tokens.”

5

Copy each value from your self-hosted Key Vault (step 2) into the corresponding fields in your hosted environment.

6

Click Next to finish the wizard.


4. Restore Your Backup

1

In your hosted CIPP instance, navigate to Application Settings → Restore Backup.

2

Upload the backup file you downloaded in Step 1.

3

Wait for the restore to complete—CIPP will import your original configuration and data.


5. (Optional) Custom Domain Cleanup

  • If you used a custom domain on your self-hosted instance, remove it there first so you can reuse it in the hosted environment.

  • In the Management Portal, add your custom domain to the hosted CIPP instance following the on-screen instructions.


That’s It!

Your instance and settings now live in the fully managed, CyberDrain-hosted version of CIPP.

Congratulations on a smooth migration! Enjoy your new, hosted CIPP with automatic updates and support.

Conditional Access Configuration

Setup your Conditional Access policies for CIPP.

To make sure CIPP is able to access your tenants securely we recommend the usage of Conditional Access. Both your, and your clients Conditional Access Policies will need to be configured for optimal usage.

Setup of Your Conditional Access Policies

1

Open Azure

Browse to the Conditional Access Policies blade in Azure.

2

Edit Existing Conditional Access Policies

Exclude the CIPP service account from each existing policy, this way we have a dedicated policy for the CIPP service account

3

Create CIPP Specific Policy

Create a new policy and include the CIPP user. Enforce Azure Multi-Factor Authentication for each logon (set sign in frequency under session to every time) and for all cloud applications. Do not add any exclusions or trusted locations.

If you have trusted locations under the classic MFA portal you must always remove those.

Save this policy under the name "CIPP Service Account Conditional Access Policy"

Setup of Clients' Conditional Access Policies

GDAP is affected by your clients' conditional access policies. To make sure you can access your clients using your CIPP integration user we recommend excluding the MSP from the Conditional Access Policy per Microsoft's Documentation

1

Open Azure

Browse to your client's Conditional Access Policies blade in Azure.

2

Edit Conditional Access Policies

For each policy listed. Add an exclusion to "Users and Groups" with the following settings:

  • Guest or external users

  • Service Provider Users

  • Selected

  • Enter your tenant ID. If you do not know what your tenant ID is, you can look this up here.

If you have any Microsoft-Managed Conditional Access policies showing up in your client tenants, these are an indication from Microsoft that they do not feel that your client's tenant meets minimum security posture. These policies cannot be deleted but they can be cloned and then disabled.

Optional: If you are running in Direct Tenant mode, exclude the CIPP service account for this tenant instead of the tenant exclusion.

Tenants

View and manage your Microsoft 365 CSP tenants.

When you select one of the portal links, the permissions of the currently logged in user are the ones that matter. They need permission to access the portal in question either by virtue of direct administrative roles or the Admin Agent/Helpdesk Agent role in Partner Center.

The Tenant page provides the ability for you to jump to the specific tenant administration centers for that client using your individual partner tenant user credentials. Allowing you to administer that specific tenant.

Tenants are cached for 24 hours. By using the Clear Tenant Cache button in Application Settings, you are able to reload the tenants from the partner center immediately. Remember to also clear your browser cache.

Table Details

Fields
Description

Name

The tenant name.

Default Domain

The tenant's default domain.

The page also features several columns which contain links to the different Microsoft 365 administration centers for the tenant.

Table Actions

Bulk Action Available

Edit Tenant

Opens a page to edit the tenant alias and manage tenant group membership.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Secure Score

This page provides an overview of the Secure Score of the tenant. The default page view is with each secure score component displayed as a card.

Card Actions

Action
Description

Change Status

Opens a modal that allows you to change the status of the score component

Remediate

Will launch the appropriate Microsoft portal or recommended CIPP standard to remediate this score component.

Updates

Displays a chart of updates to the score since CIPP started tracking


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Role Mappings

This page shows all the roles and what security group in the partner tenant that are available to be mapped to a GDAP relationship via CIPP.

To create new mappings, click the Map GDAP Rolesbutton.

Table Details

Column
Description

Role Name

The name of the GDAP role associated with the mapping

Group Name

The name of the Entra ID security group residing in your partner tenant associated with the mapping

Table Actions

Bulk Action Available

Add to Template

Delete Mapping


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Tenants

Shows the tenants selected for the alert

Event Type

"Audit log Alert" or "Scheduled Task"

Conditions

Shows the alert conditions configured

Repeats Every

Shows the cadence for the alert

Actions

Shows the actions selected when an alert is generated

Edit Alert

Opens the Add Alert page to be able to adjust settings as needed

Clone & Edit Alert

Copies the selected alert allowing you to make adjustments before saving it as a new alert.

Delete Alert

Opens a modal to confirm you want to delete the alert

feature requests
Add Alert
$RGName = Read-Host -Prompt "Resource Group Name"
Connect-AzAccount
$Functions = Get-AzResource -ResourceGroupName $RGName -ResourceType 'Microsoft.Web/sites' | Where-Object { $_.Name -match 'cipp' -and $_.Name -notmatch '-' }
$FunctionApp = Get-AzWebApp -ResourceGroupName $Functions.ResourceGroupName -Name $Functions.Name
$Identity = $FunctionApp.Identity.PrincipalId
New-AzRoleAssignment -ObjectId $Identity -RoleDefinitionName 'Contributor' -Scope $FunctionApp.Id
Azure Portal
CIPP-API

Check the Documentation

Opens docs.cipp.app for the page you are currently reviewing.

Join the Discord!

Opens a new tab to join the CyberDrain Discord server.

Request Feature

Opens a new tab to the GitHub feature request form. Note: Submissions by non-sponsors will auto close

Report Bug

Opens a new tab to the GitHub bug report form.

License

Opens the page for the GNU Affero General Public License terms for CIPP.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Mailbox Rules

This will present any mailbox rules found for the client.

Mailbox Rules

Recently added users

This will display any newly created users in the tenant.

Users

New Applications

This will display any newly registered enterprise applications.

Applications

Mailbox permission changes

This will identify any suspicious mailbox permission changes.

Mailboxes and review the indicated mailboxes for the permissions data.

MFA Devices

This will identify any MFA devices for review, including when the type of device and the datetime when it was registered.

Password Changes

This will display any recent password changes for the tenant.

Refresh Data

This will refresh the analysis for the user and update the Indicators of Compromise checks.

Remediate User

This action will block user sign-in, reset the user's password, disconnect all current sessions, remove all MFA methods for the user, and disable all inbox rules for the user.

Download Report

This will download a JSON file for the checks completed in the analysis.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Azure Role Group

None

Security Group

None

Microsoft 365 Group

None

Dynamic Group

Dynamic Group Parameters (see below)

Dynamic Distribution Group

Dynamic Group Parameters ( see below)

Distribution List

Let people outside the organization email the group - Allows the group to receive messages from both inside and outside the organization.

Mail Enabled Security Group

None

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Tenant selection

Use the dropdown to select the tenant for JIT Admin access

User selection

Select if you would like to create a new user or use an existing user

Start Date

Sets the start date for JIT Admin access

End Date

Sets the end date and time for JIT Admin access

Roles

Select the Entra ID admin roles you want assigned to the user. Remember: Use the principle of least privilege to only assign the role with the minimum set of permissions needed to complete your tasks.

Generate TAP

Set this option to generate a Temporary Access Pass (TAP) to to satisfy the need for strong authentication/MFA

Expiration Action

Select what you want to happen to the user at expiration of the JIT admin access requested.

Notification Action

Select the option or options for how you would like to be notified of JIT admin creation. Note that only options that are configured in CIPP settings will work.

List Standards Templates

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Name

Name of the group

Description

Description set for the group

Members

Click to view a table of the tenants in this group

Edit Group

Opens the Edit Tenant Group page for the selected row

Delete Group

Opens a modal to confirm you want to delete the selected group.

Add Tenant Group

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

View App Registration

Opens the app registration in the Entra portal

View API Permissions

Opens the API permissions for the app registration in the Entra portal

More Info

Opens the Extended Info flyout

Graph documentation

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Edit Template

Opens the template to edit

Copy Template

Opens the Add App Approval Template page with the settings from the currently selected template prefilled

Save to GitHub

Saves the selected template(s) to your chosen GitHub repo

Delete Template

Opens a modal to confirm deletion of the selected template(s)

More Info

Opens the Extended Info flyout

Add App Approval Template

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Add Permission Set
Standards
Application Approval

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Recommended Roles
Microsoft documentation

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

I Want to Manage My Own Tenant

If you want to manage your own tenant or if you are not a Microsoft Partner but still want to use CIPP you can perform the setup and enable access to the partner tenant or enable Single Tenant Mode. The CIPP Service Account should be granted at least the Recommended Roles within the tenant being managed.

To manage the tenant mode, a user with the CIPP "superadmin" roles will need to access the Tenant Modepage of the Super Admin settings.

There are 3 different modes in CIPP to choose from:

  • Multi Tenant - GDAP mode

    • This is the default mode in CIPP, it does not allow access to the partner tenant.

  • Multi Tenant - Add Partner Tenant

    • This mode allows access to the partner tenant and customers via GDAP. See the Limitations below for more details.

  • Single Tenant - Own Tenant Mode

    • This mode is for if you would like to manage your own tenant and/or are not a Microsoft Partner. See the limitations below for more details.

Limitations of Single Tenant Mode

When using Single Tenant Mode CIPP runs in a somewhat more limited state - You are not able to add any other tenant to CIPP and it only works for the configured tenant. GDAP permissions will not apply, and you must directly assigned roles such as Global Admin to the service account.

Limitations of Partner Tenant Enabled

When using Partner Tenant Enabled mode you can see your partner tenant inside of CIPP. There will be no permissions applied to whom can see this tenant and control it.

It is highly recommended to use a custom role if multiple users have access to your CIPP instances. This can help ensure not all users have access to manage your partner tenant. If you do not, it's important to note that all your users will have access to edit/configure your partner tenant. Information on custom roles can be found here.

GDAP permissions will not apply and you must directly assign roles to the service account in the Entra portal (e.g. User Administrator, Exchange Administrator, etc.).

To set the tenant mode, follow these steps

  1. Log in to CIPP with an account with the role superadmin. This role will allow you access to the menu to change this setting.

  2. Go to the Application Settings menu

  3. Go to the Super Admin tab

  4. Select one of the three modes. The default mode is "Multi Tenant - GDAP Mode"

  5. Clear the tenant cache. Users of CIPP now have access to the CSP Partner tenant, or to the single tenant it's been configured for.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Tenant Select

The tenant selector at the top of CIPP allows you to control the currently managed tenant. Any changes to the tenant selector will reload the currently shown data to the one of the selected tenant.

Added functionality

The Tenant Selector has a building button to see the current tenant details. Clicking on this button allows you to view the following info directly from any page:

Field Name
Field Purpose

Display Name

The display name of the tenant

Business Phones

What phone number has been set on the tenant

Technical Emails

Technical email contact

Tenant Type

What the type of tenant it is

Created

Created time and date

AD Connect Enabled

If AD connect is enabled

AD Connect Sync

Is syncing is enabled

AD Password Sync

If passwords are synced

You can also use this page to jump to the most common portals or actions

Actions

  • M365 Portal

  • Exchange Portal

  • Entra Portal

  • Teams Portal

  • Azure Portal

  • Intune Portal

  • Security Portal

  • Sharepoint Admin


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Add Group

On this page you will enter all of the necessary information to create a group.

Field
Description

Display Name

Set the display name that you want visible for this group

Description

Set the description for the group

Username

Set the group's username. This will be used in setting the mail nickname, e-mail address, etc.

Primary Domain Name

Select the domain from the dropdown that you wish to set as the primary domain name for the group

Owners

Select one or more owners of the group from the dropdown

Members

Select one or more members of the group from the dropdown

Group Types

Type
Additional Settings

Azure Role Group

None

Security Group

None

Microsoft 365 Group

None

Dynamic Group

Dynamic Group Parameters (see below)

Dynamic Distribution Group

Dynamic Group Parameters (see below)

Distribution List

Let people outside the organization email the group - Allows the group to receive messages from both inside and outside the organization.

Mail Enabled Security Group

None

Dynamic Group Parameters: For Dynamic Groups, a text box for entering the dynamic group parameters syntax becomes available e.g.: (user.userPrincipalName -notContains "#EXT#@") -and (user.userType -ne "Guest").


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Table View

An alternative way to display the Secure Score page.

Information Box

  • Current Score

  • Compared Score (All Tenants)

  • Compared Score (Similar Tenants)

  • Score in Points

Table Details

The properties returned are for the Graph resource type secureScoreControlProfile. For more information on the properties please see the Graph documentation.

CIPP will additionally add columns called "Action Url" and "Remediation" with addiitonal information on how to take action on the score component. The "Remediation" column will indicate which CIPP Standard will complete the selected action.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Permission Sets

This page will allow you to manage application permission settings to be used to approve and deploy applications to your client tenants.

Action Buttons

Table Details

This table will display the permission sets that you have created along with some basic information on the permission set.

Table Actions

Action
Description
Bulk Action Available

Edit Permission Set

Opens the permission set to allow you to adjust the set's settings

Cope Permission Set

Opens the Add Permission Set page with the settings of the selected permission set pre-filled

Delete Permission Set

Opens a modal to confirm deletion of the selected permission set(s)

More Info

Opens the Extended Info flyout


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Add Permission Set

This page will allow you to create a new application permission set of Microsoft Graph permissions.

Set a name for your new permission set, optionally import from an existing permission set, optionally add a service principal, and select the application and delegated permissions to add to the set.

1

Name the Permission Set

2

(Optional) Import from an Existing Permission Set

3

(Optional) Select a Service Principal

Click the refresh button next to the drop down to pull in updated results from Graph.

The form will default to Microsoft Graph. To select additional service principals (such as Microsoft SharePoint Online), select your desired service principal and click the + button to the right of the dropdown.

4

Select Permissions

Select both Application and Delegated permissions for any of the selected service principals.

5

Click "Save Changes" Button

6

Click "Save" Button

Now you can use Add App Approval Templateto create a template to deploy this permissions set with the app you want to select.


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Configuring Automatic Updates

If you choose to sponsor and use the CyberDrain hosted version, you can skip over these steps and jump over to our guide for further direction.

Overview

Enabling automatic updates means that each time CIPP releases a new version, a pull request (PR) is created in your GitHub repository. You simply approve and merge this PR to get the newest changes, no manual forking or syncing required.

1. Install the “Pull” GitHub App

1

Go to .

2

Click Install (or Configure, if you’ve used Pull before).

3

Select your CIPP and CIPP-API repositories from the list.

2. Remove pull_request Triggers in Your Existing Workflow

To avoid conflicts, you’ll remove the lines that automatically trigger GitHub Actions on pull requests in your azure-static-web-apps workflow file:

1

Open your CIPP repository in GitHub.

2

Navigate to the folder:

3

Find the file named something like azure-static-web-apps-xyz.yml (the name includes your deployment token and some random words).

4

Edit the file (click the pencil icon).

5

Remove the following lines (or comment them out):

6

Commit these changes directly to your repository’s main branch.

Why Remove These Lines? They trigger the workflow whenever a PR is opened or updated—this can cause conflicts once Pull starts handling your updates, because you’ll end up with dueling triggers.

3. Approve Your First Automatic Update

When a new version of CIPP is released:

1

Open your CIPP repository on GitHub.

2

Check the Pull Requests tab. You’ll see a new PR created by the Pull app.

3

Review the changes.

4

Click Merge (or Run Workflow, if asked) to accept the update.

That’s it! Your repository will now stay in sync with the latest CIPP releases by simply merging new pull requests from the Pull app.


Common Questions

Q: Do I need to remove pull_request triggers in both CIPP and CIPP-API repos? A: Yes—if both repos have pull_request triggers in their .yml workflow files, remove them in each to avoid conflicts.

Q: What if I accidentally discard the Pull app’s PR? A: You can always open the “Closed” Pull Requests and revert that action, or let Pull create a new one. Just make sure you haven’t re-added the pull_request lines.

Q: Will my Azure deployment automatically pick up changes after I merge the PR? A: Yes—assuming your GitHub Actions workflow triggers on push to main, the Static Web App and Function App will redeploy within ~30 minutes.

Q: Do I still need to click “Sync Fork”? A: No—once Pull is set up, you won’t need to manually sync. The Pull app auto-creates a PR whenever upstream changes are detected.


Pull, like CIPP, is an Open Source Software project. Consider sponsoring the developer as a thank you for all the hours you'll save keeping your repository up to date.

You’re All Set!

With Pull handling your repository’s updates, your self-hosted CIPP instance will stay current with minimal effort. Just watch for those PR notifications, merge them, and enjoy the latest features!

Recommended Roles

As CIPP is an application that touches many parts of M365 selecting the roles might be difficult. The following roles are recommended for CIPP, but you may experiment with less permissive groups at your own risk.

Please note that any relationship that contains the Global Administrator/Company Administrator role will NOT be eligible for auto extend.

The table below outlines the recommended roles for use in CIPP, describing what each role enables. Click on the Role Name to navigate to Microsoft's page for detailed information about each specific role.

Role Name
What it allows for

Additional Recommended Roles

These roles are not currently configured with functionality within CIPP but will begin to be incorporated over time. These are the roles that Microsoft recommends in addition to the 12 above to give MSPs the most similar experience of a global administrator without needing global administrator access. Currently these are helpful for enabling them to do things in the native Microsoft portals.

Role Name
What it allows for

These roles will begin to be alerted as missing when running GDAP checks. It is recommended that these be added to your and add these three roles to your .

Edit User

This page displays options for editing the user's properties, license assignment, password reset, and group memberships.


Getting Started

  • Navigate to: Identity Management > Administration > Users

  • Select a user > Click Edit User in the Actions menu

  • You will be landed on the "Edit User" tab.

Page Layout

Header Information on this page displays the user's Display Name, their User Principal Name (with copy option), their User ID (with copy option, the Account Creation Date, and a button to launch Entra to view the user.

Basic Information

  1. User Identity: First Name, Last Name, Display Name, Username (before the @ symbol), Primary Domain name (select from dropdown)

  2. Professional Details: Job Title, Department, Company Name

  3. Contact Details: Street Address, Postal Code, Mobile Phone, Business Phone, Alternate Email Address

  4. Management: Set Manager (select from existing users), Copy groups from another user

Account Settings

  1. Password Options

    • Create password manually (toggle)

      • When enabled: Enter custom password

      • When disabled: System generates secure password

    • Require password change at next logon (toggle)

  2. Location Settings

    • Usage Location (required for licensing)

    • Select country from dropdown

License Management

  • Current Licenses

    • Shows currently assigned licenses

    • Drop down box allows you to multi-select the licenses you want the user to have after editing

    • Option to remove all licenses (toggle) - When removing the final license on a user, this must be checked.

  • SherWeb Integration (if enabled)

    • Auto-purchase option appears when licenses unavailable

    • Select license SKU for purchase

    • System handles purchase and assignment

Group Management

  • Copy groups from user

    • Allows you to select another Entra ID user to copy groups from

  • Add to Groups

    • Multi-select dropdown that will allow you to add the user to groups

  • Remove from Groups

    • Multi-select dropdown that will allow you to remove the user from groups

Custom Attributes

  • Custom attributes can be configured in Preferences > General Settings

  • These include specific Azure AD attributes that will be available when creating new users:

  • Available Attributes: consentProvidedForMinor, employeeId, employeeHireDate, employeeLeaveDateTime, employeeType, faxNumber,legalAgeGroupClassification, officeLocation, otherMails, showInAddressList, state

  • Configuration:

    • Go to Preferences page under your user profile.

    • Under General Settings

    • Find Added Attributes when creating a new user

    • Select desired attributes from dropdown

    • Selected attributes will appear on Add User form

Notes

  • Changes take effect immediately upon saving

  • License changes require valid usage location

  • Password resets follow complexity requirements

  • Group membership changes are processed in order (removals then additions)

  • On-premises synced accounts show warning about limited editability


Conditional Access

This page will allow you to test your conditional access policies before putting them in production. The returned results will show you if the user is allowed or denied access based on the policy.

This page works off of conditional access policies that would be applied to the user. Be sure to deploy your test policy in "Report Only" mode to ensure that you can test without breaking the user's login experience.

1

Select the Application to Test

This drop down contains the list of applications available for login scenarios

2

Select Optional Parameters

See the table below for more information

3

Click the "Test policies" button

4

Review the Test Results

See the table below for more information

Optional Parameters

Parameter
Description

Test Results

This table will outline the following information about the conditional access policies configured for the tenant and the results of the test.

Column
Description

Groups

Interact with Microsoft 365 groups.

Overview

The Groups page is equivalent to . It offers an overview of all groups within the organization and allows users to manage group details and memberships.

Action Buttons

Column Details

The properties returned are for the Graph resource type group. For more information on the properties please see the .

Table Actions

These actions and information are available in the flyout menu when you click the ellipsis button in the "Actions" column:

Action/Information
Description

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Inactive Users

The report indicates whether inactive users have licenses assigned. It examines both interactive and non-interactive sign-in dates to determine this. This page lists all inactive users in the tenant who have not logged in for 180 days or more.

Table Columns

Table Actions

Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Relationships

This page shows all the relationships that are attached to your Microsoft partner tenant. It shows the status of the relationship, the tenant's name, when it was created, when it expires, if auto extend is enabled, if the relationship includes a Global Admin and more.

Table Details

The properties returned are for the Graph resource type delegatedAdminRelationship . For more information on the properties please see the .

Table Actions

Action
Description

App Consent Requests

This page shows all the app consent requests that have been made in the tenant.

Please note: App consent requests are only available for tenants that have disabled user consent for applications or have the Require admin consent for applications standard enabled. To not miss any requests, it is recommended to set up the Scripted CIPP Alert Alert on new apps in the application approval list.

Table Details

The properties returned are for the Graph resource type appConsentRequest. For more information on the properties please see the .

Table Actions

Action
Description
Bulk Action Available

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

.github/workflows
pull_request:
  types: [opened, synchronize, reopened, closed]
  branches:
    - main
Sponsor Quick Start
https://github.com/apps/pull

Application Administrator

Can create and manage all applications, service principals, app registration, enterprise apps, consent requests. Cannot manage directory roles, security groups.

User Administrator

Manages all aspects of users, groups, registration, and resets passwords for limited admins. Cannot manage security-related policies or other configuration objects.

Intune Administrator

Manages all aspects of Intune, including all related resources, policies, configurations, and tasks.

Exchange Administrator

Manages all aspects of Exchange Online, including mailboxes, permissions, connectivity, and related settings. Limited access to related Exchange settings in Azure AD.

Security Administrator

Can read security information and reports, and manages security-related features, including identity protection, security policies, device management, and threat management in Azure AD and Office 365.

Cloud App Security Administrator

Manages all aspects of the Defender for Cloud App Security in Azure AD, including policies, alerts, and related configurations.

Cloud Device Administrator

Enables, disables, deletes devices in Azure AD, reads Windows 10 BitLocker keys. Does not grant permissions to manage other properties on the device.

Teams Administrator

Manages all aspects of Microsoft Teams, including telephony, messaging, meetings, teams, Microsoft 365 groups, support tickets, and service health.

SharePoint Administrator

Manages all aspects of SharePoint Online, Microsoft 365 groups, support tickets, service health. Scoped permissions for Microsoft Intune, SharePoint, and OneDrive resources.

Privileged Authentication Administrator

Sets/resets authentication methods for all users (admin or non-admin), deletes/restores any users. Manages support tickets in Azure and Microsoft 365. Restrictions on managing per-user MFA in legacy MFA portal.

Authentication Policy Administrator

Configures authentication methods policy, MFA settings, manages Password Protection settings, creates/manages verifiable credentials, Azure support tickets. Restrictions on updating sensitive properties, deleting/restoring users, legacy MFA settings.

Privileged Role Administrator

Manages role assignments in Azure AD, Azure AD Privileged Identity Management, creates/manages groups, manages all aspects of Privileged Identity Management, administrative units. Allows managing assignments for all Azure AD roles including Global Administrator.

Domain Name Administrator

Can manage domain names in cloud and on-premises.

Global Reader

Can read everything that a Global Administrator can but not update anything.

Billing Administrator

Can perform common billing related tasks like updating payment information.

Azure AD built-in roles
GDAP Role Mapping
Role Template

ID

The GUID of the tenant concatenated with the GUID of the user separated by an underscore

Tenant ID

GUID of the tenant

Tenant Display Name

Azure Ad User Id

GUID of the user

Display Name

User's display name

User Principal Name

User's UPN

User Type

User type of "Member", "Guest", or "SharedMailbox"

Created Date Time

Relative time since the account was created

Number of Assigned Licenses

Last Refreshed Date Time

Relative time since the last refresh on the login statistics

Last Sign In Date Time

Relative time since the last login

Last Non Interactive Sign In Date Time

Relative time since the last non interactive sign in. For more information on what a non interactive sign in is, please see Microsoft Learn.

View User

Opens the CIPP user page for the selected user

Edit User

Opens the CIPP edit user page for the selected user

Block Sign In

Opens a modal to confirm if you want to block sign in for the user

Delete User

Opens a modal to confirm if you want to delete the user

More Info

Opens Extended Info flyout

feature requests

Review in Entra

Opens Entra ID to the request for you to review further

Approve in Entra

Opens Entra ID to approve the request

More Info

Opens the Extended Info flyout

Graph documentation
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
feature requests
Add Permission Set
feature requests
feature requests

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Country

Select the country you want to test logging in from via the drop down.

IP Address

Enter the IP address you want to test logging in from. Format must be similar to 8.8.8.8

Device Platform

Select the device platform you want to test.

Client Application

Select the client application you want to test.

Sign-In Risk Level

Select the sign-in risk level of the user signing in you want to test.

User Risk Level

Select the user risk level of the user signing in you want to test.

Display Name

The display name of the conditional access policy.

State

The enablement state of the conditional access policy.

Policy Applies

A Boolean showing if the policy applies to the test settings.

Reasons

A value for the reason for the decision on policy application.

Optional Parameters
Test Results

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

View Relationship

Opens the relationship summary page for the selected relationship [More information]

Start Onboarding

Opens the CIPP onboarding wizard for the selected relationship

Open Relationship in Partner Center

Opens a new link to the relationship in your Microsoft Partner Center

Enable automatic extension

If the relationship is eligible for automation extension, this will enable the relationship to auto extend

Remove Global Administrator from Relationship

The Global Administrator (Company Admin in GDAP) role will be removed from the relationship. This is the lone role edit that is currently able to be made on an existing relationship.

Reset Role Mapping

Allows you to select a new Role Template to map to the relationship fixing relationships that have overlapping roles or incorrect group assignments.

Terminate Relationship

More Info

Opens Extended Info flyout

Graph documentation

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Edit Group

Allows navigation to the Edit Group page.

Hide from Global Address List

Hides the group from the Global Address List.

Unhide from Global Address List

Makes the group visible in the Global Address List.

Only allow messages from people inside the organization

Restricts the group to only receive messages from people inside the organization.

Allow messages from people inside and outside the organization

Allows the group to receive messages from both inside and outside the organization.

Create template based on group

Will create a group template from this group's settings

Delete Group

Deletes the group using the ExecGroupsDelete endpoint listed below.

More Info

Opens the Extended Info flyout

Microsoft 365 admin center > Active teams and groups
Graph documentation
feature requests
Add Group
feature requests

Adding Users and Managing Roles

How to grant users access to the CIPP App

Initial User Setup

When you first set up CIPP, you will need to create your first user in one of two ways:

This user should be given the role of superadmin to allow you to complete the setup of your additional users. This user will be used to configure the remaining settings within CIPP and certain features like role management are restricted to superadmin only.

We recommend that this user be your break glass CIPP superadmin account while all remaining users get invited via CIPP Roles.

  • For hosted clients, invites and roles can be managed by logging into the management portal here.

  • For self-hosted users:

    • Go to the Azure Portal.

    • Go to your CIPP Resource Group.

    • Select your CIPP Static Web App CIPP-SWA-XXXX.

    • Select Role Management (Not IAM Role Management).

    • Select invite user.

    • Add the roles for the user. Multiple roles can be applied to the same user.

After the invite link is sent to the user, they must click on it to accept the invite and gain access to the app. The invites expire after a specific amount of time. Note this link must be sent manually to them, it is not e-mailed.

Additional User Setup

Once you have your initial superadmin user added, you are now able to set up additional users using the built-in roles or custom CIPP roles via CIPP Roles.

Built-In Roles

CIPP features a role management system which utilizes the Roles feature of Azure Static Web Apps. The roles available in CIPP are as follows:

Role Name
Description

readonly

Only allowed to read and list items and send push messages to users.

editor

Allowed to perform everything, except change system settings.

admin

Allowed to perform everything.

superadmin

A role that is only allowed to access the settings menu for specific high-privilege settings, such as setting up the settings. This role must be combined with 'admin'

You can assign these roles to users using the CIPP Roles page.

You can assign built-in roles using Entra groups. Select Edit from the Action column next to the role in the CIPP Roles table and select an Entra group from the drop down. Don't forget to hit Save at the bottom!

Custom Roles

While CIPP only supplies the above roles by default, you can create your own custom roles and apply them to your users with editor or readonly rights, admin users are unaffected by custom roles.

Custom role permissions can only grant the highest level of the base permission. You cannot grant edit permissions to the readonly role. Assigning the editor role and then using a custom role to remove permissions will provide you with the functionality you're looking for there.

Set up Custom Roles by following these steps:

  • Go to CIPP -> Advanced -> Super Admin -> CIPP Roles.

  • Select a Custom Role from the list or start typing to create a new one if you do not yet have any.

    • Please ensure that your custom role is entirely in lowercase and does not contain spaces or special characters.

  • Optionally select a Entra group this role will be mapped to. Adding an Entra group removes the requirement to add the user to either the SWA or inviting via the Management Portal.

  • For Allowed Tenants select a subset of tenants to manage or AllTenants.

    • If AllTenants is selected, you can block a subset of tenants using Blocked Tenants.

  • Select the API permission from the listed categories and choose from None, Read or Read/Write.

    • To find out which API endpoints are affected by these selections, click on the Info button.

Users previously directly added to the SWA or via the Management App will retain their settings from there. Adding those users via Entra group to a role with different permissions can cause errors in determining the user's access. It is recommended not to duplicate how you provide the user with permissions.

If you continue to utilize SWA/Management App for role assignment, note that the roles do not sync so you will need to carefully type the role exactly as it appears in CIPP Roles for the role to properly apply.

Adding Users and Managing Roles

How to grant users access to the CIPP App

Initial User Setup

When you first set up CIPP, you will need to create your first user in one of two ways:

This user should be at minimum given the role of superadmin to allow you to complete the setup of your additional users. This user will be used to configure the remaining settings within CIPP and certain features like role management are restricted to superadmin only.

We recommend that this user be your break glass CIPP superadmin account while all remaining users get invited via CIPP Roles.

  • For hosted clients, invites and roles can be managed by logging into the management portal here

  • For self-hosted users:

    • Go to the Azure Portal.

    • Go to your CIPP Resource Group.

    • Select your CIPP Static Web App CIPP-SWA-XXXX.

    • Select Role Management (Not IAM Role Management).

    • Select invite user.

    • Add the roles for the user. Multiple roles can be applied to the same user.

After the invite link is sent to the user, they must click on it to accept the invite and gain access to the app. The invites expire after a specific amount of time. Note this link must be sent manually to them, it is not e-mailed.

Additional User Setup

Once you have your initial superadmin user added, you are now able to set up additional users using the built-in roles or custom CIPP roles via CIPP Roles.

Built-In Roles

CIPP features a role management system which utilizes the Roles feature of Azure Static Web Apps. The roles available in CIPP are as follows:

Role Name
Description

readonly

Only allowed to read and list items and send push messages to users.

editor

Allowed to perform everything, except change system settings.

admin

Allowed to perform everything.

superadmin

A role that is only allowed to access the settings menu for specific high-privilege settings, such as setting up the settings.

You can assign these roles to users using the CIPP Roles page.

You can assign built-in roles using Entra groups. Select Edit from the Action column next to the role in the CIPP Roles table and select an Entra group from the drop down. Don't forget to hit Save at the bottom!

Custom Roles

While CIPP only supplies the above roles by default, you can create your own custom roles and apply them to your users with editor or readonly rights, admin users are unaffected by custom roles.

Custom role permissions can only grant the highest level of the base permission. You cannot grant edit permissions to the readonly role. Assigning the editor role and then using a custom role to remove permissions will provide you with the functionality you're looking for there.

Set up Custom Roles by following these steps:

  • Go to CIPP -> Advanced -> Super Admin -> CIPP Roles.

  • Select a Custom Role from the list or start typing to create a new one if you do not yet have any.

    • Please ensure that your custom role is entirely in lowercase and does not contain spaces or special characters.

  • Optionally select a Entra group this role will be mapped to. Adding an Entra group allows all users in this group to access CIPP.

  • For Allowed Tenants select a subset of tenants to manage or AllTenants.

    • If AllTenants is selected, you can block a subset of tenants using Blocked Tenants.

  • Select the API permission from the listed categories and choose from None, Read or Read/Write.

    • To find out which API endpoints are affected by these selections, click on the Info button.

If you are continuing to statically assign roles, the custom roles created in CIPP do not sync back to the SWA role management (self-hosted) or management portal (CyberDrain hosted). You will need to add the role to the invited user exactly how it appears in CIPP manually.

Users previously directly added to the SWA or via the Management App will retain their settings from there. Adding those users via Entra group to a role with different permissions can cause errors in determining the user's access. It is recommended not to duplicate how you provide the user with permissions.

If you continue to utilize SWA/Management App for role assignment, note that the roles do not sync so you will need to carefully type the role exactly as it appears in CIPP Roles for the role to properly apply.

Add User

The Add User page provides an interface for creating new user accounts in your tenant.

This page will allow you to set all of the necessary properties to create a single new user. You can start with a blank slate or select to copy properties from another user in the top dropdown to speed up account creation.

Getting Started

  1. Navigate to: Identity Management > Administration > Users

  2. Click Add User

  3. Choose your starting point:

    • Start with blank form

    • Use "Copy properties from another user" dropdown to pre-fill fields

When using the Copy properties from another user dropdown, the specific fields that get copied are: id, userPrincipalName, displayName, givenName, surname, mailNickname, jobTitle, department, streetAddress, city, state, postalCode, companyName, mobilePhone, businessPhones, usageLocation, office

Available Settings

Basic Information

  1. User Identity: First Name, Last Name, Display Name, Username (before the @ symbol), Primary Domain name (select from dropdown)

  2. Email Aliases: Add multiple email aliases one per line without domain (added automatically)

Account Settings

  1. Password Options

    • Create password manually (toggle)

      • When enabled: Enter custom password

      • When disabled: System generates secure password

    • Require password change at next logon (toggle)

  2. Location Settings

    • Usage Location (required for licensing)

    • Select country from dropdown

License Management

  1. License Assignment: Allows you to select license(s) to assign & shows available license count

  2. SherWeb Integration (if enabled): Auto-purchase option appears when licenses unavailable, allows you to select license SKU for purchase for system to handle for you along with onboarding.

When the Sherwebintegration is enabled and a license shows "(0 available)", you'll see an alert stating: "This will Purchase a new Sherweb License for the user, according to the terms and conditions with Sherweb. When the license becomes available, CIPP will assign the license to this user."

Contact Information

  1. Professional Details: Job Title, Department, Company Name

  2. Contact Details: Street Address, City, State/Province, Postal Code, Mobile Phone, Business Phone, Alternate Email Address

  3. Management: Set Manager (select from existing users), Copy groups from another user

  4. Custom Attributes

    • Custom attributes can be configured in Preferences > General Settings

    • These include specific Azure AD attributes that will be available when creating new users:

    • Available Attributes: consentProvidedForMinor, employeeId, employeeHireDate, employeeLeaveDateTime, employeeType, faxNumber,legalAgeGroupClassification, officeLocation, otherMails, showInAddressList, state

    • Configuration:

      • Go to Preferences page under your user profile.

      • Under General Settings

      • Find Added Attributes when creating a new user

      • Select desired attributes from dropdown

      • Selected attributes will appear on Add User form

Notes about Custom Attributes:

  • Attributes selected will appear as additional fields on the Add User form

  • Each attribute has its own text field

  • Values are saved with the user's profile in Azure AD

  • Must be configured before they appear on the form.

  • Attributes are standard Azure AD attributes

  • Values persist in Azure AD and can be queried/updated later

  • Not all attributes may be relevant for every user

  • Changes to Preferences affect all new user creation forms

Additional Details

  • License assignment requires valid usage location

  • Password complexity rules apply to manual passwords

  • Group copying includes all accessible groups

  • Scheduled creation can be monitored in tasks


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Group Templates

The Group Templates page allows administrators to define templates for creating groups. These templates can speed up the process of creating new groups by pre-defining certain group parameters. Once a template is created, it can be reused multiple times to create new groups with similar settings.

Action Buttons

Column Details

Column
Description

Display Name

This is the name that will be given to the group when a group is created using this template. It should be unique and descriptive.

Description

This field should contain a more detailed explanation of the group's purpose. This might include information about who should be added to the group, what resources the group provides access to, or any other information that helps describe the group.

Username

The username of the creator of the group template.

Group Type

The type of group that the template creates. Options include:

  • Azure Role Group

  • Security Group

  • Distribution List*

  • Mail Enabled Security Group

  • Dynamic Group*

Allow External

Are external people allowed to email this group?

*Additional Fields for Specific Group Types

For some types of groups, additional fields become available when that type is selected:

  • Allow External: For Distribution Lists, a checkbox labeled "Let people outside the organization email the group" becomes available.

  • Dynamic Group Parameters: For Dynamic Groups, a text box for entering the dynamic group parameters syntax becomes available e.g.: (user.userPrincipalName -notContains "#EXT#@") -and (user.userType -ne "Guest").

Table Actions

Action
Description
Bulk Action Available

Edit Template

Opens the Edit Template page for the selected template

Save to GitHub

Saves the template to your GitHub repository

Delete Template

Deleted the template

More Info

Opens the extended info flyout


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Installation

Installing Your Self-Hosted CIPP

If you choose to sponsor and use the CyberDrain hosted version, you can skip over these steps and jump over to our guide for further direction.

This guide walks you through deploying your self-hosted instance of CIPP using our Azure Resource Manager (ARM) templates. Once completed, you’ll have a fully functioning CIPP installation, ready to configure.

Confirm You’ve Met All Prerequisites

Before deploying, ensure you’ve completed everything in the section (forks, Azure subscription, GitHub PAT, etc.).


Choose Your Deployment Template

1

Default (Regional) Deployment

When to use:

  • Your Azure region supports (SWA).

  • You want SWA to deploy automatically to the closest supported data center.

This template creates all necessary resources in your local region, including:

  • Azure Function App (API) with a Storage Account

  • Azure Key Vault for CIPP secrets

  • Azure Static Web App (SWA) that auto-selects a supported region near you

After you have completed the prerequisites in, select the button below to run the automated setup.

You must replace the preset "Github Repository" and "Github API Repository" fields with the URL's of your own Github fork of the CIPP repository.

What if the deployment fails? It’s simplest to delete the resource group in the Azure portal and try again. This ensures a clean slate.

2

Alternative (Central US) Deployment

Azure Static Web Apps (SWA) is global by default (it picks the data center closest to you) however some regions don't support deployment. To work around this, use the alternative installation button below.

When to use:

  • You need to enforce the SWA resource to deploy in Central US due to deployment issues

  • Your region doesn’t support SWA. Regions that support SWA deployment at the moment are:

    • Central US

    • East US 2

    • East Asia

    • West Europe

    • West US 2

The key difference:

  • SWA is pinned to centralus in the ARM template.

  • The other resources (Key Vault, Function App, Storage) still deploy to the region you choose in the Azure Portal.

  • The SWA remains globally served, so end-user latency is typically minimal.

Steps for deploying via the Azure Portal
  1. Open the Template

    • Click the Deploy to Azure button above based on your deployment needs.

    • The Azure Portal will load a “Custom deployment” form.

  2. Fill in Deployment Parameters

    • GitHub Repository: Replace the default with your fork of the CIPP frontend repo.

    • GitHub Token: Paste your Personal Access Token. (Make sure it has permissions to access and deploy from your forked repo.)

  3. Select a Region

    • Choose the region for your Key Vault, Function App, and Storage.

    • Note: If you’re using the Alternative (Central US) template, SWA will still deploy in centralus automatically, but the rest of your resources honor this selected region.

  4. Review + Create

    • Check your settings, especially the repository URLs.

    • Click Review + create, wait for validation, then Create.

  5. Wait for Completion

    • You can monitor progress in the Azure Portal’s Notifications.

    • If it fails, delete the resource group and try again for a clean slate.

  6. Verify Your Deployment

    • Navigate to the Resource Group to check that the resources (Key Vault, Function App, Storage, SWA) exist.

    • Open the Static Web App and locate the “Primary endpoint” or “URL” field in the SWA resource. Browse to it. If everything’s working, you’ll see the CIPP login screen

What the ARM Template Deploys

Both templates create these resources (unless otherwise noted):

  • Key Vault

    • Stores sensitive data like applicationid, applicationsecret, refreshtoken, and tenantid.

  • Azure Function App

    • Hosts the CIPP-API, deployed via a zip package in Azure Storage (latest.zip from cipp-api releases).

    • Uses a System-Assigned Managed Identity for secure operations.

  • Storage Account

    • Required for the Function App’s logs and file storage.

  • App Service Plan

    • A Y1 (Consumption) plan to keep Function App costs low.

  • Static Web App (SWA)

    • Hosts the frontend (CIPP React app).

    • Defaults to a global distribution, unless you use the Alternative template pinned to centralus.

Creating the CIPP Service Account

Setup Video for the CIPP Service Account


When setting up your Service Account, remember:

Administration Requirements

  1. Must be a Global Administrator while setting up the integration. These permissions may be removed after the integration has been setup.

  2. Must be added to the AdminAgents group. This group is required for connection to the Microsoft Partner API.

Multi-factor Authentication

  1. MFA Setup: This account must have Microsoft MFA enforced for each logon.

    1. Use when available or via when not available.

  2. Microsoft MFA is mandatory. Do not use alternative providers like Duo, and ensure it's setup before any login attempts.

    1. Reference from Microsoft for more details.

Setup Walkthrough for the CIPP Service Account


This guide walks you through the process from the video of setting up the CIPP Service Account. Follow the instructions on this page to the letter to ensure a seamless setup process down the line.

The CIPP service account will be the account used to execute any actions on your tenants via CIPP.

To get started, head to the Microsoft Entra Portal's user overview at

If you would like to use notifications, webhook triggers, or exporting to other system the account you use must have a mailbox available. This mailbox will be used for outgoing reports, exports, and notifications.

  1. Click on the "New user" button.

  1. Create a new internal user in your organization

  1. Enter a username in the field, we recommend something identifiable like "CIPP Service Account"

  1. Enter "CIPP Service Account" in the Display Name field. Set the password to something strong, and save this password in a secure location

  1. Click on "Next: Properties".

  1. Click on "Next: Assignments".

  1. If you are a Microsoft Partner, and want to manage all your client tenants, click on Add Group.

  1. Select the AdminAgents group. This group is required for connection to the Microsoft Partner API.

  1. Select your GDAP groups

If you have already migrated to GDAP you select your GDAP groups at this stage. If you migrated using CIPP these groups start with M365 GDAP.If you have migrated, but not using CIPP check the latest required GDAP roles check our page.

If you have not migrated or used GDAP at all, or are planning to onboard your GDAP tenants using CIPP, continue on.

These groups might not exist if you have not yet migrated to GDAP.

If you want to move to using CIPP and Microsoft's best practice recommendation of mapping one role to one security group, you can skip this step for now. CIPP will create the groups when you first setup adding your client tenants in .

  1. Click "Add role"

  1. Add the Global Administrator Role

Find the Global Admin role. This role is required for the CIPP-SAM application creation, and is recommended to be removed directly after installation.

  1. Click "Next: Review + create"

  1. Click on "Create". This creates the account.

Adding Tenants & Consenting the CIPP-SAM Application

Overview

The Tenant Onboarding Wizard further simplifies the process of getting setup in CIPP by automatically connecting to any tenants found in your GDAP Relationships List to perform the background tasks necessary to manage a tenant in the system. Below is a list of the actions that are performed during Tenant Onboarding:

  • Verification of GDAP Invite Accepted

  • Confirmation that required roles are present.

  • Ensures groups are correctly mapped to roles.

  • Validates that permissions are updated via a CPV refresh

  • Verifies Graph API connectivity and access.

CIPP requires its Service Account user to be a member of the specific security groups with the assigned for proper functionality within your GDAP relationship. This step is completed during the prior to tenant onboarding.

If these roles are missing or the groups haven't been applied to the CIPP user, CIPP will not be able to access the tenant, resulting in errors such as: invalid_grant:AADSTS65001: The user or administrator has not consented to use the application.

or

Send an interactive authorization request for this user and resource


Methods of adding a tenant

We currently support two methods of connecting to Microsoft Tenants, using a direct connection or a GDAP connection. It's recommended to setup a GDAP relationship with your clients, but in some cases, this is not always possible due to transaction regions or other potential blockers.

GDAP

Prerequisites

CIPP relies on use of GDAP role templates for proper onboarding of tenants. Prior to using the tenant onboarding wizard, you should create a role template. To create the CIPP Defaults role template navigate to Tenant Administration-> GDAP Management-> Role Templates. Click the "+ Create CIPP Defaults" button. You can alternatively create your own templates but be sure to include the recommended roles for full CIPP functionality.


Using the Tenant Onboarding Wizard

Navigate to Tenant Administration -> GDAP Management-> Relationships

1

Relationship Choice

  • Choose the GDAP relationship to onboard.

  • Click the Actions button and select "View Relationship"

  • Review the warnings on the tenant as these will indicate if the tenant functions properly within CIPP.

If you see the warning that the relationship does not have all the CIPP recommended roles, do not proceed. See to create a new GDAP relationship to establish a relationship that meets at least the minimum required roles.

2

Onboarding Wizard

  • If the relationship page shows all green with no warnings, click the "Actions" drop down in the upper right and select "Start Onboarding"

3

Tenant Onboarding

  • Select the GDAP role template. You can use the CIPP Defaults template or a custom group that contains at least the recommended roles.

  • Click the "Start" button and view progress

Occasionally the process will time out. Click the "Retry" button to have CIPP attempt the process again. Subsequent attempts should complete faster.

4

Reset Role Mapping

  • Now that you've onboarded the tenant, your pre-existing role mapping may not match the role template you used as part of the onboarding.

  • Navigate to Tenant Administration-> GDAP Management-> Relationships-> Select the Actions menu for the tenant you just onboarded and choose "Reset Role Mapping"

Be sure to update your internal users' GDAP permission to utilize the newly created security groups. For simplicity, you can create position-based groups like "Help Desk", "Engineer" etc. that are role-assignable security groups that can have the CIPP created GDAP groups as members.

To automate this process even further, enable in Application Settings and newly invited tenants will automatically onboard once accepted.

Tenants are cached for 24 hours within CIPP. To see a newly added Microsoft Tenant you can use the Settings -> Clear Tenant Cache button to clear the cache.

Direct Tenant Add

To directly add a tenant, go to the and select "Add a Tenant" - Make sure you log into a tenant using a service account. This tenant is added to the list of managed tenants immediately.

Do not attempt to add your partner tenant as a direct tenant. This will result in a permission error. To add your partner tenant, please see and select "Multi Tenant - Add Partner Tenant" or "Single Tenant - Own Tenant Mode".

Limitations of Direct Tenants

There are limitations to what CIPP can do with directly added tenants due to some features relying on Lighthouse, Partner Center APIs, etc.

  • Permissions errors during addition of the tenant

    • Consent can only be granted for permissions the direct tenant is licensed for.

    • To work around this until a more robust method can be devised, if you see one of these errors, remove the offending permission (NOT THE CONSENT) from the CIPP-SAM app registration in your tenant.

  • Universal Search - This relies on Lighthouse to search for users

  • Admin Portal Links - These utilize the GDAP relationship to log in as your CSP user. You will have to log in to the portal with an account native to the tenant

  • Alerts - There are certain alerts that will only work with GDAP/Lighthouse

    • Alert if Defender is not running

    • Alert if Defender Malware found

  • Inactive Users Report - Relies on a CSP report

Standards Setup

This guide will walk you through the process of setting up standards in CIPP. Follow these instructions to configure and run standards for your organization.

For more information on Standards, what they are, and where to find the available ones, check out the section of the user documentation

Walkthrough Steps for Setting Up Standards


Purpose

This guide walks you through setting up Standards in CIPP for the first time. It focuses on applying and managing standards to maintain security and compliance across your organization.

Accessing Standards

  1. Navigate to Tenant Administration > Standards.

  2. Here you'll be presented with a table of Standards templates and an action in the upper right to create new templates.

Reporting Options

Each standard offers three options:

  • Report: Logs the current configuration in a Best Practices Report.

  • Alert: Sends you a notification via the configured method in CIPP -> Application Settings -> Notifications.

  • Remediate: Automatically applies the desired configuration.

Turning off Remediate prevents future fixes but doesn’t undo changes already applied

Understanding Impact

  • Each standard includes:

    • A description of what it does.

    • An impact label (Low, Medium, High) to indicate user impact.

  • Review these details to ensure changes align with your needs.

Customizing Standards

Input Fields

  • Some standards require settings, like custom text fields or dropdown selections.

  • Enter the required values to customize the standard.

Categories

  • Standards are grouped by categories, like security, compliance, or usability.

  • There are over 60 standards (), with more added regularly.

Deploying Templates

  • Use templates for consistent configurations across clients.

  • Examples include templates for Intune, Exchange, and Conditional Access

Excluding Tenants

  • Exclude specific tenants from All Tenants standards to:

    • Prevent global standards from applying.

    • Allow custom standards for that tenant only.

Template Reapplication

  • Templates reapply every 3 hours, maintaining the desired state.

  • If changes are made by admins, they are automatically reverted to match the template.

  • Update a template once, and all linked tenants will receive the changes.

Run Standards Manually

  • Use the Run Template Now options from the Actions menus.

  • Apply standards immediately to:

    • A specific tenant by selecting (Currently Selected Tenant only) to match the tenant in the menu Tenant Selector.

    • All tenants in one go for all tenants in the template.

Key Takeaways

  • Standards automatically reapply settings every 3 hours for consistency.

  • Categories and templates simplify management across multiple tenants.

  • Customization and manual runs give you flexibility to meet tenant-specific needs.

By following these steps, you’ll ensure your M365 tenants remain secure, consistent, and compliant with minimal manual effort.

Professional Onboarding Services

Get up and running with CIPP quickly and confidently—no guesswork, no headaches.

Introduction

We get it—GDAP can be confusing, but setting up CIPP doesn’t have to be painful!

Let our CIPP experts show you the ropes. They’ve seen it all and know the best tips and tricks to help you get up to speed. Stop banging your head against the wall and start benefiting from the time-saving, streamlined features CIPP offers once it’s configured correctly.


Why Choose Professional Onboarding?

✅ Recorded Sessions: Use the recordings to train your team and replicate processes effortlessly. ✅ Future-Proofing: Establish scalable systems that grow with your business. ✅ Expert Guidance: Work with a seasoned CIPP specialist who has hands-on experience. ✅ Save Time: Avoid trial-and-error setups and get clear, actionable steps.


What to Expect

For a one-time fee of $750 USD, you’ll receive:

  • A 90-minute live session with a CIPP expert.

  • A recording of your session for easy reference and team training.

Session Objectives

By the end of the session, you’ll:

  1. Understand the step-by-step process for onboarding clients to CIPP.

  2. Learn how to configure regional settings and custom domain names.

  3. Identify and resolve common performance issues related to region selection.

  4. Use the CIPP management portal for user role assignments and permissions.

  5. Implement best practices for inviting and managing additional users.

  6. Gain familiarity with the SAM wizard and GDAP setup process.

  7. Complete a full GDAP setup for one client within CIPP.

Note: If you’ve already completed parts of the setup or need a specific focus, discuss this with your CIPP expert before scheduling. Unique requirements must be communicated in advance to ensure they’re addressed within the allotted time.


Getting Started

  1. Fill Out the Form: Share your name, email, company name, and deployment status.

  2. Check Your Email: Receive onboarding details and the sign-up link.

  3. Complete Payment: Submit your payment securely to confirm your session.

  4. Relax and Wait: Your dedicated CIPP expert will contact you to schedule the session.

👉 Sign up now at:

Note: Sponsorship is required for onboarding services, whether using a hosted or self-hosted instance of CIPP. Complete the sponsorship process to access full support.


What to Prepare

To make the most of your session, have the following ready:

1. Administrative Access

  • A Global Administrator account for your Partner Tenant.

  • Access to at least two Customer Global Admin accounts for GDAP testing.

2. CIPP Environment

  • Verify access to the CIPP Management Portal: .

3. Issues and Questions

  • Prepare a list of:

    • Any errors or challenges you’ve encountered.

    • Screenshots of relevant issues (e.g., CIPP access failures, portal errors).

4. Notifications and Mailbox Setup

  • Have a mailbox license ready for the CIPP Service Account.

    • This will be converted into a shared mailbox during onboarding.


Session Flow

Here’s what you can expect during your onboarding session:

1. Welcome and Review

  • Recap your current environment, goals, and any pre-identified issues.

2. Step-by-Step Setup

  • Guided walkthrough of key configurations, starting with GDAP setup and validation.

3. Live Testing

  • Test access to customer tenants using CIPP links.

  • Verify notifications and critical configurations.

4. Standards and Alerts

  • Review and implement:

    • “AllTenants” Standard configurations.

    • Scripted alerts and audit log alerts with remediation workflows.

5. Q&A and Wrap-Up

  • Address any outstanding questions or unique requirements.

  • Ensure you’re confident replicating processes for additional tenants.


After the Session: Next Steps

To build on your onboarding success:

  1. Refine Your Standards:

    • Adjust your “AllTenants” Standard to align with business needs.

  2. Finalize Notifications:

    • Test and confirm email notifications for critical alerts.

  3. Expand GDAP:

    • Use the GDAP Invite Wizard to onboard additional customers efficiently.

  4. Document and Train:

    • Leverage your session recording to train team members and reinforce processes.


Helpful Resources


Sign Up Today

Ready to simplify your CIPP setup and take full advantage of its features?

👉

If you have questions or need additional assistance before your session, reach out to our team—we’re here to help!

Table Features

With the launch of CIPP v7, there are now new, more powerful tables at your disposal.

Top Row Features

Feature
Description

Column Features

Feature
Description

Column Filtering Options

Filter
Description

Value Display

Some values have special display settings for ease of reading.

Value Type
Description

Actions

Every table also includes an "Actions" column that will always be visible to the right of the table. Clicking the ellipses will open the menu for available per-row actions that can be taken for this table. In many tables, selecting multiple check boxes next to rows will enable a Bulk Actions button for you to take the same action on every row selected.


View Individual User

View User

The View User page provides a comprehensive overview of user details and settings. It serves as the main landing page when viewing a user, with additional tabs available for more specific operations, such as Edit User, Compromise Remediation, etc.

Overview

  • Primary display of user information including a quick link to view the user in Entra

  • Additional tabs at top for extended functionality (Edit, Compromise Remediation, etc.)

  • Inherits Actions dropdown from list users page

Actions

The actions dropdown carries forward the same from the main Users page.


User Information Fields

Profile & Identity

Field
Description

Licensing & Contact

Field
Description

Professional Information

Field
Description

Address Information

Field
Description

Security & Access

Field
Description

Group & Role Memberships

Field
Description

Notes

  • Information is read-only in this view

  • Use Edit tab to modify information

  • Expandable sections (▼) provide additional details

  • Direct links to related management pages

  • Real-time data from Entra ID/Azure AD

This view serves as the central hub for user information, providing quick access to both basic details and advanced management options through the tabbed interface.


Add Alert

Manage scheduled tenant alerts.

This same page will display for the edit alert action with the selected alert's information displayed to review, alter, and save.

CIPP offers a set of scheduled, recurring alert checks. Some of these duplicate Microsoft Alerts functionality in a more MSP-friendly manner and some are not available as a Microsoft Alert at this time. Similar to , you configure alerts using the wizard to select one or more tenants or -All Tenants- to apply alerts globally, then select from the list of available alerts.

Alert Types

Within CIPP, there are two types of alerts:

  • Audit Log Alert - These alerts are based on Microsoft audit logs.

  • Scripted CIPP Alert - These alerts have been developed by CIPP to pull from sources other than the audit logs.

Alert Timing

  • Audit Log Alerts - Processed in near real-time, but a small delay of up to 15 minutes is normal.

  • Scripted CIPP Alerts - Each alert comes with a default value suggested by the CIPP team, but you can adjust it as needed. The available timings are:

    • 365 days / 1 year

    • 30 days / 1 month

    • 7 days / 1 week

    • 1 day

    • 4 hours

    • 1 hour

    • 30 minutes

Alert Delivery Methods

  • Webhook - This will deliver a JSON payload to the webhook configured in .

  • PSA - This will deliver a formatted payload to the configured PSA in .

  • Email - This will deliver an HTML-formatted table to the email address provided in .

Available Scripted CIPP Alerts

  • Alert on users without any form of MFA

  • Alert on admins without any form of MFA

  • Alert on tenants without a Conditional Access policy, while having Conditional Access licensing available.

  • Alert on changed admin Passwords

  • Alert on licensed users that have not logged in for 90 days

  • Alert if Entra Connect sync is enabled and has not run in the last X hours

  • Alert on % mailbox quota used

  • Alert on % SharePoint quota used

  • Alert on % OneDrive quota used

  • Alert on licenses expiring in 30 days

  • Alert on new apps in the application approval list

  • Alert on Security Defaults automatic enablement

  • Alert if Defender is not running (Tenant must be on-boarded in Lighthouse)

  • Alert on Defender Malware found (Tenant must be on-boarded in Lighthouse)

  • Alert on new Defender Incidents found

  • Alert on vulnerabilities older than X hours

  • Alert on unused licenses

  • Alert on overused licenses

  • Alert on Entra ID P1/P2 license over-utilization

  • Alert on expiring application secrets

  • Alert on new Apple Business Manager terms

  • Alert on expiring application certificates

  • Alert on expiring APN certificates

  • Alert on expiring VPP tokens

  • Alert on expiring DEP tokens

  • Alert on soft deleted mailboxes

  • Alert on device compliance issues

  • Alert on (new) potentially breached passwords. Generates an alert if a password is found to be breached.

  • Alert on Huntress Rogue Apps detected

  • Alert when Tenant External Recipient Rate Limit exceeds X %

  • Alert on domains with low security score

  • Alert on new risky users (P2 License Required)

Available Template Audit Log Alerts

  • A new Inbox rule is created

  • A new Inbox rule is created that forwards e-mails to the RSS feeds folder

  • A new Inbox rule is created that forwards e-mails to a different email address

  • A new Inbox rule is created that redirects e-mails to a different email address

  • A existing Inbox rule is edited

  • A existing Inbox rule is edited that forwards e-mails to the RSS feeds folder

  • A existing Inbox rule is edited that forwards e-mails to a different email address

  • A existing Inbox rule is edited that redirects e-mails to a different email address

  • A user has been added to an admin role

  • A user sessions have been revoked

  • A users MFA has been disabled

  • A user has been removed from a role

  • A user password has been reset

  • A user has logged in from a location not in the input list

  • A service principal has been created

  • A service principal has been removed

  • A user has logged in a using a known VPN, Proxy, Or anonymizer

  • A user has logged in a using a known hosting provider IP

Example Usage

You might want to be alerted when a particular account logs into one of your tenants. For example, Global Admins or break glass accounts. This is relatively simple if you have consistent naming across your tenants i.e. [email protected]

1

Create an Audit log alert

2

In the tenant selector, select All Tenants

Selecting All Tenants will allow you to optionally exclude tenants from the alert

3

Select Azure AD as the log source

4

Select "Operation" as the When property

5

Select "Equals To" as the is property

6

In the unput field select "A user logged in"

7

Add an extra set of variables

8

Select "Username" as the When property

9

Select Like as the is property

10

Enter the username to test for across all tenants i.e. mylovelybreakglassaccount@* (Note the * after the @ to match all domains)

11

Choose the action(s) you want and save the alert.


Add Group Template
Deploy Group Templates
I Want to Manage My Own Tenant
I Want to Manage My Own Tenant
feature requests
Recommended Roles
Executing the Setup Wizard
Tenant Onboarding
Partner Webhooks
Setup Wizard
Tenant Mode
https://go.cyberdrain.com/onboarding
https://management.cipp.app
GDAP Roles: Recommended Setup
GDAP Invite Wizard Guide
CIPP Standards Implementation
Microsoft GDAP Permissions
Sign Up for CIPP Onboarding

🔃 Refresh data

This action will refresh the column data

🔍 Search

This window will perform a search on table contents for the value you type into the box. Clicking on the magnifying glass will allow you to change from the default contains search method to fuzzy or starts with.

Preset Filters

This will present options for preset filters for the table you are viewing. All tables have an option to "Reset all filters"

Show/Hide Filters

This will optionally display the column filters just below the column headers for more granular filtering than the fuzzy search

Toggle Column Visibility

This will allow you to select which columns are visible on the page. You will also be presented with the options to "Reset to preferred columns", "Save as preferred columns", and "Delete preferred columns". Preferred columns are saved as part of your browser cookies.

Export to PDF

This button will export the visible columns in PDF format

Export to CSV

This button will export the visible columns in CSV format

View API Response

This button will open a flyout window where you can view the API response received from the CIPP backend

Clear sort

This will clear any sorting set on this column

Sort by <column name> ascending

This will sort the column by ascending values (smallest to largest, 0 to 9, and/or A to Z)

Sort by <column name> descending

This will sort the column by descending values (largest to smallest, 9 to 0, and/or Z to A)

Clear filter

Clears any filters placed on the column

Filter by <column name>

This will present additional filtering options (See below)

Pin to left

Pin to right

Unpin

Hide <column name> column

Show all columns

Fuzzy

Will return all results where the value is similar to what is input

Contains

Will return all results where the value contains the input

Not Contains

Will return all results where the value does not contain the input

Starts With

Will return all results where the value starts with the input

Ends With

Will return all results where the value ends with the input

Equals

Will return all results where the value exactly matches the input

Not Equals

Will return all results where the value does not match the input

Between

Will return all results where the value is in between the inputs. This will not include the inputs in the returned results

Between Inclusive

Will return all results where the value is in between the inputs. This will include the inputs in the returned results

Greater Than

Will return all results where the value is greater than the input

Greater Than Or Equal To

Will return all results where the value is greater than or equal to the input

Less Than

Will return all results where the value is less than the input

Less Than OR Equal To

Will return all results where the value is less than or equal to the input

Empty

Will return all results where there is no value for this column

Not Empty

Will return all results where there is a value for this column

Boolean

Colunns that display information in a Boolean will utilize a graphical representation instead of true and false. The value for true will display as a check mark. The value for false will display as a circle with an X in it.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Standards
Notifications
Notifications
Notifications

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Recommended First Steps

First things to check out after setting up CIPP.

Welcome to the post-setup implementation guide for CIPP! In this guide, you will learn how to navigate and configure various settings within the CIPP application. Let's discover some of the key features of CIPP and see how to use them.

This guide is not meant to be exhaustive but rather point you towards other pages in the documentation for a deeper dive. Click any of the available links for more information on each page.

Select Setup Wizardfrom CIPP settings for easy set up of several of the basics needed to operate CIPP.

Tenant Navigation

Using the Tenant Select at the top you can switch tenants at any time. This allows you to dynamically choose what you're working on. You can also use the Tenant Selector to select "All Tenants" which allows you to see all your tenants in one swoop.

Personalization

Let's setup some personal things first. The User Preferences section has your personal preferences and profile information. Let's start by setting up CIPP the way you like it.

Change How CIPP Looks to You

Click the Display Mode toggle to switch to your preferred mode to display CIPP.

Application Settings

Let's go check out some of the Application Settings next.

Password Styles

We have two style of passwords we can generate when creating a new user, or resetting a password, the classic password with capitalization, numbers, and symbols. You can also choose the modern passphrase style password. This is a more readable and often stronger password than randomly generated characters

Let's select the "Correct-Battery-Horse" option, which are passphrases.

DNS Resolver

You can choose the DNS resolver CIPP uses. By default, the resolver is Google.

Access Checks

CIPP can help you figure out why you can't access a tenant by executing an access check. These checks can help you detect issues with GDAP, access rights, or general M365 issues. These checks are done on the Permissionstab of CIPP Application Settings.

Tenants Tab

Talking about tenants, let's go check out our internal tenant list. We see all our tenants on the Tenantstab of CIPP Application Settings.

We can exclude a tenant from CIPP. This means the tenant will not be connected to CIPP, and we will not be able to make any changes to this tenant. This is done from the Actions column for individual tenants or the Bulk Actions button when multiple tenants are checked.

Notifications Tab

Navigate to the Notificationstab.

CIPP can send many types of notifications, in this screen we can do some of the basic setup of these notifications to filter them or select where they need to go.

User Administration

Let's see how CIPP works in action. We'll navigate to the Identity Management > Administration > Userssection to start managing users.

Bulk Actions

Most pages in CIPP work by showing you a table layout. The table allows you to filter data, export it, or execute actions. Let's try executing some bulk actions.

Setting the checkbox means we are going to take a bulk action on that specific row in our table.

You'll find all available actions in the "Bulk Actions" dropdown. Each page has different actions.

Let's look at some more of the options we have. Most tables in CIPP have a three-dot action menu as the right-hand visible column. This three-dot menu gives you a dropdown menu with options and information about that specific row.

For users, we have a lot of actions we can take. We could reset passwords or even add them to groups. Let's not bother our users and check out some other parts of CIPP for now.

Tools

Navigate to the Toolssection.

Graph Explorer

Select Tools > Tenant Tools > Graph Explorer.

CIPP has the option to report on anything inside of the Graph API. even when there is not a direct page created for it. You can use the Graph Explorer option to craft your own report. Let's try using the All User with Email Addresses report.

Execute the query by clicking "Apply Filter".

The report allows you to check this data as raw as it comes back from the API. you can also create an export using the PDF or CSV buttons.

Standards

Let's go check out the standards next by navigating to Tenant Administration > Administration > Standards.

Standards allow you to create a baseline for a tenant. This means you can easily deploy your wanted settings to any tenant. With how important Standards are to the function and power of CIPP, we'll take a deeper dive in Standards Setup, or you can review the full Standards documentation.

Best Practice Analyser

Let's go check out some reporting. Click on Tenant Administration > Administration > Standards > Best Practice Analyser next.

The BPA gives you the ability to zoom in on your tenants and their current state. You can use custom reports or use the included examples to tell your clients what actions they need to take to become more secure.

Alerts

Talking about best practices. You want to be notified when something goes wrong, so let's look at some of the alert options available in Tenant Administration > Administration > Alert Configuration.

The documentation linked above has lots of information on the two types of alerts you can configure in CIPP:

  • Audit Log Alert: Microsoft Audit Log received alert

  • Scripted CIPP Alert: Data processed by CIPP on a schedule

Tenant Administration

Let's try managing our tenants next. Click on Tenant Administration > Administration > Tenants.

Tenant Overview

The tenant overview shows you your tenant names, default domains, and direct links to each of the portals. You can use these links to directly manage that tenant using GDAP.

Tenant Actions

We can also take actions on the tenants. Let's try using the three-dot icon in the Actions column to do so.

You'll find some more information about the tenant in this flyout, and you can edit a tenant. This allows you to set a tenant friendly name for CIPP, manage CIPP tenant group memberships, and more!

Conclusion

There are so many more features, but now that you understand the basics you can find more of the features yourself. We hope you enjoyed the walkthrough of the basic settings. You're now ready to deep dive into the platform.

Offboarding Wizard

Offboard the selected user with standard requirements

Overview

The Offboarding Wizard is an interactive guide that streamlines the process of offboarding a user from a tenant in Microsoft 365. It provides a step-by-step process where you can select from a variety of offboarding tasks. These tasks include revoking sessions, removing mobile devices, resetting passwords, and more. This wizard also allows for easy setting of a user's Out of Office message and forwarding their mail to another user.

Steps

1

Tenant Selection

Select the tenant from which you want to offboard a user. Only one tenant can be selected at a time.

2

User Selection

Choose the user to be offboarded from the tenant. The selection is made from a dropdown menu that displays all users from the selected tenant.

3

Offboarding Options

Choose from a variety of offboarding options to apply to the user. These options are detailed in the sections below.

4

Confirmation

Review your selections and confirm to apply the offboarding process.

Offboarding Settings

The Offboarding Wizard offers a range of settings that can be performed during the offboarding process. These tasks include:

Setting
Description

Convert to Shared Mailbox

Converts the user's mailbox to a shared mailbox

Hide from Global Address List

Hides the user from the Global Address List

Cancel all calendar invites

Remove user's mailbox permissions

Removes all the offboarded user's permissons to all other mailboxes

Revoke all sessions

Revokes all active sessions of the user

Remove all Mobile Devices

Removes all mobile devices associated with the user

Remove all Rules

Removes all rules associated with the user

Remove Licenses

Removes all licenses associated with the user

Disable Sign-In

Disables the user's ability to sign in

Clear Immutable ID

Clears the Immutable ID for a user synced from on-premises Active Directory. Note: This only works after the link is broken from AD

Reset Password

Resets the user's password

Remove from all Groups

Removes the user from all groups

Set Out of Office

Sets an out of office message for the user

Give another user access to the mailbox (without auto mapping)

Gives another user full access to the offboarded user's mailbox without auto mapping

Give another user access to the mailbox (with auto mapping)

Gives another user full access to the offboarded user's mailbox with auto mapping

Give another user access to OneDrive

Gives another user full access to the offboarded user's OneDrive

Forward all e-mail to another user

Forwards all e-mails of the offboarded user to another user

Keep a copy of the forwarded mail in the source mailbox

Keeps a copy of the forwarded mail in the offboarded user's mailbox

Delete User

Deletes the user from the tenant

Permissions and forwarding

Mailbox Full Access (no automap)

The selected user or users will be granted full access to the offboarded user's mailbox but will not have that mailbox auto mapped in Outlook

Mailbox Full Access (automap)

The selected user or users will be granted full access to the offboarded user's mailbox and they will have that mailbox auto mapped in Outlook

OneDrive Full Access

The selected user or users will be granted full access to the offboarded user's OneDrive

Forward Email To

The selected user will be set as the forwarding recipient on the offboarded user

Keep a copy of forwarded email

Toggling on this option will retain received mail in the offboarded user's mailbox while also forwarding it to the user selected above

Out of Office Message

This WYSIWYG editor will allow you to craft the Out of Office message set on the offboarded user's mailbox

Scheduling & Notifications

Schedule this offboarding

If toggling this switch to on, will present the remaining options in this table

Scheduled Offboarding Date

The date and time you would like the offboarding to run

Webhook

Enable this to send a notification to your configured webhook in CIPP notifications settings

E-mail

Enable this to send a notification to your configured e-mail address in CIPP notifications settings

PSA

Enable this to send a notification to your configured PSA in CIPP notifications settings


Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Branding Settings
https://shell.azure.com/powershellshell.azure.com
This script can be run in Azure Cloud Shell. Click the link to be taken to the Azure Portal.

User Photo

Displays user's Entra ID photo; shows initials if no photo is uploaded

Display Name

User's full display name as shown in the directory

User Principal Name

Primary username/login identity for the user

Account Enabled

Boolean indicator showing if user can sign in (✓/✗)

Synced from Active Directory

Boolean indicator showing if account is AD-synced (✓/✗)

Licenses

List of currently assigned M365/Azure licenses

Email Address

Primary and alternative email addresses

Business Phone

Primary business contact number

Mobile Phone

User's mobile contact number

Job Title

User's current position/role

Department

Organizational department

Office Location

Physical office location

Address

Street address details

Postal Code

ZIP/Postal code

Country

The country of the user

City

The city of the user

Last Logon

Most recent sign-in information • Expandable for additional details (click arrow)

Applied Conditional Access Policies

Active security policies • Expandable for policy details (click arrow)

Multi-Factor Authentication Devices

Registered MFA devices • Expandable for device details (click arrow)

Group Memberships

Table of all group associations • Includes per-row actions • Direct link to Edit Group page for the associated group to manage membership.

Admin Roles

Table of assigned administrative roles

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Sponsor Quick Start
Prerequisites
Azure Static Web Apps
Conditional Access
Per User MFA
this article on Supported MFA options
entra.microsoft.com
Recommended Roles
Adding Tenants
preview
preview
preview
preview
preview
preview
preview
preview
preview
preview
preview
preview
preview
Standards

Exchange Settings

This page displays information about the user's Exchange settings.

Actions Drop Down

Action
Description

Exchange Details

Detail
Description

Expandable Actions in Info Area

Action
Description

Send MFA Push

Sends a push notification to the user's Microsoft Authenticator (if setup). This is useful to confirm you are speaking with the user.

Convert to User Mailbox

If this is a shared mailbox, then this will allow you to convert the mailbox to a user mailbox. This will be grayed out if the mailbox is already a user mailbox.

Convert to Shared Mailbox

If this is a user mailbox, then this will allow you to conver the mailbox to a shared mailbox. This will be grayed out if the mailbox is already a shared mailbox.

Convert to Room Mailbox

If this is a user or shared mailbox, then this will allow you to convert the mailbox to a room mailbox. This will then make the user object available as a Room. This will be grayed out if the mailbox is already a room mailbox.

Enable Online Archive

Enable Auto-Expanding Archive

If the online archive has been enabled, this will allow you to enable the auto-expanding archive

Hide from Global Address List

If the mailbox is visible in the Global Address List, this option will allow you to hide the mailbox.

Unhide from Global Address List

If the mailbox has been hidden from the Global Address list, this option will allow you to unhide the mailbox.

Start Managed Folder Assistant

Delete Mailbox

Copy Sent Items to Shared Mailbox

If this mailbox is a shared mailbox, this will set the attribute to copy sent items to the shared mailbox.

Disable Copy Sent Items to Shared Mailbox

If the mailbox is a shared mailbox, this will set the attribute to disable copy items to the shared mailbox.

Set Litigation Hold

Opens a model to enable a litigation hold on the mailbox and set the duration for the hold. If you want to remove the litigation hold, toggle the "Disable Litigation Hold" to on.

Set Retention Hold

Opens a modal to enable the retention hold on the mailbox. If you want to remove the retention hold, toggle the "Disable Retention Hold" to on.

Set Mailbox Locale

Opens a modal to set the locale of the mailbox, e.g. en-US or da-DK

Set Max Send/Receive Size

Sets the max mailbox send and receive size for messages

Set Send Quota

Sets the quota (in MB, GB, or TB) the mailbox is allowed to send

Set Send and Receive Quota

Sets the quota (in MB, GB, or TB) the mailbox is allowed to send and receive

Set Quota Warning Level

Sets the warning level for the quota (in MB, GB, or TB)

Set Calendar Processing

Allows you to configure calendar processing settings such as "Automatically Accept Meeting Requests", "Allow Conflits", etc.

Mailbox Type

Displays the type of mailbox assigned to this user. "UserMailbox" or "ShareMailbox"

Mailbox Usage

Shows percentage of mailbox quota used.

Hidden From Address Lists

A Boolean value indicating if this user has been hidden from the Global Address List.

Forward and Deliver

A Boolean value indicating if this user's mailbox has been set to forward email to another user.

Forwarding Address

If set, the e-mail address of the person email is forwarded to.

Archive Mailbox Enabled

A Boolean value indicating if the archive mailbox has been enabled.

Auto Expanding Archive

A Boolean value indicating if the archive mailbox has been set to auto expand.

Total Archive Item Size

The value, in GB, of the size of the archive.

Total Archive Item Count

The value, in total number of items, of the size of the archive.

Litigation Hold

A Boolean value indicating if the account has been placed in litigation hold.

Mailbox Protocols

A listing of the protocols this mailbox has enabled.

Blocked For Spam

A Boolean value indicating if this account has been blocked by Microsoft due to spam activity.

Current Mailbox Rules

Displays any currently configured mailbox rules.

Proxy Addresses

A widget that allows for updating a user/mailbox proxy addresses with add, delete, and set primary capability.

Mailbox Permissions

A widget that allows for updating mailbox permissions other users can be granted to this user's mailbox.

Calendar Permissions

A widget that allows for updating calendar permissions other users can be granted to this user's mailbox.

Mailbox Forwarding

A widget that allows for updating mail forwarding options for this user's mailbox.

Out of Office

A widget that allows you to edit the out of office settings for this user's mailbox.

Feature Requests / Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Updating Versions

Keeping CIPP up-to-date ensures you have the latest features, security patches, and bug fixes.

Note (Hosted / Sponsored Clients) If you’re using a CyberDrain-hosted instance of CIPP, updates happen automatically—generally within 48 hours of a new release. You can safely skip the rest of this page; however, it is important to perform a permissions check via CIPP > Application Settings > Permissions to ensure any newly added permissions are accounted for via an automated Permissions Repair in v7+.

Update your self-hosted CIPP instance to the latest release using the following instructions:

Note (Self-Hosted Clients Updating from v6 or earlier)

A few more steps are required to upgrade versions 6 to 7. See the for v7.0.1 and review the steps in below for how to successfully update in these scenarios.


1. Sync Your Fork(s) in GitHub

For typical updates (e.g., moving from any v7+ patch releases):

1

Open Your CIPP Fork

  • Go to your fork of the CIPP repo on GitHub.

  • Click Sync fork (or sometimes Fetch upstream).

  • Choose Update branch—be careful not to discard any commits.

IMPORTANT: If prompted with a question asking "Do you want to Discard (X) Commits" or "Update Branch", ensure you click on "Update Branch" AND DO NOT PRESS DISCARD

2

Repeat for CIPP-API

  • Do the same steps in your CIPP-API fork so both the front-end and API stay in sync.

3

Wait for Deployment

  • If you’ve connected your Azure Function App to GitHub Actions (), the updates should roll out automatically within about 30 minutes.

  • Check your Azure Logs or GitHub Actions to confirm a successful deployment

4

Clear Browser Cache

  • If you see an older version in your browser, try a Hard Refresh: open DevTools (F12), then right-click the refresh icon beside the URL bar and select Hard reload and empty cache.

5

Permissions Check

  • Updates to CIPP can often include additional permissions required as new features are added or existing features get updated for new requirements from Microsoft. Go into CIPP > Application Settings > Permissions and perform a Permissions Check. If any roles are missing, you'll be presented with the option to Repair Permissions in v7+.


2. Updating from v6 (or Older) to v7+

The v7 front-end introduced a Next.js + Material-UI stack, so older forks might need an extra step:

If your "Sync fork" options button presents you with an error that there are conflicts that must be resolved, skip to .

1

Check Your Workflow File(s)

  • In your CIPP repo, open:

  • Look for filenames starting with azure-static-web-apps (e.g., azure-static-web-apps-main.yml).

  • Important: If you discarded commits previously, you might not see such a file at all—or it might be renamed.

2

Set the output_location to "/out" (If Missing)

  • In older v7 instructions, we had to manually change:

    to:

  • However, newer versions of the workflow may already include "/out". Double-check your file before making changes.

3

Commit and Redeploy

  • After editing, commit directly to your main branch.

  • A GitHub Actions run should trigger automatically, building and redeploying the Static Web App.

4

Wait & Verify

  • Give Azure a few minutes to pick up changes. Check the Actions tab or the Azure Logs for success.

  • Clear your cache or try a different browser to confirm the new version is live.

5

Permissions Check

  • Updates to CIPP can often include additional permissions required as new features are added or existing features get updated for new requirements from Microsoft. Go into CIPP > Application Settings > Permissions and perform a Permissions Check. If any roles are missing, you'll be presented with the option to Repair Permissions in v7+.

3. Updating from v6 (or Older) to v7+ (Merge Conflicts)

In many cases, there are so many changes to the repo that GitHub doesn't know how to properly merge your repo with the upstream repo. Follow these instructions to get your branch to update.

1

Locate your workflow file

  • In your CIPP repo, open:

  • Look for filenames starting with azure-static-web-apps (e.g., azure-static-web-apps-main.yml).

  • Open this file in a new browser tab.

2

Discard Commits

  • Return to your main repo view

  • Click "Sync fork"

  • Click "Discard XXX commits"

3

Recreate Workflow File

  • In your CIPP repo, open:

  • Click "Add file" in the top right of the page

  • Select "Create new file"

  • Name the file the same as the azure-static-web-apps file open in your other browser tab

  • Copy the contents of the file in your other tab to the new file

4

Resume with Step 2 from


“I Accidentally Discarded Changes” (The Common GitHub Pitfall)

If you accidentally chose Discard (X) Commits while syncing your fork, you might have lost the original azure-static-web-apps workflow file. This often leads to:

  • “No changes to commit” messages,

  • A stuck or outdated front-end version,

  • Confusion about missing .yml files.

Recreate the Workflow File

If you're comfortable with GitHub, the easiest way to ensure you have the appropriate values for your token is to review your Actions tab on your CIPP repo for the most recent successfully run update. The contents of your old workflow file will be found by clicking "Workflow file" in the left side column of the Build and Deploy task. You'll still need to ensure the /out changes have been made to the file.

1

Check Repository Secrets

  • In your CIPP fork, go to Settings → Secrets and variables → Actions.

  • Note the name of your Azure Static Web Apps deployment token (e.g., AZURE_STATIC_WEB_APPS_API_TOKEN_SOMENAME_12345).

2

Create a New .yml in .github/workflows

  • The filename can be anything (azure-static-web-apps-fix.yml, deploy.yml, etc.)—just make sure it ends in .yml.

  • Use this example file as the contents

3

Update References to Your Secrets

  • In that new file, look for lines referencing the token (e.g., AZURE_STATIC_WEB_APPS_API_TOKEN_...).

  • Replace them with your token name from Step 1.

4

Commit

  • Once you commit, GitHub Actions should fire off a new build if the on: triggers are present (typically push or pull_request).

  • Check the Actions tab to see if it’s running.

5

Confirm Deployment

  • After the workflow succeeds, your Static Web App should serve the updated version.

  • If you still see the old UI, do a Hard Refresh (Open DevTools, then Right Click Refresh Button) or wait up to 30 minutes for Azure’s distribution/CDN to update

6

Permissions Check

  • Updates to CIPP can often include additional permissions required as new features are added or existing features get updated for new requirements from Microsoft. Go into CIPP > Application Settings > Permissions and perform a Permissions Check. If any roles are missing, you'll be presented with the option to Repair Permissions in v7+.

Done & Dusted

At this point, your CIPP front-end and API should be updated to the latest release. Keep these key points in mind:

  1. Never click “Discard Commits” when syncing.

  2. Watch for the .github/workflows files if you suspect deployment issues.

  3. Hard-refresh or wait for CDN caches to clear for a truly up-to-date view

Congratulations! You’re now up-to-date and ready to use the newest features.

.github/workflows
output_location: "" 
output_location: "/out"
.github/workflows
.github/workflows
release notes
Run From Package mode
2KB
cipp-workflow.yml
Example file
2. Updating from v6 (or Older) to v7+
3. Updating from v6 (or Older) to v7+ (Merge Conflicts)
2. Updating from v6 (or Older) to v7+
Available Standards
Table Actions

Users

Interact with Microsoft 365 users.

User management. Equal to and extending Microsoft 365 admin center > Active Users.

Action Buttons

Table Columns

The properties returned are for the Graph resource type user. For more information on the properties please see the Graph documentation.

Table Actions

Account Management Actions

Action
Description
Requirements/Implications
Bulk Action Available

👁 View User

Displays comprehensive user account details in the admin interface

- Read access to user objects - Shows all available user information - Display advanced user account details. []

✏️ Edit User

Modifies user account details and settings: - Basic information - License assignments - Group memberships - Contact details

- Write access to user objects - Can copy group memberships from another user - Changes apply immediately

Delete User

Permanently removes user account

- Administrative privileges required - Irreversible action - Consider backup/archival first

Security Actions

Action
Description
Requirements/Implications
Bulk Action Available

Research Compromised Account

Analyzes Indicators of Compromise (IoC): - Sign-in patterns - Mail rules - Suspicious activities

- Security admin rights - Provides comprehensive security review - Single pane of glass review of common indicators of compromise (IoC) []

Create Temporary Access Password

Creates temporary password for passwordless enrollment

- Time-limited access - Create a temporary password to allow full passwordless enrollment. []

Re-require MFA registration

Forces new MFA setup by: - Resetting MFA status to Enabled - Requiring new registration

- User must complete new MFA setup - Affects all MFA methods - Authentication Methods must be migrated from legacy - You will need Security Defaults or a CA policy and registration campaign to force registration again

Send MFA Push

Sends test MFA prompt to user's devices

- Verifies MFA configuration - Tests user's registered devices

Set Per-User MFA

Configures MFA state: - Enforced - Enabled - Disabled

- Overrides tenant-level settings - Immediate effect on sign-ins

Block Sign In

Prevents account access

- Immediate effect - Doesn't affect existing sessions

Unblock Sign In

Restores account access

- Immediate effect - User can sign in again

Revoke all user sessions

Forces re-authentication on all devices

- Terminates all active sessions - Requires new sign-in everywhere

Password Management

Action
Description
Requirements/Implications
Bulk Action Available

Reset Password (Must Change)

Sets random password and forces change

- User must create new password at next login - Example format: 2WcAu%VMy89P

Reset Password

Sets new random password

- Password immediately active - No change requirement

Set Password Never Expires

Set Password Never Expires state for this user. If the password of the user is older than the set expiration date of the organization, the user will be prompted to change their password at their next login.

Mail and Communication

Action
Description
Requirements/Implications
Bulk Action Available

Convert to Shared Mailbox

Transforms user mailbox to shared type

- Requires Exchange Online license - Maintains data and access

Convert to User Mailbox

Transforms user mailbox to user type

Enable Online Archive

Activates archival mailbox

- Requires appropriate license - Additional storage space

Set Out of Office

Configures automatic replies

- Single message for internal/external - No HTML formatting Note: Setting a different internal and external autoreply is currently not supported

Disable Out of Office

Removes automatic replies

- Immediate effect - Clears all auto-reply settings

Disable Email Forwarding

Removes all email forwarding rules

- Clears ForwardingAddress - Clears ForwardingSMTPAddress

OneDrive Management

Action
Description
Requirements/Implications
Bulk Action Available

Pre-provision OneDrive

Initializes OneDrive storage

- No user login required - Speeds up first access

Add OneDrive Shortcut

Creates SharePoint site shortcut

- Adds to OneDrive root - Requires existing OneDrive

Group and Directory Management

Action
Description
Requirements/Implications
Bulk Action Available

Manage Licenses

Allows for bulk license management of the selected user(s)

Add to Group

Assigns user to specified group(s)

- Immediate membership - Inherits group permissions

Clear Immutable ID

Breaks on-premises AD sync

- Sets onPremisesImmutableId to null - Stops directory synchronization

Information Access

Action
Description
Requirements/Implications
Bulk Action Available

More info

Opens Extended Info panel showing: - Common profile fields - Additional actions

- Quick access to key information - Alternative action access point

Note that clicking one of these actions will present a confirmation modal dialog.

More Information on "Create Temporary Access Password"

Create a temporary access password for a user to enroll in passwordless for Azure Active Directory.

Both passwordless authentication and the temporary access password function must be enabled on the tenant. See AzureAD: Configure Temporary Access Pass in Azure AD to register Passwordless authentication methods

Add User Query String Support

The Add User has the ability to be form filled via URL query strings. This table shows all supported query strings. For example https://yourcipp.app/identity/administration/users/add?customerId=Mydomain.onmicrosoft.com&city=Rotterdam would automatically fill in the city for a user.

QueryString
Field

customerId

Client Tenant ID(Only required field)

businessPhones

Business Phone Number

city

User City Location

companyName

Company Name

country

Country

department

Department

displayName

Display Name

givenName

First Name

jobTitle

Job Title

mailNickname

Username before the email address part(User<@domain.com>)

mobilePhone

Mobile Phone Number

addedAliasses

Added Aliasses, Multiple allowed via linebreak(%0A)

postalCode

Zip or post code

streetAddress

Address information

surname

Last Name

usageLocation

User location for license, can be left blank for default.

primDomain

User Primary Domain (User<@domain.com>)

MustChangePass

Boolean, default is false.

AutoTask LiveLink

If you want to create your own LiveLink you can use the QueryString below.

?city=<CITY>&country=<COUNTRY>&customerId=<UDF-TenantId(tblCustomers)>&primDomain=<ACCOUNTWEBSITEADDRESS>&usageLocation=NL&streetAddress=<ACCOUNTADDRESS1>&companyName=<ACCOUNTNAME>&businessPhones=<ACCOUNTPHONE>&postalCode=<ACCOUNTPOSTALCODE>&givenName=<CONTACTFIRSTNAME>&surname=<CONTACTLASTNAME>


Feature Requests / Ideas

We value your feedback and ideas. Please raise any on GitHub.

Bulk Add
Invite Guest
Add User
More information
More information
More information
feature requests