MSP Hub v2.7

AJT MSP Hub

Our MSP customers kept calling to check ticket status, approve quotes, and ask about contract details. Staff were toggling between Autotask, QuickBooks, the Microsoft 365 admin centre, and Datto RMM to answer simple questions. I built MSP Hub so customers could self-serve through a branded portal and staff could manage everything from one screen, saving hours every single day.

0 Integrations
0 Lines of Code
0 Onboarding Stages
0 Phone Calls Needed
Scroll

Stop Toggling Between Tabs

MSP Hub connects Autotask PSA, Microsoft 365 Lighthouse, Datto RMM, QuickBooks, Xero, BrightHR, and Westcoast into a single branded platform. Customers self-serve tickets, quotes, contracts, and invoices without ever calling you. Staff manage everything from one dashboard instead of juggling seven browser tabs. Every interaction that used to take a phone call, an email chain, or a manual copy-paste between systems now takes a few clicks.

Autotask PSA Integration

Autotask is the backbone. MSP Hub syncs companies, contacts, tickets, contracts, services, and block hour allocations from Autotask PSA into a local database, then exposes them through a branded web portal and a staff management dashboard. The sync is bidirectional: ticket replies posted through the portal appear in Autotask, technician responses appear in the portal. No more "let me check Autotask and get back to you."
🎫

Ticket Portal

Customers view, create, and reply to Autotask tickets through the web. Full bidirectional sync: replies posted in the portal appear in Autotask within seconds, technician responses flow back to the portal. File attachments, status badges, priority indicators, and a complete conversation timeline. Customers stop calling to ask "what's happening with my ticket?" because they can see it themselves.

📋

Quote Builder & Approval

Build quotes in an admin interface with line items pulled from Autotask services, Stripe Pro products, vendor products, and custom one-off items. Send to customers via a branded email with a magic-link quote page showing itemised pricing, terms, and one-click approve or decline buttons. Status tracking with summary counts on the dashboard. No more emailing PDFs and waiting a week for a reply.

⚙️

Contract Services

Customers see their active services grouped by contract and category, with current quantities and unit prices. They can request quantity changes (add 5 Microsoft 365 licences, remove 2 endpoints) through the portal. Change requests enter an approval workflow: the MSP reviews, approves or rejects, and the approved changes are provisioned back to Autotask automatically. No phone call, no email chain, no manual data entry.

Block Hours Tracking

Real-time visibility into prepaid block hour contracts. Customers see hours remaining, hours used, burn rate, and projected exhaustion date. Staff see the same data across all customers with colour-coded burn rate indicators: green for on track, amber for burning fast, red for nearly exhausted. Synced from Autotask contract blocks with automatic period rollover detection.

🔄

Background Sync Engine

A cron-driven sync engine pulls companies, contacts, tickets, contracts, services, and block hour data from the Autotask REST API on a configurable schedule. Incremental sync fetches only records modified since the last run. Full sync rebuilds the local cache from scratch. Diagnostics panel shows sync status, last run time, record counts, and any API errors.

👥

Customer Mapping

Auto-match WordPress users to Autotask contacts by email address. Bulk auto-match for initial setup maps your entire customer base in one click. Manual search fallback handles edge cases where email addresses don't match. Once mapped, customers see only their own company's data: their tickets, their contracts, their invoices, their quotes.

Microsoft 365 Lighthouse

MSP Hub integrates Microsoft 365 Lighthouse via GDAP and the Microsoft Graph API with 25 delegated and application permissions. It pulls tenant data, user accounts, licence assignments, security scores, sign-in activity, risky users, device compliance, and conditional access policies across all your managed Microsoft 365 tenants. Then it turns that raw data into actionable reports, health checks, and automated improvement recommendations.
🛡️

Health Checks (13 Checks)

Automated security and compliance checks across every tenant: inactive users, unused licences, suspicious sign-in locations, MFA gaps, stale devices, conditional access coverage, Windows protection status, guest user hygiene, admin role sprawl, risky users, expiring app credentials, and licence utilisation. Each check returns a pass/warning/fail score with specific remediation steps.

📈

Improvement Engine

Goes beyond health checks to identify actionable improvements: Microsoft Secure Score recommendations, management gaps (unmanaged users, missing policies), licence optimisations (downgrade opportunities, unused seat reclamation), user security improvements, guest cleanup, admin role tightening, and credential renewal reminders. Each recommendation has a priority score and estimated impact.

📊

QBR Report Generator

Generate Quarterly Business Review reports as branded PDFs. The QBR engine pulls 90 days of data, health check results, improvement recommendations, licence cost analysis, and trend charts into a professional document ready to present to the customer. One click generates a report that would take hours to compile manually from the Microsoft 365 admin centre.

💰

Licence Cost Analysis

Track Microsoft 365 licence costs across all tenants. Compare assigned vs consumed licences, identify seats that are paid for but unused, and calculate potential savings from downgrades (E5 users who only use email could be on E3). Cost data feeds into QBR reports as a concrete money-saving recommendation for customers.

🔐

CPV Consent Automation

Automate Commerce Partner Verification consent flows via the Graph API. Push consent grants to customer tenants programmatically instead of walking each customer through the Microsoft consent portal manually. Track consent state per tenant with automatic retry on failure.

📅

Contact Reconciliation

Cross-reference Autotask contacts with Microsoft 365 user accounts. Identify contacts who exist in Autotask but not in M365 (or vice versa), detect email mismatches, and flag stale accounts. The backfill engine can auto-create missing Autotask contacts from M365 user data, keeping both systems in sync without manual data entry.

Datto RMM Integration

MSP Hub syncs device data from Datto RMM, the remote monitoring and management platform. Endpoint counts, device status, patch compliance, and alert summaries are pulled into the local database and surfaced in the admin dashboard, Contracts Manager frontend, and customer portal. Staff see device health at a glance alongside tickets and contracts without opening the Datto console. Customers see their own endpoint count and status summary.

Accounting Bridge

The accounting bridge pulls invoices FROM QuickBooks or Xero INTO the customer portal. This is the reverse of Stripe Pro's push: where Stripe Pro creates invoices and syncs them to accounting, MSP Hub reads existing accounting invoices and displays them to customers. Customers can view and pay their QuickBooks or Xero invoices through the portal using Stripe. Card fee passthrough is configurable, so the MSP can absorb processing fees or pass them to the customer with a visible surcharge line item. The bridge also powers Price Harmony, which detects pricing drift between Autotask contract services and accounting invoice line items, alerting you when what you're billing doesn't match what you agreed to charge.

Contracts & E-Signing

A complete contract lifecycle system. Upload DOCX templates with merge tokens ({company_name}, {contract_start_date}, {service_lines}), generate branded PDFs, send via a token-based signing URL, and capture legally binding e-signatures with a canvas signature pad. The two-step review-then-sign flow shows the customer the full document before they commit. A tamper-evident audit trail logs every action with IP address, user agent, and timestamp. Contract integrity checks verify that the signed PDF hasn't been modified after signing. Quote-to-contract conversion takes an approved quote and auto-generates the corresponding contract with service lines pre-populated.

Onboarding Master

An 11-stage customer onboarding pipeline that takes a prospect from first contact to fully onboarded, with every step tracked and automated. Two paths: quote path (Draft, Quote Sent, Quote Accepted/Declined, Info Form Sent, Info Received, Contracts Sent, Contracts Signed, Setting Up, Onboarded) and direct path (skip the quote stages). Each stage auto-advances when its conditions are met. Magic-link quote pages let prospects review and accept without logging in. Information collection forms gather customer details, technical contacts, and service requirements. The entire pipeline integrates with the Robot AI assistant for automated notifications, stage-change alerts, and Teams posts.

Claims System

Staff submit expense claims, mileage claims, overtime claims, and commission claims through the portal. Each claim type has its own fields and validation: expenses capture receipts and categories, mileage calculates reimbursement from HMRC rates, overtime logs hours and applicable rates, commission captures deal values and percentages. Claims enter an approval queue routed to the appropriate Autotask queue. Approved claims generate branded PDF summaries. The entire system runs from the staff portal, no admin access required. It saves the back-and-forth of email attachments, spreadsheet tracking, and manual approval chains.

Vendor Store & Westcoast

Hardware and service procurement built into the portal. The Vendor Store lets customers browse and order from the MSP's curated product catalogue, because "email me what you need" doesn't scale. Products can be sourced from manual entries or synced directly from the Westcoast distribution API. The Westcoast integration pulls live pricing, stock availability, and product data, syncs Price & Availability updates on a schedule, and can submit orders directly to Westcoast for fulfilment. Configurable markup percentages auto-calculate sell prices from cost prices. Order tracking polls Westcoast for delivery status updates.

HR & Absence Management

Currently being implemented: a BrightHR integration that syncs employee absence data, holiday bookings, and availability into MSP Hub. Staff calendars show who's off, who's available, and where the scheduling gaps are. The integration feeds into the Microsoft Graph calendar view so managers can see team availability alongside Outlook appointments in one unified calendar. When someone books annual leave in BrightHR, it shows up in MSP Hub automatically, no manual cross-referencing between systems.

The Contracts Manager

A custom WordPress role for office staff who need to manage customers, send contracts, process quotes, and handle service changes, but shouldn't have access to the WordPress admin. Contracts Managers work entirely through the staff portal frontend: a tabbed dashboard with customer search, ticket oversight, approval queues, finance summaries, contract management, and team views. They can approve or reject service change requests, manage the onboarding pipeline, review claims, and see Datto RMM device data, all from a clean, branded interface that doesn't expose any WordPress machinery.
📊

Dashboard KPIs

At-a-glance metrics: open tickets, pending quotes, expiring contracts, outstanding invoices, recent activity feed, and notification bell with actionable alerts. Customer summaries show the health of each account in a compact card format with colour-coded status indicators.

🎫

Ticket Management

A dedicated ticket tab with full conversation view, reply capability, status changes, and priority filtering. Contracts Managers can handle ticket triage and customer communication without accessing Autotask directly, saving the MSP per-seat licensing costs on Autotask accounts.

Approval Workflow

Service change requests, quote approvals, and claim submissions all route through the Contracts Manager's approval queue. Approve or reject with one click, with optional notes. Approved changes provision automatically to Autotask. The approval queue is the single place where all pending decisions live.

📅

Renewal Calendar

A visual calendar showing contract renewal dates across all customers. Colour-coded by urgency: contracts expiring in 30 days are red, 60 days are amber, 90 days are green. One-click extend by one year. Never miss a renewal conversation again.

💻

Datto RMM Tab

Device inventory for each customer pulled from Datto RMM. Endpoint counts, OS breakdown, patch status, and alert summaries, visible alongside the customer's contract services so staff can cross-reference what's deployed against what's being billed.

🔍

Cross-System Search

Search across customers, tickets, contracts, and quotes from one search bar. Results link directly to the relevant detail view. Combined with Robot quick actions in the GLASS Spotlight, staff can find anything in the entire system in seconds.

More Time-Saving Tools

Beyond the major integrations, MSP Hub is packed with features that each save small amounts of time that compound across every working day.
🔐

Send Secret

One-time encrypted message sharing. Generate a link that contains an encrypted payload (a password, an API key, a sensitive note), send it to the recipient, and it auto-destructs after a single view. Built because emailing credentials in plain text is insane and nobody was going to set up a separate tool for it.

🎨

White-Label Branding

CSS custom property injection at runtime replaces every visual element: colours, fonts, logo, company name, email templates, login page. The MSP's brand completely replaces AJT. Their customers never know it's our code underneath. Per-portal branding means different portals can have different branding if needed.

🔑

Branded Login & MFA

A custom login form with the MSP's branding, password reset flow, and multi-factor authentication integration. Customers never see wp-login.php. MFA support includes TOTP (Google Authenticator, Microsoft Authenticator) and recovery codes. The login experience feels like a custom-built SaaS platform.

💰

Price Harmony

Detects pricing drift between Autotask contract services and QuickBooks/Xero invoice line items. When the price you're charging doesn't match the price in the contract, Price Harmony flags it with a mismatch alert. Apply target prices across all affected customers in bulk. This has caught billing mistakes worth thousands.

📅

Microsoft Graph Calendar

A visual calendar view pulling Outlook calendar data via Microsoft Graph. See team availability, schedule meetings, and find available time slots across multiple staff members. Drag to resize events, week and day views, and utilisation stat cards showing how each team member's time is allocated.

📝

Staff Management

Link WordPress users to Autotask resources with role assignments. Create staff accounts from Autotask resource records with one click. Welcome emails with portal links and password setup. Staff roles (technician, manager, finance) control what data each team member can see in the portal.

📧

Invoice Emails

Branded invoice notification emails sent automatically when accounting bridge invoices are synced. Customers receive a professional email with invoice summary and a direct link to view and pay in the portal. Reduces the "I didn't get the invoice" conversations to zero.

📊

Labour Rates

Sync labour rates from Autotask and use them across quotes, contracts, and the claims system. Configurable per-role hourly rates feed into overtime calculations and quote line items. One source of truth for what each role costs and charges.

📃

History & Audit Trail

A complete administrative history showing every significant action: contract signed, quote approved, service change applied, claim processed, sync completed. Searchable and filterable with date ranges. The audit trail covers both customer-facing and admin actions for full operational visibility.

Lines of Code
Platform Integrations
Onboarding Stages
M365 Health Checks
Claim Types
PHP Files
Database Tables
Graph API Permissions
"MSP Hub is the reason I built the whole ecosystem. The portal, the invoicing, the authentication, they all exist because customers needed self-service and nothing on the market did it properly for Autotask MSPs."

Part of the Ecosystem

MSP Hub requires AJT Stripe Pro for billing and portal infrastructure, and is built to run inside the GLASS admin shell. The Robot AI assistant provides 50+ tools that query MSP Hub data, and Microsoft Teams integration posts ticket updates and approval requests as interactive Adaptive Cards. Every plugin shares the same security model, encryption layer, and design language. Back to the full ecosystem →

Want to Work Together?

I'm always interested in challenging WordPress architecture problems. If you need a plugin built properly, let's talk.
Get in Touch