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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.