Most MSP platforms either have no client-facing portal, or they have a generic "submit a ticket here" page that's clearly not yours. Morton Command Center includes a full white-label portal — separate subdomain, separate bundle, separate auth — that lives on your domain, shows your logo, and exposes exactly the features you decide to share with each client. Nothing more, nothing less.
Branded, white-label, per-tenant
- Lives at
portal.yourdomain.com(or whatever subdomain you pick) — not a shared marketing page. - Your logo at the top, your gradient colors throughout, your contact info in the footer.
- Customers create their own logins (passwords, magic links, or Google sign-in) or you pre-create user accounts and email them invites.
- Multi-company portfolio support — clients who manage IT for multiple sub-companies switch between them with a picker.
Per-feature operator toggles
Settings → Customer Portal exposes 25+ granular feature toggles organized into 9 tab groups: Overview, Work, Maintenance, Security, Backup, Invoices, Contacts, Licenses & Renewals, Email Preferences. Each toggle controls a specific card. Disable the parent tab to hide every card under it. Roll features out to high-tier clients before low-tier clients by leaving the toggle off until you're ready.
- Overview — monthly bill summary, active services count, open tickets count, contract terms.
- Work — included vs billable work breakdown with per-ticket status + hours.
- Maintenance — automated fixes from RMM (patches applied, devices brought back to healthy).
- Security — Huntress MDR / ITDR / SIEM / SAT card, vPenTest pentest status, Datto SaaS Protection compliance.
- Backup — on-prem backup status, Microsoft 365 cloud backup sync state.
- Invoices — recent QuickBooks billing history, payment terms.
- Contacts — role-based contact roster (primary, backup, purchase approvers) the client can edit.
- Licenses & Renewals — M365 license counts, renewal dates, expiration warnings.
- Email Preferences — client manages their own opt-in/out for automated reports and marketing.
Scope-enforced data isolation
Every API call from the portal is scoped server-side to the customer's company IDs. A client can't fetch another customer's tickets even with a direct URL hit — the JWT carries the company scope and the API enforces it. Multi-company portfolio customers see only the companies in their portfolio.
Honest limits
- Subdomain hosted on Cloudflare — embedding the portal in a customer's own domain via reverse proxy is possible but not standard.
- Invoices tab requires QuickBooks integration — native-only tenants see an empty state.
- M365 license sync is asynchronous — license changes in Microsoft 365 surface in the portal within 15-30 minutes, not instantly.
- Self-service ticket submission is per-tenant — by default routes into the configured PSA; if you want clients to file tickets via the portal, that goes through your PSA's customer-facing endpoint.
Pricing
Flat monthly pricing — no per-seat fees, no per-vendor surcharge. See current pricing on the homepage →
Ready to talk?
The first call is a 30-minute discovery — we map which features you'd want to expose to clients on day one, which tiers see what, and whether you'd run the portal on a sub-domain of your existing site or a new one. No commitment, no sales pressure.
Questions first? Email [email protected] or read the FAQ.