AuralisDocs
Tools reference

e-automate lookups

Read the dealer's own e-automate records: accounts, machines, contracts, meters, open calls, orders and items.

For a workspace connected to a dealer's e-automate system, these tools let an assistant look up who is calling, which account a ticket belongs to, what machines the account has, whether a machine is under contract, what its meters read, what is already open or on order, and which supplies it takes. Every one only reads. To file something, see e-automate filing.

ToolWhat it doesRole neededChanges data?
esn_enabledWhether e-automate is available here, what it may do, and why notviewerread-only
esn_statusWhat this ticket has already produced in e-automateviewerread-only
esn_accountThe e-automate account this ticket belongs toviewerread-only
esn_searchSearches customers, contacts, equipment, serials and itemsviewerread-only
esn_identify_callerA phone number in, a person and an account outviewerread-only
esn_customer_detailAn account's record, by its e-automate numberviewerread-only
esn_customer_equipmentEvery machine at an account, with its key operatorviewerread-only
esn_fleet_makesThe make of each machine at an accountviewerread-only
esn_contractsEvery contract on an account, in summaryviewerread-only
esn_sales_ordersAn account's orders, with their linesviewerread-only
esn_assetA machine and the account that owns it, from one numberviewerread-only
esn_contractThe contract covering one machine, and its metersviewerread-only
esn_metersThe current reading on each of a machine's metersviewerread-only
esn_meters_dueThe meter readings e-automate expects on a machineviewerread-only
esn_open_callsService calls already open on a machineviewerread-only
esn_open_ordersSupply orders still open on a machineviewerread-only
esn_related_itemsThe supplies a machine takes, for this accountviewerread-only
esn_ticket_service_callsThe service calls in e-automate for this ticket's customerviewerread-only
esn_item_lookupTurns the number on a box into the dealer's own itemviewerread-only
esn_itemOne dealer item, by the dealer's own numberviewerread-only
esn_call_typesThe dealer's service-call typesviewerread-only
esn_unassigned_technicianWhere a call with no engineer assigned landsviewerread-only

Source: the esn_* entries in _TOOLS and their handlers in services/runtime/src/runtime/mcp/tools.py. Each tool calls the HTTP route named in its handler, in services/runtime/src/runtime/api/esn.py or services/runtime/src/runtime/api/esn_reads.py.

These tools send the client no read-only hint. Each one reads and only reads.

How these tools are described

Each tool's description is the first paragraph of its HTTP route's own documentation, and its input schema is generated from the route's own request model. So the tool and the route cannot disagree about what is accepted, and a field the route does not know is refused by name. Some descriptions name the e-automate operation behind them, such as GetCustomerEquip.

Source: _esn_read_spec, _esn_schema, _esn_body and _first_paragraph in services/runtime/src/runtime/mcp/tools.py.

What they need

  • A connected dealer. A workspace that holds no e-automate credential is refused with esn_not_connected.
  • To be in the connection's audience. An admin can limit a connection to certain teams or people. Anyone outside is refused with esn_not_permitted, and esn_enabled tells them e-automate is not available.
  • When e-automate declines or does not answer, the refusal is an identifier and whether it is worth retrying. e-automate's own error text is logged, never returned.

Source: the module notes and refusals in services/runtime/src/runtime/api/esn_reads.py.

Inputs

All inputs are short strings, at most 64 characters, unless noted.

ToolRequiredOptional
esn_enablednonenone
esn_statusticket_idnone
esn_accountticket_idasset_ref
esn_searchquery (1 to 128 characters)none
esn_identify_callerphone (3 to 64 characters)include_local (default false)
esn_customer_detail, esn_customer_equipment, esn_fleet_makes, esn_contractscustomer_numbernone
esn_sales_orderscustomer_numberorder_number, order_type
esn_assetidentifiernone
esn_contract, esn_related_items, esn_open_orders, esn_meters_dueequipment_number, customer_numbernone
esn_metersnoneequipment_number, serial, make, model
esn_open_callsequipment_numbernone
esn_ticket_service_callsticket_idnone
esn_item_lookupnumbernone
esn_itemitem_numbernone
esn_call_types, esn_unassigned_techniciannonenone

Source: the request models named in each _esn_read_spec call in services/runtime/src/runtime/mcp/tools.py.

Per-tool notes

  • esn_enabled is answered per person, not just per workspace, and costs no call to e-automate when the workspace has no connection. Over MCP it can return an answer cached for a short time.
  • esn_status answers from the helpdesk's own records of what this ticket has filed, from every channel. It does not ask e-automate.
  • esn_account returns the account the ticket is linked to. When the ticket text matches more than one account, the call is refused rather than guessing; pick one with esn_search and record it with esn_pick_customer.
  • esn_search covers what its name suggests: customers, contacts, equipment, serial numbers, and items by manufacturer number, barcode or serial. It stores nothing. complete is the only signal that the list is the whole answer, and searched and failed say which searches ran and which broke.
  • esn_identify_caller ignores seven-digit local numbers unless include_local is true, because a local number can belong to another area code.
  • Stored answers. esn_account, esn_customer_equipment, esn_contract, esn_contracts, esn_meters, esn_open_calls and esn_related_items answer from the helpdesk's stored copy when it has one, and ask e-automate only when nothing is stored. Over MCP there is no way to force a fresh read; the answer says when it was fetched under read.
  • esn_open_orders shows supply orders on the machine wherever they were placed: this helpdesk, the dealer's own desk or a portal.

Source: the route docstrings for esn_enabled, esn_status, esn_account and esn_search in services/runtime/src/runtime/api/esn.py, and IdentifyRequest and the module notes in services/runtime/src/runtime/api/esn_reads.py.

Sandbox mode

When the workspace is in sandbox mode (the practice setting), a lookup that finds nothing, such as a machine not on file or an unknown company, can be answered with the practice customer and one of its machines instead of a refusal, so a demo or training run works without real identifiers. A lookup that fails because e-automate is down is still reported as an outage.

Source: the module notes in services/runtime/src/runtime/esn/practice.py.

On this page