Multi-tenant ITSM for MSPs

Run every client,
from one console — AI included

An MSP-grade ITSM with strict tenant isolation, branded portals, clone-on-onboard provisioning — and a full AI stack (Agent Assist, RAG, multi-channel chatbot) where every call is scoped to the right client. One operator can serve fifty tenants without ever leaking one client's KB into another's draft reply.

Tenant-safe AIBYO LLMMulti-tenant by designBranded client portalsClone-on-onboardCross-client reporting
ITIL 4 alignedSelf-host or cloud
X-MSP multi-tenant view with per-client SLA bars and roll-up metrics
Highlights

What X-MSP does

Pragmatic features built for real-world teams.

Multi-tenant Architecture

Single DB with strict client isolation; switch tenants without re-logging in.

Per-client SLAs & Catalogs

Each customer gets its own SLAs, priorities and service catalog.

Clone-on-onboard

Spin up a new client with a fully-seeded copy of your template tenant in seconds.

Branded Client Portals

Subdomain + logo + theme per client; end-users see only their own data.

Cross-client Reporting

MSP operators get a roll-up view of tickets, SLAs and load across every tenant.

Role-aware Access

MSP + CLIENT realms with row-level filters baked into every query.

AI

AI that respects tenant boundaries

Every shipped AI surface scopes its RAG search, prompts and outputs to the calling client's data. The MSP operator sees everything; the AI sees only what the current ticket is allowed to see.

🔍

Agent Assist · Live

Summarise long incident threads, draft a customer reply in the client's preferred language, suggest resolutions from similar resolved tickets. Each call scoped to the ticket's tenant — no cross-client KB leakage, ever.

💬

Multi-channel chatbot · Live

LangGraph-based chatbot (classify → search → respond → escalate) on Feishu, WeChat, WeCom, YouDu and the web portal. Per-client KB grounding, sentiment-aware auto-escalation, supervisor view for the MSP operator.

🛡

Tenant-safe RAG · Live

Vector embeddings on every KB article, scoped by clientId. Semantic search at request time picks the right context for each client; cross-tenant queries are physically impossible at the query layer.

BYO LLM, per-tenant if you need it

Your client's data never touches a public model unless you choose it

Per-tenant chatbot config: pick OpenAI for one client, Anthropic for another, a local Ollama for the regulated one. Embeddings provider is separately configurable. Air-gap the whole stack with two env vars (LLM_BASE_URL, LLM_API_KEY) pointing at your local llama-cpp or vLLM. No pgvector required — Float[] in Postgres is enough up to ~100k articles per tenant.

Ready to try X-MSP?

Spin up a demo in minutes; bring your own data when you're ready.