|
| 1 | +<!-- |
| 2 | + Community-facing overview of the AI Assistant / AI Ticketing feature set. |
| 3 | + Intentionally vendor-neutral: no company, customer, or deployment specifics. |
| 4 | + Drop screen recordings into docs/media/ and they will animate inline on GitHub. |
| 5 | +--> |
| 6 | + |
| 7 | +# 🤖 Pi AI for Tactical RMM — your RMM just grew a night shift |
| 8 | + |
| 9 | +> **What if your RMM didn't just *tell* you something broke — but investigated it, fixed what it safely could, opened a properly-attributed ticket in your helpdesk, updated the customer, and handed your techs a clean, deduplicated queue every morning?** |
| 10 | +
|
| 11 | +That's this. It turns Tactical RMM from a monitoring dashboard into an **autonomous, self-documenting AI teammate** that works across your entire fleet — 24/7, unattended, and under your control. |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +## 🎬 See it in action |
| 16 | + |
| 17 | +<!-- Record 10–20s screen captures and drop them here; GitHub auto-plays .gif --> |
| 18 | +| | | |
| 19 | +|---|---| |
| 20 | +| **Right-click a device → talk to it** |  | |
| 21 | +| **Scheduled fleet checks that only ticket real problems** |  | |
| 22 | +| **Auto-drafted helpdesk integration (two boxes, one AI)** |  | |
| 23 | +| **Client/Site "AI History" review across every machine** |  | |
| 24 | + |
| 25 | +*(No GIFs yet? The written walkthroughs below stand on their own.)* |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## 🧠 The problem every MSP/IT team lives with |
| 30 | + |
| 31 | +- Alerts fire at 2AM. A human still has to log in, diagnose, decide, and write it up. |
| 32 | +- The same issue generates **five duplicate tickets** by morning. |
| 33 | +- Tickets land on the **wrong contact** (or a `noreply@` address), so nobody can route them. |
| 34 | +- "All good" checks generate noise; real failures get buried. |
| 35 | +- Every helpdesk/PSA has a different API, so "just integrate it" is a project. |
| 36 | + |
| 37 | +**Monitoring finds problems. This closes the loop from _detection → diagnosis → ticket → customer comms → clean queue_.** |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## ⚡ What it actually does |
| 42 | + |
| 43 | +### 1. An AI that *operates* devices — not just chats |
| 44 | +Right-click any device → **Pi.dev** → a chat scoped **only** to that machine. It has real, gated shell access through the agent: |
| 45 | +- Reads logs, checks services, inspects disks/processes, runs diagnostics. |
| 46 | +- Proposes fixes and — with **approve/deny** on every action — runs them. |
| 47 | +- Read-only mode, per-role write permissions, and a global **kill switch** for spend. |
| 48 | + |
| 49 | +### 2. Unattended fleet checks that respect your attention |
| 50 | +Schedule an AI task ("check this UniFi controller nightly") or fan one prompt across **hundreds of machines** ("verify every backup ran"). Each run investigates and returns a verdict — **and only bothers a human when something is actually wrong.** |
| 51 | + |
| 52 | +Real-world checks teams run today: |
| 53 | +- 🖧 **Network/UniFi health** — orphaned devices, bad uplinks, WAN outages. |
| 54 | +- 💾 **Backup verification** — every job on every server actually succeeded and is recent. |
| 55 | +- 🗄️ **Storage/ZFS health** — degraded pools, failing disks, capacity. |
| 56 | + |
| 57 | +### 3. Tickets done *right*, automatically |
| 58 | +When a check finds something actionable, it opens a ticket in **your** helpdesk with the stuff humans always get wrong: |
| 59 | +- ✅ **Correct customer** — resolved by closest-match, with a safe internal fallback that flags "unmatched" instead of guessing. |
| 60 | +- ✅ **No duplicates** — a recurring issue **updates and escalates** the existing ticket ("still failing after N checks — needs action now") instead of spawning new ones. |
| 61 | +- ✅ **Auto-reopen** — if a closed ticket's problem comes back, it reopens with an explanation. |
| 62 | +- ✅ **One combined report** for everything that's healthy (a single "all-green" summary), and **individual tickets** only for real failures. |
| 63 | +- ✅ **A deep link to the device** right in the ticket — a logged-in tech clicks straight to it. |
| 64 | +- ✅ **Customer-safe replies** — the AI writes as a tech, and is hard-blocked from promising schedules, dispatch times, or inventing facts. |
| 65 | + |
| 66 | +### 4. Works with *any* helpdesk — defined in settings, not code |
| 67 | +Two boxes in Global Settings: |
| 68 | +- 📝 **Policy** (plain English): *when* to open/reply/note, and *which* operations to call. |
| 69 | +- 🧩 **Integration code** (`helpdesk.js`): the *precise* API logic for your system. |
| 70 | + |
| 71 | +Swap from one PSA/helpdesk to another by editing text — **no redeploy, no fork, no code shipped for your specific vendor.** The API key stays server-side and is never exposed to the model. |
| 72 | + |
| 73 | +### 5. 🪄 "Use AI to Help Create These" |
| 74 | +Don't want to write that integration? Click one button. The AI **interviews you** about your helpdesk (product, API style, auth, how you create/search/reply to tickets), then **drafts both boxes for you** to review and apply. Setup goes from "developer project" to "five-minute conversation." |
| 75 | + |
| 76 | +### 6. Client/Site "AI History" — a manager's dream review |
| 77 | +Right-click a **client or site** → **AI History** → one screen of **everything** the AI did across **every machine** under it: chats, scheduled runs, bulk runs — each tagged with the device, who triggered it, and the outcome. Perfect for QBRs and shift handoffs. |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## 🌙 A night in the life |
| 82 | + |
| 83 | +```mermaid |
| 84 | +flowchart LR |
| 85 | + A["🕒 2:00 AM<br/>Scheduled fleet checks fire"] --> B{"Investigate<br/>each device"} |
| 86 | + B -->|"all good"| C["📄 ONE combined<br/>'all healthy' report"] |
| 87 | + B -->|"failure"| D["🎫 Individual ticket<br/>to the right customer"] |
| 88 | + D --> E["🔁 Recurring? update & escalate<br/>Closed? reopen"] |
| 89 | + D --> F["🔗 Device deep link<br/>in the ticket"] |
| 90 | + C --> G["☀️ 8:00 AM<br/>Techs open a clean,<br/>deduplicated queue"] |
| 91 | + E --> G |
| 92 | + F --> G |
| 93 | +``` |
| 94 | + |
| 95 | +Your humans wake up to a **triaged, attributed, no-duplicate queue** — and a single green report proving the rest of the fleet was checked. |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## 🔒 Built for control (because it has real power) |
| 100 | + |
| 101 | +- **Approve/deny** on every device-changing action; read-only sessions by default for "resolve" flows. |
| 102 | +- **Per-role permissions** — who can use AI, which **models** they may pick, who can let it make changes. |
| 103 | +- **Model-agnostic** — bring your own provider/key (Anthropic, OpenAI, Google, xAI, OpenRouter, or self-hosted/OpenAI-compatible). Mark a default, expose a curated catalog. |
| 104 | +- **Cost guardrails** — session limits, a fleet-wide **emergency stop**, and unattended runs that stay read-only unless you allow otherwise. |
| 105 | +- **Least privilege** — the helpdesk service account and API keys live server-side; the model never sees them, and its outputs are scrubbed. |
| 106 | + |
| 107 | +--- |
| 108 | + |
| 109 | +## 🏆 Why this is *the* feature for an RMM |
| 110 | + |
| 111 | +An RMM exists to **reduce toil and shrink MTTR**. Everything else is plumbing to that end. This feature attacks it directly: |
| 112 | + |
| 113 | +- **Detection → resolution, not detection → another alert.** The loop actually closes. |
| 114 | +- **Your queue becomes signal.** One green report + real tickets only, correctly attributed, no dupes. |
| 115 | +- **Institutional knowledge, encoded.** Your triage runbooks become prompts any tech (or the AI) runs consistently at 3AM. |
| 116 | +- **Vendor-neutral by design.** It bends to *your* helpdesk, not the other way around. |
| 117 | +- **It scales the thing you can't hire fast enough:** senior triage judgment, applied to the whole fleet, every night. |
| 118 | + |
| 119 | +**Monitoring watches. This works.** |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## 🚀 Getting started |
| 124 | + |
| 125 | +1. Add an AI provider + model in **Global Settings → Pi.dev AI** and mark a default. |
| 126 | +2. Grant roles the AI permissions they need. |
| 127 | +3. Click **"Use AI to Help Create These"** and let it draft your helpdesk integration. |
| 128 | +4. Right-click a device → **Pi.dev**, or schedule your first fleet check. |
| 129 | +5. Watch your morning queue get quieter. |
| 130 | + |
| 131 | +--- |
| 132 | + |
| 133 | +*Built as an extension to [Tactical RMM](https://github.com/amidaware/tacticalrmm). Bring your own AI provider and helpdesk — everything else is configuration.* |
0 commit comments