JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 199
  • Score
    100M100P100Q97286F
  • License MIT

Advanced n8n community node for CIPP.app - Microsoft 365 multi-tenant management (460 operations, 28 resources)

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-cipp-advanced) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    n8n-nodes-cipp-advanced

    npm version License: MIT

    Advanced n8n community node for CIPP.app — comprehensive Microsoft 365 multi-tenant management for MSPs.

    CIPP Node npm

    Acknowledgement: This project builds on the foundation of @joshuanode/n8n-nodes-cipp by Joshua Smith. The codebase was substantially rewritten with a modularised architecture, full API alignment audit against the CIPP OpenAPI spec, and expanded to 460 operations across 28 resources (~87% of the CIPP API surface).

    Features

    460 operations across 28 resources covering:

    • Identity Management — Users (50 ops), Groups (11), Contacts (11), Identity (9)
    • Email & Exchange — Mailbox (46), Transport rules (20), Spam filters (18), Safe Links (12), Exchange Resources (9), Quarantine (4)
    • Security & Compliance — Policies/Intune (32), Conditional Access (14), Alerts (14), GDAP (13)
    • Tenant Administration — Tenants (33), Standards/BPA/Drift (23)
    • Devices — Devices (10), Autopilot (12)
    • Apps — Applications (24)
    • Teams & SharePoint — Teams (12), Teams Shifts (28), Voice (4)
    • CIPP Platform — Tools (11), CIPP Admin (19), CIPP Core (11), Scheduled Items (4), Backups (4), OneDrive (2)

    User-Friendly Design

    • Tenant Selector — Searchable dropdown to select tenants by name
    • Field Picker — Multi-select for user properties (no need to memorise Graph API field names)
    • Smart Defaults — Sensible default selections to keep responses fast and small
    • AI Agent Compatible — Works as a tool in n8n AI agent workflows (usableAsTool)

    Installation

    n8n (Self-hosted)

    npm install n8n-nodes-cipp-advanced

    Or add to your n8n Docker container:

    # In your Dockerfile
    RUN npm install -g n8n-nodes-cipp-advanced

    Credentials Setup

    1. Create an Azure AD App Registration for CIPP API access
    2. Configure the following in n8n:
      • CIPP Instance URL: Your CIPP deployment URL (e.g., https://cipp.yourdomain.com)
      • Azure AD Tenant ID: The tenant where your CIPP app registration lives
      • Application (Client) ID: From your Azure AD app registration
      • Client Secret: Generated from your app registration

    For detailed authentication setup, see the CIPP API Documentation.

    Resources & Operations

    Resource Ops Key Operations
    User 50 CRUD, edit (23 fields), guest/bulk add, BEC check, JIT admin, 9 detail lists, photo, licenses
    Mailbox 46 9 list ops, permissions, settings, holds, archive, shared/mobile, message trace, EXO request, restore
    Tenant 33 Details, edit, add/onboard/offboard, domains, service health, secure score, tenant groups, license MSP summary
    Policy 32 Assignment filters, Intune templates/scripts/settings, Defender deployment, compliance lists
    Teams Shift 28 Shifts, open shifts, scheduling groups, time-off, swap/offer requests (requires custom CIPP-API fork)
    Application 24 WinGet/Store/Choco/MSP/Office/Win32 apps, VPP sync, app approval, multi-tenant apps
    Standard 23 Standards, BPA, domain analyser, drift, run/convert, templates
    Transport 20 Transport rules/templates, Exchange connectors/templates, connection filters
    CIPP Admin 19 Settings, setup, extensions config/sync/test
    Spamfilter 18 Spam filters/templates, quarantine policies, allow/block lists
    Conditional Access 14 CA policies/templates, named locations, exclusions, policy check
    Alert 14 Security alerts/incidents, audit log, MDO alerts, webhooks
    GDAP 13 Access assignments, invites, roles, auto-extend, trace
    Autopilot 12 Devices, configs, enrollment, rename, group tags
    Safe Links 12 Policies/templates, deployment
    Team 12 Teams, SharePoint sites/quota/settings/admin
    Group 11 CRUD, templates, Teams conversion, sender auth
    CIPP Core 11 Diagnostics, functions, GitHub actions, version
    Tools 11 Breach search, Graph requests, GeoIP, universal search, compliance
    Contact 11 Contacts/templates, deploy, permissions
    Device 10 List, manage, actions, LAPS/recovery, detected apps
    Exchange Resource 9 Rooms, room lists, equipment
    Identity 9 Audit logs, deleted items, roles, Azure AD Connect, directory objects
    Voice 4 Phone numbers, locations, assign/unassign
    Scheduled Item 4 Add, list, remove, details
    Backup 4 List, run, restore, auto-backup
    Quarantine 4 List, release, deny, get many
    OneDrive 2 Provision, add shortcut

    Example Usage

    List All Tenants

    Resource: Tenant
    Operation: Get Many
    Return All: true

    List Users with Sign-In Activity

    Resource: User
    Operation: Get Many
    Tenant: Select from dropdown
    Fields to Return: Display Name, User Principal Name, Mail, Sign-In Activity
    Return All: true

    License Utilisation Report (MSP Summary)

    Resource: Tenant
    Operation: Get Licenses
    Tenant: Select from dropdown
    Output Mode: MSP Summary
    Return All: true

    Returns one flat row per license with UtilizationPct, RenewalUrgency, AssignmentMethod, and other computed metrics — ideal for dashboards and alerting workflows.

    Custom Graph Request

    Resource: Tools
    Operation: Graph Request (List)
    Tenant: Select from dropdown
    Endpoint: users
    $select: id,displayName,userPrincipalName
    $filter: startsWith(displayName,'John')

    Teams Shifts

    Resource: Teams Shift
    Operation: List Shifts
    Tenant: Select from dropdown
    Team ID: <team-guid>

    CIPP-API Requirement: The Teams Shift resource and the Exec Graph Request tool both use POST /api/ExecGraphRequest, which is not part of the standard CIPP API. You must be running a custom fork of CIPP-API that exposes the ExecGraphRequest endpoint.

    Development

    # Install dependencies
    npm install
    
    # Build
    npm run build
    
    # Lint
    npm run lint
    
    # Link for local testing
    npm link

    Acknowledgements

    This project builds on the foundation of @joshuanode/n8n-nodes-cipp by Joshua Smith, who created the original CIPP n8n integration.

    License

    MIT - see LICENSE for details.