What an assistant can do
The tool catalog, so you can answer can it do X precisely, plus how filtering, sorting, and paging work.
Users never type tool names. The assistant picks tools itself. This page exists so you can answer “can it do X?” precisely, and so you know what to expect in an audit trail.
Cross-cutting tools#
| Tool | Needs | What it does |
|---|---|---|
search | read | Free-text search across every entity the caller can reach, grouped by type |
fields_describe | read | Lists the fields available on an entity, with types |
user_list | read, partner tier | Partner staff directory, used to resolve record owners by name |
Records on the organization plane#
Available to every customer. Each entity has _list, _get, _create, _update, and _delete.
| Entity | Covers | Free-text search matches |
|---|---|---|
service | Service inventory | Service IDs (all three), note |
account | Account numbers | Account number, alias, billing account name |
invoice | Carrier invoices | Invoice number, status |
contract | Contracts | Name, contract number |
location | Locations and sites | Name, address, city, short code |
ticket | Support tickets | Subject, description, provider ticket number |
project | Projects | Name, description |
connection | Network circuits | Lumen service ID, display name, location |
phone | Phone inventory | Phone number, assigned-to, extension |
Records on the partner plane#
Your firm’s own CRM, reachable only by partner staff and only when the CRM module is on.
| Entity | Covers | Free-text search matches |
|---|---|---|
company | CRM companies | Name, domain, billing email |
contact | CRM contacts | First and last name, email, job title |
deal | Deals | Name, stage, owner name |
crm_task | CRM tasks | Title, description |
note | Notes | Title, content |
quote | Quotes | Document number, secondary reference |
pipeline | Deal pipeline stages | Name. Read-only, no create, update, or delete |
Reports#
| Tool | Returns |
|---|---|
report_spend_by_provider | Total invoiced spend per provider with invoice counts, optionally bounded by date |
report_expiring_contracts | Contracts expiring within N days, 90 by default |
report_dashboard_metrics | Headline counts: services, invoices, open tickets, contracts expiring in 90 days |
Reports are a curated set, not an arbitrary query builder.
Action tools#
| Tool | What it does |
|---|---|
connection_set_bandwidth | Places a real bandwidth change order with the carrier, previewing the price delta first |
This is the only tool that reaches outside the platform. See Changing data safely.
Filtering, sorting, and paging#
Every list accepts more than free text. Nobody needs to know the syntax, because the assistant builds it from a plain description, but knowing what is possible helps you tell a user how to ask.
q: free text, matched against that entity’s search fields in the tables above.sort: any field, ascending or descending. An unrecognized field quietly falls back to the default order rather than failing.filter: a condition tree combined with AND and OR. Operators areeq,neq,contains,gt,lt,isEmpty, andisNotEmpty, plus the relative-date presetsthisMonth,lastMonth,nextMonth,thisQuarter,lastQuarter, andnextQuarter.fields: return only the columns that matter. Unlike sort and filter, naming an unknown or withheld field is a hard error, not a silent drop.createdFromandcreatedTo: bound results by creation date,YYYY-MM-DD, inclusive.limitandoffset: 25 rows by default, 100 maximum. Reports cap at 200.
There are no unbounded queries, by design.
What is held back#
Soft-deleted records are hidden. Including them requires the mcp:admin scope and exists for
merge, restore, and audit work, not for ordinary listing.
Credential fields are stripped from every read. Any field whose name looks like a secret, password, API key, access token, or private key is projected out, so an assistant cannot retrieve one even when it can read the record it sits on. A request that names such a field explicitly is refused rather than silently dropped.
Commission records are invisible. Commission tickets live on the partner commissions plane and are excluded from every organization-plane read and write.
Common questions#
Why does an assistant list a tool it then refuses to use? The tool list is identical for everyone, because it is published before any access check. Access is evaluated when a tool actually runs. So a tool for a record type the caller’s plan or role does not cover appears in the list and returns a clear refusal when called.
Can it run any report I can build in the app? No. Three reports today, listed above. For anything else, the assistant lists records and works from those, which is slower and truncates at 100 rows per page.
Related guides
- AI assistants and the MCP server What the MCP server is, who it is for, and the one rule that answers most questions about it.
- Changing data safely Every write is a preview first, which fields are refused by design, and how bandwidth change orders work over MCP.
- Getting good answers The habits that separate a useful MCP session from a frustrating one, and prompt patterns worth passing on.
Last reviewed September 3, 2026.
Something wrong or missing? Tell us or contact support.