api-patterns
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
Lead-warmth scoring from intent and engagement signals — Warmly website-visitor identification, CRM form fills and email engagement, and Calendly booking activity — using an explainable Hot/Warm/Warm-Cool/Cool tiering, plus routing recommendations based on owner continuity, CRM
$ npx -y skills add wyre-technology/msp-claude-plugins --skill warm-lead-routing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/warm-lead-routingContext preview
The summary Claude sees to decide when to auto-load this skill.
Lead-warmth scoring from intent and engagement signals — Warmly website-visitor identification, CRM form fills and email engagement, and Calendly booking activity — using an explainable Hot/Warm/Warm-Cool/Cool tiering, plus routing recommendations based on owner continuity, CRM
name: "Warm Lead Routing" description: > Lead-warmth scoring from intent and engagement signals — Warmly website-visitor identification, CRM form fills and email engagement, and Calendly booking activity — using an explainable Hot/Warm/Warm-Cool/Cool tiering, plus routing recommendations based on owner continuity, CRM routing rules, or rep capacity, and the degradation path to CRM-only signals when intent tools aren't connected. when_to_use: >- When identifying which leads are showing real buying intent right now and who should follow up on them. Use when: warm leads, hot leads, who should follow up on this lead, lead routing, lead scoring, which leads are engaged, intent signals, website visitor identification.
Most inbound lead volume is noise — a form fill from a student researching a term paper looks identical in a CRM to a form fill from an IT director who just had an outage. Warmth is what separates the two, and it comes from signals CRM stage alone doesn't capture: is this account revisiting the pricing page, did the same person book a call, did an email actually get opened. This skill combines those signals into a practical warmth score and turns that into a routing recommendation — the right rep, contacted soon enough to matter, with the reasoning shown so a sales manager can override it.
This skill is explicitly tiered: the richer the connected tool set, the more precise the scoring, but a CRM alone (no Warmly, no Calendly) still produces a usable, if coarser, read. Never treat missing intent tools as a reason to skip lead scoring entirely — degrade the signal set, not the output.
visitor and account lists, ICP filtering, and credit-burn checks belong to `warmly-visitor-intelligence`. This skill blends that signal with CRM activity into one warmth tier and a routing proposal.
or `hubspot-activities`.
| Signal source | Signal | Weight (relative) | |---|---|---| | Warmly (if connected) | Anonymous or identified website-visitor activity — repeat visits, pricing/product-page views, session recency | High — this is the earliest, least-solicited intent signal available | | Calendly (if connected) | A booked call/meeting — the strongest possible intent signal, since the lead took a deliberate action | Highest — a booking should almost always push a lead into "warm" regardless of other signals | | HubSpot (or connected CRM) form fills | A submitted form — contact info plus whatever context the form captured (use case, company size, urgency language) | Medium — real intent, but lower-effort than a booking | | HubSpot (or connected CRM) email engagement | Opens, clicks, and replies on marketing or sales sequence emails | Medium-low individually, but a rising trend (multiple opens/clicks over a short window) is a meaningful signal | | HubSpot (or connected CRM) lifecycle/lead status | Existing lead score or lifecycle stage, if the CRM tracks one | Contextual — use as a prior, not a replacement for the signals above |
Before scoring anything, call `conduit__search_tools` to determine which of Warmly, Calendly, and a CRM (typically HubSpot) are actually connected for this org. Do not assume all three — this is the skill in this pack most likely to run with partial coverage, since Warmly and Calendly are both explicitly optional enrichments per this pack's README. Scope scoring to whatever is actually live, and state which signal sources were used (and which weren't available) in every output.
Keep this explainable rather than a black-box formula — a rep or sales manager needs to see why a lead is scored warm to trust routing it.
1. **Start from a base tier using the strongest available signal:**
product page view → start at **Warm**.
**Warm-Cool** (real intent, but lower urgency than a booking or repeat visit).
at **Cool**.
routing output; this skill surfaces leads worth acting on now, not the full lead database.
2. **Adjust up or down based on secondary signals:**
form fill within the same week) moves a lead up one tier — convergent signals are more reliable than any single one.
should not be scored as fresh as one from yesterday — recency matters within a tier, not just which tier it lands in.
brand-new domain, or a company size wildly outside the org's typical client profile) can be noted as a qualifier, but should not override a strong behavioral signal — a bad-fit account that books a call is still worth a fast, brief qualifying response.
3. **Only "Hot" and "Warm" tiers get a routing recommendation** in normal output; "Warm-Cool" and "Cool" can be included in a fuller sweep if asked, but shouldn't clutter a default "who's warm right now" answer.
Once a lead clears the Warm threshold, propose an assignee:
1. If the lead is already associated with an owner in the CRM (e.g. an existing named account, or a rep already assigned to the deal/contact), route to that owner by default — continuity beats round-robin. 2. If unowned, and the CRM exposes territory, industry
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and remediation actions, and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context, and SPF/DKIM/DMARC…