Zudo Works

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

ToolNeedsReads
get_form_record, query_form_recordsforms.readCustom records with fields by label, inline and form-backed subform rows, lookups as titles, records linking to it
list_customers, list_vendorssales.read / purchasing.readNames, terms, notes — never contact details
get_sales_order, get_purchase_ordersales.read / purchasing.readOne document with its lines
list_bomsbom.readBOMs with components, quantity per, scrap %
list_stock_movements, get_item_history, get_stock_valuationstock.readMovements, one item's ledger, stock value by type / warehouse
list_shipments, list_invoices, get_receivables_ageingsales.readDeliveries, invoices + summary, what customers owe by age
list_vendor_bills, get_payables_ageingpurchasing.readBills, what you owe by age
get_profit_and_losssales.read + purchasing.read§55
list_leads, list_opportunitiessales.readCRM and the pipeline
list_quality_recordsjobs.readInspections, NCRs, CAPAs
list_workflows, get_workflow_functionworkflows.manageRules and functions with their full steps
list_dashboards, list_datasetsdashboards.readWidgets (ids, colours) and the columns charts can use
propose_report (proposes)dashboards.manage + ai.proposeA 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_snapshotai.useA daily briefing from whatever the role may see
search_guideai.useThis guide — "how do I …" answers
global_searchai.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_recordai.useOne record by its 12-digit record ID (or UUID), its data and its related records
get_related_recordsai.use + the record's permissionWhat 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_accessusers.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

What it fills in and proposes

ToolNeedsResult
prepare_formai.prefill + the form's write permissionA filled-in form you open and save (SOP-21)
propose_chart, propose_layout_changedashboards.manage / settings.manageAs in §53
propose_dashboard, propose_widget_style+ ai.proposeA new dashboard with coloured widgets; a widget's colour, title or chart type
propose_record_updateai.changes + the record's write permissionWaits for an owner with approval questions (SOP-22)
propose_workflow_functionworkflows.manage + ai.designNew steps for a function — owner + approval questions
propose_form_designforms.design + ai.designNew form, renamed form, new / changed fields, custom fields on a built-in form (live preview)
propose_sidebar_changesettings.manage + ai.designForms / 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 / pathNotes
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/applyBody { answers: { reason, confirm, reviewed: true } } for data changes and functions (owner); 422 ai_approval_required otherwise
POST /api/v1/ai/chatAlso takes context: { path, title? }

Last updated