Skip to main content

AI assistant

Assistant, at the right of the top bar (and at the bottom of the sidebar), opens a drawer where users ask questions about their data in plain language. The assistant answers by running the connectors' queries, with the user's rights.


At a glance​

Sales linesACMEBeta SARLGamma SAACMEDelta LtdBeta SARLACMEGamma SADelta Ltd✦ AI AssistantSonnet 5.5 ▾+×Page:Sales lines · filters: 2 · the clicked row ×Hello! I answer from this installation'sconfiguration and its data. Pick asuggestion or ask your question.Sum the quantities of these rows by unit▸ 2 tool callsUNITQUANTITYNorth12,400South8,150Which company sold the most?Compare with last monthSalesPeriodsWhich business unit sold the most last month?Type a message…Model pickerwhen several are allowedPage context× stops sending itTool callsfolded into one lineFollow-upsa click sends the questionStarter questionsby heading, per app or screenThe clicked rowtravels with the question

Using it​

Type a question and press Enter (Shift+Enter for a new line), or click one of the starter questions shown on an empty conversation. The answer arrives as it is written; Stop interrupts it and keeps what was received.

  • Tool calls are folded into one muted line — 3 tool call(s) — that opens to show them; a failed call keeps its message visible.
  • A table in an answer scrolls sideways, each figure on one line.
  • Each answer ends with two or three follow-up questions as chips; a click sends one.
  • The conversation stays when the drawer is closed and after a reload: the last 40 messages, on this device. + (new conversation) clears it.
  • When several models are allowed, a Model picker in the drawer's header chooses the one that answers. The choice is kept on this device.

The assistant knows today's date: last month or this quarter need no explanation.

Examples: How many open orders per company this month? — Which users have not signed in since June? — Where do I close a period?


What the page tells it​

While a data screen is the active tab, every message carries what the user is looking at: the application, the screen and its read query, the active filters, the number of rows loaded and their columns, and the row last clicked (or whose row menu was opened). This screen, these rows or the selected row need no further explanation, and the assistant runs the screen's own query when it needs more data.

On the Data Explorer page, the context is the model and the analysis on the canvas (entity, rows, measures, period) or the saved analysis open: Save this as an analysis or Make a dashboard of these need no further explanation.

A chip under the drawer's header shows what is sent — Page: Sales lines · filters: 2 · the clicked row. Its × stops sending the page for as long as the user stays on it. The context is limited to 4,000 characters.


Starter questions​

On an empty conversation, the drawer offers questions suited to where the user is: those of the current screen (or of the Data Explorer page), else those of the application, else those set for everywhere — the most specific place that has questions wins. An application can group them under headings, shown as pills above the questions; after an answer, the follow-ups take their place. When an application ships its questions in several languages, the drawer shows them in the user's language.

Questions come from two sources:

  • Liberty Next → Build → AI: the questions an application ships, per application and per screen — see below;
  • Liberty Next → Administer → App → AI Assistant → Starter questions: the operator's own, for everywhere, an application or an application/screen. They win over the application's questions for the same place.

What it can do​

ToolDoesSetting
list_connectorsLists the connectors, their queries and endpoints (descriptions, no SQL, no credentials).Connector tools (on by default).
sql_queryRuns a read query of a SQL connector. Write queries are always refused.Connector tools.
explorer_models, explorer_fields, explorer_queryList the Data Explorer models and their fields, then compute a total, a ranking, a trend or a comparison on a model — rows, measures, filters, period, sort, Top N (100 rows by default, 10,000 at most) — under the user's data scope.On by default.
explorer_saved, explorer_save_analysis, explorer_save_dashboardList the user's saved analyses and dashboards, and save what the user asks for: an analysis is run once before it is stored, so a wrong field is refused; a dashboard gathers saved analyses as tiles. Both are private unless the user asks to share them.On by default.
describe_instanceSummarises what the installation holds: applications, menus, screens with their read query, dashboards, Data Explorer models, jobs, playbooks. Where do I find… is answered from the real configuration.Always.
PlaybooksLists the applications' procedures and loads the one that fits — see Playbooks.Always.
jobs_status, server_log, integrity_checksThe Nomaflow jobs with their schedule, last run and next start, and one job's recent runs with the failing step; the recent server log lines, by level and text; the configuration cross-checks.Operations tools (off by default).
api_callCalls an endpoint of an API connector.API tool (off by default — an endpoint may change data).
Scaffold toolsPropose a query, a dictionary entry, a screen or a menu item; the user reviews the proposal and applies it.Scaffold tools (off by default).
Web fetchReads pages of the allowed domains.Allowed domains (none by default).

The assistant only uses existing named queries: it does not write SQL against the database. A tool result above 60,000 characters is cut, and the assistant is asked to narrow its call.

The Operations tools let the assistant read the running server rather than guess when a job failed, is late or is missing. They are meant for installations whose chat users are administrators: the server log can hold anything the server wrote.


Playbooks​

A playbook is a step-by-step procedure an application ships for the assistant: Close a period, Add a user to a role. When a user asks how to do something in an application, the assistant looks for a playbook that fits, loads it and follows its steps in order, saying which one it follows. Without a suitable playbook, it says so and answers from what it can read.


Liberty Next → Build → AI​

Liberty Next → Build → AI edits what each application ships for the assistant. The App row lists the applications that already have some, plus * for everywhere; Add scope picks another one. For each:

PartContent
Starter questions anywhere in appThe questions offered everywhere in the application.
Starter questions per screen+ a screen… adds a screen and its own questions.
PlaybooksAdd playbook: an Id (letters, digits, _ and -, unique in the application), a Title — what the procedure achieves, the assistant picks a playbook by it —, When it applies (one line, optional) and The procedure in Markdown.

Save writes and reloads at once. This material travels with the application: it is installed and upgraded with it, versioned like the rest of the configuration. The questions set under Liberty Next → Administer → App → AI Assistant win over the application's, place by place.


Who can use it, and on what​

  • The user needs the ai:chat permission (a role's AI assistant rule, in Beyond the menus).
  • Allowed connectors in Liberty Next → Administer → App limits the connectors the assistant may reach, and the applications describe_instance and the playbooks cover; empty means all.
  • Every query it runs goes through the same server checks as a screen: the user's data scope filters the rows.
  • Model in the drawer only offers the models allowed in the settings; the server refuses any other.

Settings​

In Liberty Next → Administer → App → AI Assistant: Enabled, Anthropic API key (encrypted), Model, Effort, Max tokens, Max tool iterations (8), Request timeout (s), Adaptive thinking, System prompt, the tools above, Allowed connectors, and for the chat drawer the Models users may pick and the Starter questions. See App settings. Without a key, the drawer says the assistant is not configured.


Tips​

  • Give queries a clear label and description (Liberty Next → Build → Connectors): the assistant chooses its queries from them.
  • Write dedicated read queries for the questions users ask often (totals per company, per month), rather than expecting the assistant to aggregate thousands of rows.
  • Write a playbook for each procedure users ask about more than once: the answer is then the application's procedure, not a guess.
  • Keep API tool and Operations tools off unless the endpoints are read-only and the chat users are administrators.