Service Skills

The service-side AI skills — triage cases, see full customer history, draft replies.

Service Skills

HotCRM does not ship an assistant of its own. It ships skills — packaged AI abilities that attach to the platform assistant (ask) that every ObjectStack environment already provides. When a service agent opens the assistant panel on a case, the skills below are what it knows how to do.

Where the personas went. Earlier versions of this page described a "Service Copilot" agent. HotCRM no longer defines its own agents: the same capability now lives in skills registered through src/skills/, and the platform assistant selects among them. Nothing was lost — the wiring moved from an app-owned agent to the platform one.

Who it's for

  • Service agents — front-line case handlers.
  • Support managers — case routing and SLA compliance.
  • Knowledge managers — flagging gaps in the support knowledge base.

How a skill gets picked

Case Triage declares crm_case as its record context, so it activates the moment an agent asks a question while viewing a case. Customer 360°, Email Drafting, and Live Data carry no context restriction and are available everywhere.

The service skills

1. 🚦 Case Triage

Ask the assistant to triage a case and it analyses:

  • The subject and description — and, within triage's reach, the only place a product shows up at all. The case itself carries no product: crm_case has no product field under any name and no lookup to crm_product, which hangs off Opportunity Line Items and Quote Line Items instead. Whatever the customer wrote about a product, triage reads as text here.
  • The customer's profile — the account's Customer Tier and the Contract Value, which the triage rubric weighs first. How long they have been a customer is not weighed, and could not be: crm_account has no customer-since field under any name, and the closest real date sits on the contract (Signed Date).

It returns:

  • Suggested priority (Low / Medium / High / Critical) with the one reason that drove it, citing the case ID and the field values it read. After tier and contract value, the rubric weighs whether the customer is blocked with no workaround, how long the case has been open against the SLA matrix, and the sentiment of the latest customer message.
  • A pointer to the right next action — Escalate Case with a ready-to-paste reason, or Close Case with a resolution summary.

What triage does not do. Three abilities this page used to list are outside the skill, and it is worth saying where each one actually lives:

  • Historical cases, and matching knowledge articles. Triage declares exactly two tools — describe_object and get_record. get_record fetches one record by ID and the skill has no query tool at all, so it cannot pull the account's or contact's other cases and cannot search for articles. Customer 360° below is the skill that carries query_records: it reads crm_case and crm_knowledge_article, so ask it for the history and the article matches.
  • A suggested category. Triage assigns a priority and stops there. Case Type stays a field a person sets on the case, and its real options are Question, Problem, Feature Request and Bug — there is no Billing type.
  • A draft first reply. The skill hands the customer-facing reply to Email Drafting (section 3 below) by name rather than writing it itself. Ask for the draft as a second question and that skill takes it.

Agents accept, edit, or reject each suggestion individually. The skill never changes the case on its own: it hands off to the same escalate_case / close_case actions an agent would click.

2. 🔭 Customer 360°

On any case, ask "Give me the customer's history" and you get:

  • The people — the account's contacts, primary contact first.
  • Open cases — the account's cases where is_closed is false, newest first. Closed cases are not listed row by row; the case count by status comes from aggregate_data, which is what makes "the 3rd time this quarter" countable.
  • Active opportunities — open deals with stage, amount and close date, so the agent knows whether they are talking to a customer mid-purchase.
  • Matching knowledge — published crm_knowledge_article records, matched on the category or tags of the cases it just read.

The answer comes back in three sections — Account Snapshot · Active Work · Risks & Notes — with record IDs cited inline (CASE-01234, KA-0007) so the UI can deep link. A risk has to name its record and the signal behind it: an escalated case, a close date already past, a deal with no activity in 30+ days.

What Customer 360° does not pull. Contract status (what they bought, when it expires, the support tier they are entitled to) and last touchpoints (recent emails, calls, meetings) are not in the skill's instructions, and neither is a churn or satisfaction roll-up. This is a narrower miss than the triage one above: the skill does carry query_records and could reach crm_contract, crm_event and crm_task — it is simply not told to read them, and widening what a skill reads is a product decision rather than a documentation one. Until then, read those from the account's own related lists; the one health signal the skill does report is the escalation, cited from the case record.

This is the difference between "I see this is your first case" and "I see this is the 3rd time you've hit this issue this quarter — let me escalate."

3. ✍️ Email / Reply Drafting

The same Email Drafting skill the sales side uses will draft customer replies tuned for service tone:

  • Acknowledgment"We've received your case and are investigating."
  • Asking for more info — bug reproduction steps, screenshots, logs.
  • Workaround — a quick fix while the bug is in the queue.
  • Resolution — explaining what was done.
  • Closure — confirming everything's resolved.

A draft is grounded in the records the skill reads — the contact, plus the related account or opportunity when the request names one — and not in knowledge articles. Nothing in the drafting instructions reaches for an article, so no draft cites one; when a reply should quote one, take the article Customer 360° matched above and paste it in. Nothing is sent automatically either: the skill shows the draft and points at Send Email on the contact record, where a person reviews and sends.

4. 🔄 Live Data

Every service skill composes on Live Data: the assistant re-reads the case object's schema before answering, so a field an admin added this morning is usable this afternoon. See Live Schema (Wow #1).

Tips for agents

  • Triage every new case — it's one question and saves you sorting/routing time.
  • ✅ Use Customer 360° before any phone call — it hands you the open cases, the live deals and the matching articles. The contract is not among the objects it reads (see What Customer 360° does not pull above), so when the call turns on Contract Type or Contract Value, open the account's contract record for those.
  • Trust but verify the articles Customer 360° cites (KA-0007) — it matches them on the category or tags of the cases it just read, which is a starting point rather than a verdict. Open the article and confirm it fits before you quote it in a reply.

Tips for managers

  • ✅ Track how often the priority triage suggests is the one that sticks — that priority and the escalate/close pointer are everything it returns. A high override rate points at the rubric and at the case data it reads; it says nothing about your knowledge base, which triage never touches. The knowledge-gap signal is the knowledge managers' tip below.
  • ✅ Look for patterns of repeated cases during deflection meetings — they reveal product issues.

Tips for knowledge managers

  • ✅ When Customer 360° matches no published article to a case's category or tags, that's a knowledge gap — review these to identify new articles to write. Triage never searches for articles, so the signal comes from asking Customer 360° for the customer's history, not from triaging the case.
  • ✅ Articles cited frequently are your highest-value content — keep them updated.

Limits

  • Skills respect sharing rules — they only see what the agent can see.
  • They won't close cases or mark them resolved without explicit agent action.
  • Skills declare no bespoke tools: every state change goes through a real HotCRM action, so the same permission checks apply as when an agent clicks the button.

See Skills for the full skill spec and Knowledge Bases for what the assistant can and cannot do with a knowledge article.

On this page