LogoLogo
Get CIPPJoin Discord
  • ☕CIPP Documentation
  • 🦸Setup
    • Self Hosting Guide
      • Prerequisites
      • Installation
      • Setup Automatic API Updates
      • Configuring Automatic Updates
      • Adding Users and Managing Roles
      • Updating Versions
      • Migrating to Hosted CIPP
      • Self-hosted API Setup
    • Configuring CIPP
      • Creating the CIPP Service Account
      • Conditional Access Best Practices
      • Adding Users and Managing Roles
      • Executing the Setup Wizard
      • Tenant Onboarding
      • Adding Tenants & Consenting the CIPP-SAM Application
      • Adding a Custom Domain Name
      • I Want to Manage My Own Tenant
      • Recommended Roles
    • Implementing CIPP
      • Recommended First Steps
      • Standards Setup
    • Resources
      • Professional Onboarding Services
      • Sponsor Quick Start
  • 🙋User Documentation
    • Shared Features
      • Menu Bar
        • Tenant Select
        • Display Mode
        • 🔍Search
        • Bookmarks
        • User Preferences
      • Table Features
      • Speed Dial
      • Keyboard Shortcuts
      • Get Help
    • CIPP Dashboard
    • Identity Management
      • Administration
        • Users
          • Bulk Add
          • Invite Guest
          • Add User
          • View Individual User
            • Edit User
            • Exchange Settings
            • Compromise Remediation
            • Conditional Access
        • Risky Users
        • Groups
          • Add Group
          • Edit Group
        • Group Templates
          • Add Group Template
          • Deploy Group Templates
          • Edit Group Template
        • Devices
        • Deleted items
        • Roles
        • JIT Admin
          • Add JIT Admin
        • Offboarding Wizard
      • Reports
        • MFA Report
        • Inactive Users
        • Sign-in Report
        • AAD Connect Report
        • Risk Detections
    • Tenant Administration
      • Administration
        • Tenants
          • Edit Tenant
          • Tenant Groups
            • Add Tenant Group
            • Edit Tenant Group
        • Alert Configuration
          • Add Alert
        • Audit Logs
          • View Audit Log
        • Applications
        • App Registrations
        • Permission Sets
          • Add Permission Set
          • Edit Permission Set
        • Templates
          • Add App Approval Template
          • Edit App Approval Template
        • Secure Score
        • App Consent Requests
        • Authentication Methods
        • Partner Relationships
      • GDAP Management
        • Relationships
          • Relationship Summary
        • Role Mappings
          • Map GDAP Roles
        • Role Templates
          • Add Template
        • Invites
          • New Invite
        • Onboarding
        • Offboarding
      • Configuration Backup
        • Backups
          • Restore Configuration Backup
          • Add Configuration Backup Task
      • Standards
        • List Standards Templates
        • Add Standards Template
        • View Tenant Report
        • Best Practice Analyser
          • Best Practice Templates
          • Custom Reports
        • Domains Analyser
      • Conditional Access
        • CA Policies
          • Deploy CA Policies
        • CA Vacation Mode
          • Add Vacation Schedule
        • CA Templates
        • Named Locations
          • Add Named Location
      • Reports
        • License Report
        • Sherweb License Report
          • Add Subscription
        • Consented Applications
    • Security & Compliance
      • Incidents & Alerts
        • Incidents
        • Alerts
      • Defender
        • Defender Status
        • Defender Deployment
        • Vulnerabilities
      • Reports
        • Device Compliance
    • Intune
      • Applications
        • Applications
          • Add Application
            • Add MSP App
            • Add Store App
            • Add Choco App
            • Add Office App
        • Application Queue
      • Autopilot
        • Autopilot Devices
        • Add Autopilot Device
        • Profiles
          • Add Profile
        • Status Pages
        • Add Status Page
      • Device Management
        • Devices
        • Configuration Policies
        • Compliance Policies
        • Protection Policies
        • Apply Policy
        • Policy Templates
        • Scripts
      • Reports
        • Analytics Device Score
        • Work from Anywhere
    • Teams & SharePoint
      • OneDrive
      • SharePoint
        • Add Site
        • Bulk Add Sites
      • Teams
        • Teams
          • Add Team
        • Teams Activity
        • Business Voice
    • Email & Exchange
      • Administration
        • Mailboxes
          • Add Shared Mailbox
        • Deleted Mailboxes
        • Mailbox Rules
        • Contacts
          • Add Contact
          • Edit Contact
        • Quarantine
        • Tenant Allow/Block Lists
          • Add Entry
      • Transport
        • Transport Rules
          • Deploy Transport Rule Template
        • Transport Templates
        • Connectors
          • Deploy Connector Templates
        • Connector Templates
      • Spamfilter
        • Spamfilter
          • Deploy Spamfilter
        • Spamfilter Templates
        • Connection Filter
          • Deploy Connection Filter
        • Connection Filter Templates
        • Quarantine Policies
          • Edit Global Settings
          • Deploy Custom Policy
        • Quarantine Policies
          • Add Quarantine Policy
      • Resource Management
        • Rooms
          • Add Room
          • Edit Room
        • Room Lists
      • Reports
        • Mailbox Statistics
        • Mailbox Client Access Settings
        • Anti-Phishing Filters
        • Malware Filters
        • Safe Link Filters
        • Safe Attachment Filters
        • Shared Mailbox with Enabled Account
        • Global Address List
    • Tools
      • Tenant Tools
        • Graph Explorer
        • Application Approval
        • Tenant Lookup
        • IP Database
        • Individual Domain Check
      • Email Tools
        • Message Trace
        • Mailbox Restores
        • Message Viewer
      • Dark Web Tools
        • Tenant Breach Lookup
        • Breach Lookup
      • Template Library
      • Community Repositories
        • View Repository Templates
      • Scheduler
        • Add Job
    • CIPP
      • Application Settings
        • Permissions
        • Tenants
        • Backend
        • Notifications
        • Partner Webhooks
        • Licenses
        • CIPP Backup
        • Global Variables
      • Logbook
      • Setup Wizard
      • Integrations
        • Integration Sync
        • CIPP-API
        • Sherweb
        • Gradient
        • Halo PSA Ticketing
        • NinjaOne
        • Hudu
        • Password Pusher
        • Have I Been Pwned?
        • Cloudflare
        • GitHub
      • Custom Data
        • Directory Extensions
          • Add Directory Extension
        • Schema Extensions
          • Add Schema Extension
        • Mappings
          • Add Mapping
          • Edit Mapping
      • Advanced
        • Super Admin
          • Tenant Mode
          • Function Offloading
          • CIPP Roles
          • SAM App Roles
          • SAM App Permissions
        • Exchange Cmdlets
        • Timers
        • Table Maintenance
  • 📂Troubleshooting
    • Error codes
    • Troubleshooting instructions
      • Refreshing a Specific Tenant's Permissions via CPV API
    • Frequently Asked Questions
      • I Got a "Potential Phishing page detected" Alert. What Do I Do With That?
  • 🔐Security
    • CIPP Security and Compliance
      • Security Policy
      • Security reports
    • CIPP Community Vulnerability Disclosure Policy
  • 👩‍💻👩💻 Dev Documentation
    • CIPP Dev Guide
      • Setting Up for Local Development
      • Executing Local Development
      • Project Structure
      • Development Tips
      • CIPP v7 Developer Brief
    • Contributing to the Code
    • Contributing to the Documentation
  • ⚙️API Documentation
    • Setup & Authentication
    • Endpoints
  • 🧰MSP Adoption Toolkit
    • Building a CIPP Business Case
  • ☕Sip & CIPP
    • Conditional Access
    • Autopilot & Intune
Powered by GitBook
On this page
  • Best Practices for Building Custom BPA Reports
  • Step-by-Step Guide to Creating a Custom Report
  • Save
  • Report Layouts
  • Field Options

Was this helpful?

Edit on GitHub
Export as PDF
  1. User Documentation
  2. Tenant Administration
  3. Standards
  4. Best Practice Analyser

Custom Reports

CIPP's custom reporting functionality empowers advanced users to create tailored reports for any best practice scenarios you can imagine. While CIPP includes multiple default reports that are rapidly expanding, custom reports let you take control of exactly what data is presented. By defining your own templates, you can specify APIs, commands, and display styles to meet unique organizational needs.


Best Practices for Building Custom BPA Reports

1. Starting with Existing Templates

Begin with a pre-configured report like the "CIPP Best Practices Table View" to use as a foundation. Copy and modify the template to suit your needs. This approach simplifies the process and ensures compatibility with CIPP's structure.

2. Defining Data Sources

Custom reports pull data from sources such as:

  • Microsoft Graph API: Requires specifying endpoints, fields, and parameters.

  • PowerShell Commands: Allows extracting specific metrics from Exchange or similar environments.

3. Understanding Report Structures

Each custom report is a JSON template with three key components:

  • Fields: Specifies which data points to extract.

  • Display Format: Determines how the data appears (e.g., Booleans, tables, or JSON objects).

  • Data Sources: Defines the API endpoints or PowerShell commands to use.

4. Validating and Executing

Once configured, force a data refresh to validate your report. This step ensures all APIs and commands execute correctly, and the report functions as intended.


Step-by-Step Guide to Creating a Custom Report

1

Setting the Foundation

Every report begins with a title and presentation style. Enter the Report Name and select your preferred Layout Mode.

2

Adding Fields

Define the data points to fetch from an API, specifying the endpoint, parameters, and how the data should be presented

For Exchange, define commands instead of API URLs, e.g. Get-Mailbox

Click the "+ Add Field" button to display additional fields for configuration.

3

Save

Click the "Save Report" button to write your template to your BPA reports.

Report Layouts

  1. Table: Report will be displayed with your selected data appear in columns

  2. Block: Report will be displayed with your selected data appear in a block (or card) fashion

Field Options

Regardless of the type of report layout you choose, the fields will have the following options which will present you with different fields to populate to generate the field's output.

  1. "Use information CIPP has previously gathered in another report" toggle: Toggle this to on to present you with options to populate the database name and card content from information from another report.

  2. Data Source:

    1. Graph: Use to enter a Graph Endpoint and PowerShell sytnax filter

    2. Exchange Online PowerShell: Use to enter the Exchange Command, PowerShell syntax Where object, and the data from the response that should be stored

    3. CIPP Function: Use of any CIPP Get- command to populate data for the report

  3. Store this data as

    1. String: used when extracting a single string value from the data source

    2. JSON: used for storing more complex objects

    3. Boolean: used for true/false reporting


PreviousBest Practice TemplatesNextDomains Analyser

Last updated 1 month ago

Was this helpful?

🙋

Feature Requests / Ideas

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

feature requests