Zudo AI: everything it can read, calculate, fill in and design
Permissions: ai.use to talk to it; per role the owner adds ai.prefill, ai.propose, ai.changes and ai.design (Settings → Roles, group AI). Every tool also needs the data or design permission of its page, so the assistant sees and does exactly what the role may — never more.
What it reads
| Tool | Needs | Reads |
|---|---|---|
get_form_record, query_form_records | forms.read | Custom records with fields by label, inline and form-backed subform rows, lookups as titles, records linking to it |
list_customers, list_vendors | sales.read / purchasing.read | Names, terms, notes — never contact details |
get_sales_order, get_purchase_order | sales.read / purchasing.read | One document with its lines |
list_boms | bom.read | BOMs with components, quantity per, scrap % |
list_stock_movements, get_item_history, get_stock_valuation | stock.read | Movements, one item's ledger, stock value by type / warehouse |
list_shipments, list_invoices, get_receivables_ageing | sales.read | Deliveries, invoices + summary, what customers owe by age |
list_vendor_bills, get_payables_ageing | purchasing.read | Bills, what you owe by age |
get_profit_and_loss | sales.read + purchasing.read | §55 |
list_leads, list_opportunities | sales.read | CRM and the pipeline |
list_quality_records | jobs.read | Inspections, NCRs, CAPAs |
list_workflows, get_workflow_function | workflows.manage | Rules and functions with their full steps |
list_dashboards, list_datasets | dashboards.read | Widgets (ids, colours) and the columns charts can use |
propose_report (proposes) | dashboards.manage + ai.propose | A table report over a form or a list page: columns in order, filters, default sort, grouping, buttons (export, print, set fields, link) and the sidebar section — checked against the live columns, then shown as a preview to approve (§25) |
get_business_snapshot | ai.use | A daily briefing from whatever the role may see |
search_guide | ai.use | This guide — "how do I …" answers |
global_search | ai.use (results filtered by each record type's permission) | Global search over items, customers, vendors, orders, POs, work orders, BOMs, movements, invoices, bills, shipments, CRM, quality and custom records — by number, code, name, text or 12-digit record ID; custom-record matches in fields hidden from you are dropped |
find_record | ai.use | One record by its 12-digit record ID (or UUID), its data and its related records |
get_related_records | ai.use + the record's permission | What is connected to an item (stock, BOMs, orders, POs, work orders), customer (orders, invoices, shipments, opportunities), vendor, order, PO, work order or custom record (including custom records linking to it) |
get_user_access | users.manage (owners) | What a member may see and do: role, areas, Zudo AI capabilities. Several people with the name → a list with masked e-mails (a••••@acme.com) to choose from; more than five → the assistant asks for the e-mail |
Personal data never reaches the model: e-mail addresses, phone numbers, postal addresses, profile pictures and signatures are removed (by key, by custom-field type and label) and e-mail addresses inside text become [hidden]; charts over contact columns are refused. Anything marked [hidden] can never be written back by a proposal.
The page you are on (path and title) goes with each question while the This page chip in the composer is on, so "this item" or "this order" works.
"How do I …" answers come with screenshots. For a "how do I …", "how to …" or "where is …" question the assistant searches this guide first and answers in numbered steps. When the best match is a task of chapter 62, a How to card under the answer shows that task's real screenshots (click one for full size) and Open in guide. The server picks the card from the guide itself — the pictures are always the guide's own, never a link the model wrote — and the card stays on the answer when you reopen the conversation.
What it calculates
calculate: an exact decimal calculator (no code runs): + − × ÷, powers,15%,pi,sum,avg,min,max,round,ceil,floor,abs,sqrt,pow,ln,log,exp,sin,cos,tan,pct. The assistant is told never to do arithmetic itself.list_formulas/compute_formula: 217 named manufacturing formulas in 15 groups — production and OEE, time and capacity, inventory and MRP, costing and variances, quality and capability, sheet metal, machining, welding, materials and conversions, finance, maintenance, labour, logistics, energy, sales. Each lists its inputs, units and where Zudo Works keeps that data; the result comes with the working.check_data_availability: how many records of each kind the workspace holds, and for a formula which inputs can come from your data and which you must give.forecast: revenue, confirmed sales, purchases, one item's demand (straight-line trend over whole past months with an 80 % range), or when one item runs out at its usual usage.
What it fills in and proposes
| Tool | Needs | Result |
|---|---|---|
prepare_form | ai.prefill + the form's write permission | A filled-in form you open and save (SOP-21) |
propose_chart, propose_layout_change | dashboards.manage / settings.manage | As in §53 |
propose_dashboard, propose_widget_style | + ai.propose | A new dashboard with coloured widgets; a widget's colour, title or chart type |
propose_record_update | ai.changes + the record's write permission | Waits for an owner with approval questions (SOP-22) |
propose_workflow_function | workflows.manage + ai.design | New steps for a function — owner + approval questions |
propose_form_design | forms.design + ai.design | New form, renamed form, new / changed fields, custom fields on a built-in form (live preview) |
propose_sidebar_change | settings.manage + ai.design | Forms / dashboards moved between sections; section and entry colours |
Every proposal is checked before you see it. Charts and dashboards are test-run on your data (an unknown column or an impossible sum is sent back to the assistant with the real columns, and it corrects itself); record edits pass the record's own save rules; new form names must be free. Name a chart by its title and the assistant finds it on the home dashboard or any dashboard (two charts with that title → it asks which one). A chart that does not load shows Fix with Zudo AI, which proposes a corrected chart. While a proposal is being prepared the panel shows what is being created.
Proposals for data and functions last 7 days, the rest 24 hours. Settings → Zudo AI activity lists every proposal and its outcome; owners see the whole workspace and a Waiting for approval tab.
In the panel
Fill with AI in every new-record form (items, customers, vendors, leads, quotes, purchase orders, work orders, custom records): describe the record in your words and the open form fills in with the review banner — you save it. Right-click highlighted text (outside fields and tables) to ask about it: choose a new chat, the chat that is open, or a recent one — the chosen thread's history goes with the question, so the answer follows the conversation. Tool chips use plain names (Global search, Low stock, Profit & loss …). Copy an answer, Ask again, download the conversation (Markdown), rename and search conversations, starter questions that fit the page you are on, follow-up suggestions after an answer, Ask AI buttons on page headers and on every chart (explain this chart), Ctrl / ⌘ + J.
Endpoints (new)
| Method / path | Notes |
|---|---|
PATCH /api/v1/ai/conversations/:id | { title } — rename your conversation |
GET /api/v1/ai/proposals?scope=mine\|all&status=&kind= | Activity; all for owners |
POST /api/v1/ai/proposals/:id/apply | Body { answers: { reason, confirm, reviewed: true } } for data changes and functions (owner); 422 ai_approval_required otherwise |
POST /api/v1/ai/chat | Also takes context: { path, title? } |
Last updated