OrgRelay

Standard tool names

If your tool does what a standard tool does, give it the standard name and fields. OrgRelay then routes it to the right department agent automatically, and the AI handles it the same way it handles every other connector.

Naming follows the rule in the connector spec: domain.action, lower case. The full input and output JSON Schemas are in spec/standard-tools.json in the developer kit, which you can download from the templates page.

Why the names matter

Department agents in OrgRelay only see the tools whose domain they cover. The AI Chief, which answers general questions, sees every tool the person is allowed to use. With standard names the routing happens without configuration (OrgRelay 1.4.0 or later):

Agent Domains it receives
Sales orders, customers, products, reports
Support tickets, orders, customers, products
Finance finance, reports, orders
HR hr, tasks
Procurement purchase, inventory, products
Operations inventory, orders, logistics, purchase, products, seo, content, ads, reports

The roles themselves, and what each agent is for, are described for business readers on orgrelay.com's agents page.

A second benefit: when a company connects two systems that both have orders.search, for example a WooCommerce store and an Amazon seller account, the AI can ask both the same way and compare the answers.

Conventions shared by every standard tool

  • List tools take cursor and limit and return items plus next_cursor. See pagination.
  • Money is { amount, currency }. Dates are YYYY-MM-DD.
  • Write tools return at least ok, id and message, and must honour idempotency keys. See approvals and write tools.
  • * marks a required input.

Orders (orders.*)

Tool Access Purpose Input Output
orders.search read Search orders status customer channel date_from date_to cursor limit items[order_no, status, customer, customer_id, total, channel]
orders.get read Order details order_no* order_no, status, customer, customer_id, total, channel, created_at
orders.update_status write Change order status order_no* status* reason ok, id, message

Inventory (inventory.*)

Tool Access Purpose Input Output
inventory.list read List stock sku warehouse low_only cursor limit items[sku, name, warehouse, on_hand, available, safety_stock]
inventory.adjust write Adjust stock sku* warehouse delta* reason* ok, id, message, on_hand

Products (products.*)

Tool Access Purpose Input Output
products.search read Search products keyword category status cursor limit items[sku, name, price, status, category, updated_at]
products.get read Product details sku* sku, name, price, status, category, updated_at
products.update_price write Change price sku* price* channel ok, id, message

Customers (customers.*)

Tool Access Purpose Input Output
customers.search read Search customers keyword level country cursor limit items[customer_id, name, level, country, owner, last_order_at]
customers.get read Customer details customer_id* customer_id, name, level, country, owner, last_order_at, contacts
customers.add_note write Add a follow-up note customer_id* note* ok, id, message

Purchasing (purchase.*)

Tool Access Purpose Input Output
purchase.search read Search purchase orders supplier status date_from date_to cursor limit items[po_no, supplier, status, total, eta]
purchase.create write Create a purchase order supplier_id* lines* eta note ok, id, message, po_no

Logistics (logistics.*)

Tool Access Purpose Input Output
logistics.shipments read Shipments and tracking order_no tracking_no status cursor limit items[shipment_id, order_no, carrier, tracking_no, status, last_event]
logistics.create_shipment write Create a shipment order_no* carrier service lines ok, id, message, tracking_no

Finance (finance.*)

Tool Access Purpose Input Output
finance.summary read Income and expense summary date_from* date_to* group_by rows[key, revenue, cost, expenses, profit]
finance.receivables read Receivables customer_id overdue_only cursor limit items[invoice_no, customer, amount_due, due_date, days_overdue]
finance.create_journal write Create a journal entry date* lines* memo ok, id, message

Accounting connectors such as QuickBooks Online, Odoo and Kingdee map their own reports onto these names.

HR (hr.*)

Tool Access Purpose Input Output
hr.employees read Employee list, without ID numbers or salaries department status cursor limit items[employee_id, name, department, title, status, hired_at]
hr.leave_requests read Leave requests employee_id date_from date_to cursor limit items[request_id, employee, type, from, to, status]

Salary, bank and identity data are deliberately absent. If a customer really needs them, put them in a separate tool the owner can restrict, as the security requirements describe.

Tickets (tickets.*)

Tool Access Purpose Input Output
tickets.search read Search tickets status priority assignee keyword cursor limit items[ticket_id, subject, status, priority, assignee, created_at]
tickets.create write Create a ticket subject* description priority customer_id ok, id, message, ticket_id
tickets.reply write Reply to a ticket ticket_id* body* internal ok, id, message

Salesforce maps its cases onto tickets.search, an example of a system that is not a help desk using these names.

SEO (seo.*)

Tool Access Purpose Input Output
seo.keywords read Keyword rankings site keyword date_from date_to cursor limit items[keyword, position, clicks, impressions, url]
seo.pages read Page performance site url_contains cursor limit items[url, clicks, impressions, indexed, issues]

See the Google Search Console connector for a real mapping.

Ads (ads.*)

Tool Access Purpose Input Output
ads.report read Ads report account campaign date_from* date_to* group_by rows[key, spend, impressions, clicks, orders, sales, acos]
ads.update_budget write Change budget or status campaign_id* daily_budget status ok, id, message

Content (content.*)

Tool Access Purpose Input Output
content.posts read List posts keyword status cursor limit items[post_id, title, status, url, updated_at]
content.create_post write Publish a post title* body* status ok, id, message, url

Tasks (tasks.*)

Tool Access Purpose Input Output
tasks.search read Search tasks project assignee status cursor limit items[task_id, title, status, assignee, due]
tasks.create write Create a task project title* assignee due ok, id, message

Reports (reports.*)

Tool Access Purpose Input Output
reports.sales_summary read Sales summary date_from* date_to* group_by rows[key, orders, units, sales]

Common questions

Do I have to implement every standard tool? No. Start with the read tools your users ask about most. A connector with only read tools is valid.

My system has a concept that is not listed. Use your own domain with the same rule, for example quality.inspections. Only routing to department agents depends on the standard names.

Can I return extra fields? Yes. The listed fields are a minimum.

Next

Updated (Singapore time) · OrgRelay Team