What happens when your MSP client calls at 11pm
A client calls your MSP's after-hours line at 11:15pm. Their email server is down. No mail in or out.
If you run a small MSP, that call goes to you personally. Or to a voicemail that nobody will listen to until 8am. Or to a call center that costs $3,500/month and reads from a script that ends with "we've logged a ticket and someone will call you back."
None of these are great. The first one burns you out. The second one makes the client feel abandoned. The third one costs more than the problem is worth for a small shop.
What clients actually need at 11pm
When an end-user calls after hours, they're not expecting you to fix the problem immediately. They're expecting two things:
- Confirmation that the right people know about it
- An approximate time frame for when something will happen
That's it. The Tier 1 call isn't about resolution — it's about acknowledgment. "I heard you. This is logged. Here's what happens next."
A human call center employee who's never touched a mail server can deliver that. So can a well-designed AI that knows your client's environment.
What I built
I spent a month building NightDesk — an AI-powered after-hours triage system that does exactly what that first phone call needs to do.
A caller reaches a Twilio number. The AI answers as your branded service ("Thank you for calling Apex Technology support"), asks what's happening, collects the essentials (name, company, issue category, urgency), and creates a ConnectWise ticket — categorized, prioritized, and assigned to the right team based on your runbook.
If the issue meets your escalation threshold — server down, no email, can't access critical systems — it pages the on-call engineer via Teams, SMS, or email. Not a "ticket was created" notification. An actual page with a 3-sentence summary of what the caller said.
If it doesn't meet the threshold (printer offline, can't remember password), it creates the ticket, reads back the ticket number to the caller, and tells them a tech will call by 8am.
Why this beats a call center for small MSPs
A human call center has some advantages: it can handle weird edge cases, it sounds more "premium," and it can take credit card payments. For large MSPs with enterprise clients who pay for 24/7 SLAs, a real call center is probably right.
But for a 2-10 engineer shop doing the math on $3,500/month for after-hours coverage? The arithmetic doesn't work. You're paying a per-call premium for service that your clients mostly don't call for at night anyway — and when they do, the call center can't actually diagnose anything.
NightDesk doesn't diagnose either. But it's $200/month, it creates better-structured tickets than most call centers, and it actually knows your runbook. If your on-call policy says "escalate any server-down call between 9pm and 6am," it does that correctly, every time, without needing to consult a supervisor.
The architecture (for the curious)
The backend is a standard Lambda/DynamoDB stack:
- Twilio Programmable Voice handles the inbound call
- A Lambda manages the conversation loop via TwiML
<Gather>— collect speech, send to Claude, decide what to ask next - Claude Haiku processes each turn, decides whether the issue warrants escalation, and generates the ticket description
- The ticket goes to ConnectWise via basic auth REST
- The escalation page goes to Teams (Adaptive Card), SMS, or SES depending on your runbook
The "runbook" is a JSON file per client, stored in S3. It tells the system: what qualifies as an escalation, who to page, what categories map to what CW boards, and any client-specific context (they're on Meraki, their SLA is 4-hour response, their on-call engineer is Marcus).
Per-tenant routing is a DDB table that maps your Twilio number to the right runbook. One Lambda handles all your clients; a Twilio number per client keeps them separated.
What it doesn't do
NightDesk is strictly triage. It does not:
- Diagnose or troubleshoot the issue
- Access the client's systems
- Give the caller technical advice
- Make promises about resolution time that you haven't pre-authorized
Those guardrails are intentional. The job of after-hours triage is to capture the signal accurately and route it correctly — not to solve the problem. Solving the problem is why your engineers exist.
If you need the AI to actually do things in the client's environment, that's a different product (and a different risk profile). NightDesk is a better voicemail, not a replacement for your engineering team.
NightDesk is in limited beta. If you run a small-to-mid MSP and want to try it, reach out at chester@cwfrazier.com. First three MSPs get a 60-day pilot at no cost in exchange for a case study.