Overview
RAG Chatbot — Supported prompts
What you can ask the <wuic-rag-chatbot> assistant depending on the page you are on, and
which operations it can perform on each one.
This page answers the user's question ("what can I ask here?"); the
tool catalog answers the developer's one ("which kind is emitted
and which metadata does it touch").
The prompts in blockquotes are the ones used by the end-to-end tests: a prompt listed
here has been verified against the real chatbot — prompt, proposal, confirmation, effect
on the page. They are kept in Italian because that is the exact text the tests send; if a
prompt changes in the test but not here (or vice versa), the parity test fails.
How a request works
1. You type the request in plain language in the chatbot panel.
2. Along with the prompt, the model receives a summary of the current page: this is
what lets it understand that "add the column X" means something different on
/pivot-builder than on a list.
3. If the request maps to an executable operation, a card with Apply appears. Nothing
changes before the click, and the click asks for confirmation.
4. If the request is ambiguous or refers to something that does not exist, the chatbot
does not propose: it replies explaining, and lists the real values available.
Pivot builder — <route>/pivot-builder
Building the view (View Builder canvas) and configuring the pivot.
User prompt:
> Aggiungi la tabella <route> al view builder e mettine una colonna nelle righe del pivot.
On this page "table", "column" and "row" refer to the view and the pivot, never to SQL
tables or columns: asking to add a column does not create a column in the database. If the
request is ambiguous the chatbot asks instead of proceeding.
| Operation | What it does |
|---|---|
inject | Adds several tables and their joins at once (e.g. "join orders and customers on customer_id") |
add_table / remove_table | Adds or removes a table from the canvas |
join / unjoin | Creates or removes a join. Only allowed towards a key column and with compatible types: otherwise the operation is rejected with the reason |
select_columns | Enables or disables columns of the view |
add_aggregation / remove_aggregation | SUM, COUNT, COUNT_DISTINCT, AVG, MIN, MAX on a column |
set_group_by | Sets the grouping columns |
set_column_formula | Computed column with a formula |
pivot_set_axis | Fills the pivot rows, columns or values |
pivot_remove | Removes a column from an axis |
pivot_set_value_options | Aggregation and caption of a column in values |
pivot_set_date_group | Groups an axis by year, quarter, month, week, day... |
pivot_set_top_rows | Row limit of the preview |
Canvas operations automatically bring the View Builder tab to the front, so the change
happens in front of the user and not in a hidden tab.
Deliberately left out: creating the SQL view, saving the configuration and deleting. Those
stay with the page buttons.
Application settings — /appsettings-editor
User prompt:
> Imposta <key> a <value>.
The chatbot stages the changes: they show up as pending changes and saving remains an
explicit click on Save & Apply. The summary states whether any of the keys requires a
backend restart.
| Operation | What it does |
|---|---|
set | Stages one or more settings |
reset | Discards the pending changes |
Not editable by the assistant: connection strings, passwords, API keys, licence, database
type. If you ask for them, the chatbot explains they must be set by hand in the matching
field. Their values never appear in the context sent to the model.
A value outside the allowed list is rejected showing the valid ones; a non-existent key is
rejected suggesting similar ones.
Report designer — <route>/report-designer
User prompt:
> Genera un report tabellare con le colonne principali di questa route.
A new file is created, with a timestamped name: the open report is not overwritten.
Unlike the other pages the effect is immediate on the server, so clicking Apply is the
final confirmation.
| Template | When to use it |
|---|---|
bands | Tabular list, with optional nested details |
crosstab | Cross table (rows × column, with aggregation) |
crossgroup | Grouping with totals |
Allowed aggregations: Sum, Avg, Count, Min, Max. A non-existent column makes the request
fail, listing the available ones.
Application structure (scaffolding)
Available everywhere, for users with administration rights.
| Operation | What it does |
|---|---|
db_table_create | Creates a new table and registers it in the application (SQL Server and MySQL) |
metadata_scaffold_table | Imports a table that already exists in the database. Repeatable: it is also the way to realign a route after a schema change |
metadata_scaffold_view | Imports a view (read-only route) |
metadata_scaffold_column | Maps a column added to the database outside the application |
menu_entry_move | Moves or reorders a menu entry |
Before proposing, the chatbot reads the real database structure (available connections,
tables, columns) and the menu tree: it does not invent names. Of the connections it only
knows the names, never the connection strings.
Operations that remove data
Removing a column or a menu entry is irreversible and handled separately: it must be
requested naming the object explicitly, and confirmation requires **typing its exact
name**. A generic request ("clean this up", "drop the useless columns") produces no
proposal at all.
Tables and routes cannot be removed from the chat.
Visual designers
Dashboard designer, workflow designer and 3D scene have their own prompts, documented in
the tool catalog: designer_inject, workflow_inject and
scene3d_inject respectively.
When the chatbot does not propose
This is not a failure: it is the expected behaviour when
- the request is ambiguous and could map to different operations;
- a column, route or key is mentioned that does not exist — the real ones are listed
instead;
- the requested operation is not available on that page.
In all these cases the chatbot answers in words, with no Apply card.
References
- RAG Chatbot — Tool catalog: the
kindemitted by each tool, the
proposal fields and the metadata it changes.
- RAG Chatbot: configuring the component and the engine.