Tools provided
Tools the agent exposes — your AI client calls them automatically when it needs them.
- read_sla_standing — Report where each ticket stands against YOUR SLA target: minutes actually remaining, minutes already past, and which targets are breached — ordered by time left, most overdue first. No risk score and no severity label: the tool this replaces ranked by thresholds of 0.85/0.6/0.4 that nothing measured chose. A priority you gave no target for is named as not read, never counted as healthy.
- check_source_answers — Decide whether a retrieved article actually ANSWERS the customer's question, or whether the ticket must escalate. Reports which of the question's own words each source contains and which it does NOT — no relevance score and no ranking, because a score over two pieces of text is a threshold somebody chose. Naming the missing words is what lets you see in a glance whether the gap is a synonym or the whole subject.
- read_thread_state — Read a support thread and say WHOSE MOVE IT IS, what each side committed to, and whether anyone claimed it was resolved — every answer quoting the message it came from and the phrase that matched. A resolution claim is reported together with anything AFTER it that disputes it, so a ticket closed under a customer who came back is visible rather than filed as done. No sentiment label, no confidence figure: it reports the phrases the customer actually used, located, and lets you read them.
- read_incident_impact — After an incident: what it cost each account in uptime, whose contract it breached, and what is owed. Uptime, breach and credit are arithmetic over the figures YOU supply — including the service-credit schedule, which this tool deliberately does not carry, because what a company owes a customer is written in that customer's agreement and not in a tool. An account whose credit cannot be computed is named as OWED AN ANSWER and excluded from the total, never folded in as $0.
- check_policy_eligibility — Decide whether YOUR written policy permits this request, cite the clause that says so, and name the next move (approve / deny / request_info / escalate) as a restatement of that verdict. The policy is an input: this tool carries none, so a reason no clause covers comes back NEEDS REVIEW with an EMPTY basis rather than an approval nobody can point at. An unverifiable window is never a denial, and two reasons whose clauses disagree are reported rather than settled by keyword count.
- classify_ticket — Say what KIND of ticket this is — including whether it looks like a defect — from the words it actually contains, quoting them. Every matched category is reported: a ticket can be a double charge AND a 500, those go to different teams, and the tool this replaces settled it by keyword count. The queue and priority come from YOUR routing map and are cited to it; with no map, the category is still named and the ticket is reported unrouted.
- find_content_gaps — Say what customers are asking that nothing you have written answers. For each ticket it reports the article sharing the most of its words, which words those are and which the article lacks — then COUNTS what the unanswered tickets have in common, which names the article to write. No similarity threshold, no deflection score and no savings estimate: the tools this replaces multiplied eleven invented constants into a dollar figure.
- run_full — Run every capability you supplied the input for, in registry order, and return one report. Capabilities whose input is missing are listed as skipped with the fields they need — never run against a fixture and never reported as zero.
- list_capabilities — List what this agent can do: every tool it advertises, what each one is for, and the arguments each one reads. Useful for discovery before the first call.
- plan_inputs — Plan the inputs for a tool: returns the questions to ask, the JSON schema of the arguments, and a ready-to-edit example. Every argument it names is an argument the tool actually reads.
- discover_intent — Understand your goal and co-design the exact input through clarifying questions before anything runs.
- open_form — Use this the moment the user wants to run this agent on their own input. It opens an interactive form that collects the run arguments. Do NOT check credentials, do NOT ask clarifying questions in chat, and do NOT run any analysis before calling this — the form is the entry point for running the agent.
- run_form — Internal: invoked by the open_form form when the user submits. Reads exactly the same arguments as run_full and forwards all of them. Not for direct use.