Webhook arrives
POST /webhooks/autotask/{instance-id} source autotask customer BEALE-001 subject Outlook offline at 08:01:14 BST
Idempotent. Auth verified. Queued in 12 ms.
Ops AI reads new tickets and alerts, runs your SOPs across Autotask, Datto RMM, IT Glue, Pax8, UniFi, Datto EDR, and Microsoft CSP, and only escalates when a human needs to decide. Every action is logged. Every write is gated.
14 days · no card needed
Triage: "Outlook offline for Beale & Co."
Autotask · 4.2s · 1,280 tok · £0.012
SOP: New starter · Horizon Legal
IT Glue · 8 steps · 12.8s
Alert: Datto EDR — ransomware signature
Escalated · awaiting approval
Enrich: Pax8 license check — Microsoft 365
Pax8 · 1.6s
Plugs into the tools you already use
Autotask PSA
PSA
Datto RMM
RMM
IT Glue
Docs
Pax8
Marketplace
Microsoft CSP
Cloud
UniFi
Network
Datto EDR
Security
The problem
Service desk work follows patterns. You already know what to do. The problem is getting those patterns out of engineers' heads and into something that runs at 2am, the same way, every time.
Password resets, new-starter setups, printer offline, license expiries. Tickets that follow a known pattern, handled by engineers you can't bill at that rate.
Your SOPs live in SharePoint, Confluence, and your best engineer's head. When they're off, the SOPs aren't running. When they leave, the SOPs leave too.
To triage one ticket an engineer needs Autotask, RMM, IT Glue, CSP, Azure, and the customer email. You can't automate what your tools can't reach.
How it works
A webhook triggers an agent. The agent pulls context from your vendors, runs your SOP, and hands off to a human when it can't close the loop on its own.
Autotask, Datto RMM, Datto EDR, or any custom source sends an event.
Classifies. Enriches from IT Glue, Pax8, Microsoft CSP, UniFi. Decides.
Executes the scripted steps — visual DAG, branching, approvals where you want them.
If the SOP can't close the loop, the ticket routes to a human with full context attached.
Anatomy of a run
Beale & Co. report Outlook is offline at 08:01. Here's what Ops AI does next — webhook to audit, no humans needed.
Webhook arrives
POST /webhooks/autotask/{instance-id} source autotask customer BEALE-001 subject Outlook offline at 08:01:14 BST
Idempotent. Auth verified. Queued in 12 ms.
Agent triages
tool · csp.tenant_lookup
tenant=beale-co · status=healthy
tool · azure.service_health
incident · Exchange Online
Classified: external incident, not customer fault.
SOP runs
Audit log
run_id r_4a8f2d
ticket BEALE-T-1981
tools 3 · tokens 1,280
cost $0.012
outcome closed_no_human
Append-only. Retained 7 years. Exportable.
Illustrative. Real runs in your tenant carry your customers, your SOPs, and your approval policy.
See the real thing
From a live demo tenant. Customers and data are illustrative; the product is exactly what you'd see on day one.
What's in it
Ops AI is a runtime for your SOPs, a mapping layer for your customers, and an agent framework with tools that speak your vendors' APIs directly.
Visual DAG editor. Branching. Loops. Dry-run any SOP against a real historical ticket before you ship it.
300+ vendor-specific tools across 7 vendors. Not a generic chatbot with an MSP skin — tools that do Autotask, RMM, and CSP things.
Resolve a single identity across Autotask, RMM, CSP, and your docs. One customer — one view — even when vendors spell the name differently.
Deterministic, idempotent retries. When a run fails, replay it with one click. No duplicate tickets. No side-effects.
Every run shows tokens, seconds, and cost. Find the expensive SOPs before they find your P&L.
Every write gated unless explicitly auto-approved. Policy per SOP, per vendor, per customer. Safe by default.
Illustrative scenarios
Three illustrative MSP shapes — your shape, volume, and SOP coverage will land you somewhere different.
Small specialist · 8 engineers
Manchester MSP, ~120 tickets/wk. Autotask PSA, Microsoft 365- and endpoint-heavy work for legal and financial-services clients.
We stopped writing the same 'have you restarted Outlook?' reply five times a day. The team lead got their afternoons back.
Multi-region · 26 engineers
London/Dublin MSP, ~480 tickets/wk. Datto EDR + RMM heavy. Pax8-driven licensing across ~60 customers.
EDR alerts now arrive with the answer drafted. The on-call engineer approves or rejects — they don't research from scratch at 02:00.
Growing · 5 engineers
Leeds MSP scaling from 60 to 140 tickets/wk across two quarters. New-starter SOPs, UniFi networks, Autotask.
We're hiring for the work we want to do, not the work we keep doing. The founder sleeps better.
Illustrative scenarios — not measurements from named customers. Numbers vary by stack, volume, and SOP maturity.
What to expect
Illustrative scenarios. Real-time numbers live inside your dashboard once you're connected.
Closed by an SOP without a human touching the ticket.
Webhook to first triage step, median.
Active SOPs — patching, onboarding, incident response.
Every destructive write — ticket, password, reboot — passes through an approval gate.
Illustrative — not measured customer data. Your dashboard shows your tenant's real numbers from day one.
A morning in detail
Every action shows the vendor, the SOP, the cost, and the outcome. When a human is needed, the ticket arrives with full context.
Illustrative scenario. Your timeline will look different.
Morning timeline
Mon 07:00 – 09:00 · shift T-0
Ransomware signature on BEALE-LT-014 — endpoint isolated, ticket opened with full IoC context.
"Outlook offline" — diagnosed via connectivity check, customer notified it was an Azure incident.
Microsoft 365 E3 licenses at 95% — proactive ticket created for Horizon Legal before seats ran out.
Password request from verified user — retrieved from IT Glue behind an approval gate and handed to the engineer on the ticket.
Client offline at branch site — SOP ran remote reboot, client came back, ticket auto-closed.
Critical patch available — scheduled for tonight's maintenance window, customer approval received.
Built for engineers
Every SOP is a versioned, diffable definition you can inspect step by step. Every agent run is callable from your scripts, your IDE, or your AI editor. No low-code lock-in.
Full SOP spec, integration tools, and MCP reference live inside your tenant from day one.
v12 · diff against v11 · roll back to any revision
{
"mcpServers": {
"msp-ops": {
"type": "http",
"url": "https://app.msp-ops.ai/mcp/<your-workspace-slug>/message"
}
}
} Authentication uses the built-in OAuth 2.1 flow — your MCP client registers itself and signs in on first connect; the exact URL for your tenant is shown in-app.
Security at a glance
Tenant-scoped Postgres. Single-region hosting. No cross-tenant data sharing.
Every write needs a human or an explicit policy. Reads can't damage anything.
Seven-year retention. Never edited. Every tool call, every input, every output.
Your tickets, customers, and SOPs never enter a training set. Ever.
Get started
14 days, no card, full Professional features. Sign up with Microsoft and have your first SOP running this week.