LogoLogo
Get CIPPJoin Discord
  • ☕CIPP Documentation
  • 🦸Setup
    • Self Hosting Guide
      • Prerequisites
      • Installation
      • Run From Package Mode
      • Post-Install Configuration
      • Configuring Automatic Updates
      • Updating Versions
      • Migrating to Hosted CIPP
      • Self-hosted API Setup
    • Service Account Setup
      • GDAP's Importance in CIPP
      • Creating the CIPP Service Account
      • Conditional Access best practices
      • Recommended Roles
    • Configuring CIPP
      • Adding users to CIPP
      • Executing the SAM Setup Wizard
      • Tenant Onboarding
      • Adding Tenants & Consenting the CIPP-SAM Application
      • User Roles in CIPP
      • Adding a custom domain name
      • I want to manage my own tenant
    • 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
    • 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
        • Devices
        • Deleted items
        • Roles
        • JIT Admin
          • Add JIT Admin
        • Offboarding Wizard
      • Reports
        • MFA Report
        • Inactive Users
        • Sign Ins 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
        • Enterprise Applications
        • Secure Score
        • App Consent Requests
        • Authentication Methods
        • Partner Relationships
      • GDAP Management
        • Relationships
          • Relationship Summary
            • Role Mappings
        • Role Mappings
          • Map GDAP Roles
        • Role Templates
          • Add Template
        • Invites
          • New Invite
        • Onboarding
        • Offboarding
      • Configuration Backup
        • Backups
          • Restore Configuration Backup
          • Add Configuration Backup
      • Standards
        • List Standards Templates
        • Add Standards Template
        • Compare Tenant to Standard
        • 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 Locations
      • 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
    • Teams & SharePoint
      • OneDrive
      • SharePoint
        • Add Site
        • Bulk Add Site
      • 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 Template
        • Transport Templates
        • Connectors
          • Deploy connector Templates
        • Connector Templates
      • Spamfilter
        • Spamfilter
          • Deploy Spamfilter
        • Spamfilter Templates
        • Connection filter
          • Deploy Connection Filter
        • Connection filter templates
      • Tools
        • Mailbox Restore Wizard
        • Mail Test
      • 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
      • SAM 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
          • Custom 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
  • CIPP New Interface Release Candidate 2 (rc2)
Powered by GitBook
On this page
  • Basics of the Report
  • Data Definition (Fields Section)
  • Frontend Definition
  • Example Report Template
  • Feature Requests / Ideas

Was this helpful?

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

Custom Report Components

Components of a Best Practice Analyzer Report Template

Basics of the Report

a. name

  • Description: The title or identifier of the report.

  • Purpose: Helps users recognize the purpose of the report.

  • Example:

    "name": "My Custom SharePoint Report"

b. style

  • Description: Defines how the report data will be displayed.

  • Options:

    • Table: Presents data in a tabular layout.

    • Tenant: A single-page overview for individual tenants.

  • Example:

    "style": "Table"

Data Definition (Fields Section)

a. name

  • Description: Identifies each category or set of data within the report.

  • Purpose: Organizes the data into logical sections.

  • Example:

    "name": "SharepointSettings"

b. API

  • Description: Specifies the API or data source type.

  • Options:

    • Graph: Microsoft Graph API, used for Microsoft 365 services.

    • Exchange: Commands specific to Microsoft Exchange.

    • CIPPFunction: Custom APIs or application-specific functions.

  • Example:

    "API": "Graph"

c. URL or command

  • Description: Indicates the endpoint (Graph or CIPPFunction) or PowerShell command (Exchange) to fetch the data.

  • Example:

    • Graph:

      "URL": "https://graph.microsoft.com/beta/admin/sharepoint/settings"
    • Exchange:

      "command": "Get-MailboxDetail"

d. Parameters

  • Description: Additional arguments or settings required for the API call.

  • Example:

    "Parameters": {"asApp": "True"}

e. ExtractFields

  • Description: Lists the attributes to extract from the returned data.

  • Purpose: Specifies what information to pull from the API response.

  • Example:

    "ExtractFields": ["sharingCapability", "isMacSyncAppEnabled"]

f. StoreAs

  • Description: Determines how the fetched data is stored.

  • Options:

    • JSON: For structured data.

    • bool: For binary (true/false) values.

  • Example:

    "StoreAs": "JSON"

Frontend Definition

a. FrontendFields

  • Description: Describes how the extracted data will appear in the report.

  • Subfields:

    • name: The label displayed in the report.

    • value: Reference to the extracted data’s location.

    • formatter: Defines the format for displaying the data.

      • Options for formatter:

        • string: Displays as plain text.

        • bool: Displays true/false values.

        • warnBool: Highlights boolean values with warnings.

        • reverseBool: Inverts boolean values for display.

        • table: Displays data in a table format.

        • number: Presents numerical values.

  • Example:

    "FrontendFields": [{
        "name": "Sharing Capability",
        "value": "SharepointSettings.sharingCapability",
        "formatter": "string"
    }]

b. where (Optional)

  • Description: A conditional filter that determines which data is processed or displayed.

  • Purpose: Enables precise control over data inclusion using PowerShell-style filters.

  • Example:

    "where": "$_.definition -like '*WebSessionIdleTimeout*'"

c. desc (Tenant View Only)

  • Description: Adds a description displayed at the bottom of a tenant overview card.

  • Purpose: Provides context or additional information about the data shown.

  • Example:

    "desc": "This shows you how many users are in your tenant."

Example Report Template

Here’s a complete example combining all components:

{
  "name": "Custom SharePoint Report",
  "style": "Table",
  "fields": [{
      "name": "SharepointSettings",
      "API": "Graph",
      "URL": "https://graph.microsoft.com/beta/admin/sharepoint/settings",
      "Parameters": {"asApp": "True"},
      "ExtractFields": ["sharingCapability", "isMacSyncAppEnabled"],
      "StoreAs": "JSON",
      "FrontendFields": [{
          "name": "Sharing Capability",
          "value": "SharepointSettings.sharingCapability",
          "formatter": "string"
      }]
  }]
}

This structure ensures clear, actionable insights while offering flexibility for customization. Let me know if you'd like further explanation or a specific example tailored to your needs!


Feature Requests / Ideas

Last updated 4 months ago

Was this helpful?

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

🙋
feature requests