React Embedded AnalyticsAgentic Experience

The AI assistant uses a multi-agent architecture called the Agentic Experience (AX). Instead of a single AI handling everything, the system delegates tasks to specialised agents, each with its own instructions, tools, and responsibilities.

See It in Action Copy Link

The example below shows a full dashboard with three pre-loaded conversation threads. Open the AI panel to explore how the Lead delegates to Data, Page, and Widget profiles.

What Is the AX? Copy Link

The AX is the orchestration layer that breaks complex requests into focused sub-tasks. When a user asks "Build me a sales dashboard", a single prompt is not enough; the system needs to inspect the data, create a plan, lay out widgets, and configure each one. The AX handles this by routing work through a team of specialised profiles.

Each profile is an independent AI persona. The Lead profile acts as the coordinator - it understands the user's intent, creates plans, and delegates to specialist profiles that do the actual work.

Built-in Profiles Copy Link

AG Studio includes five built-in profiles. Each has its own role, tools, and delegation permissions.

ProfileRoleToolsDelegates To
LeadCoordinator. Receives user messages, inspects context, delegates to specialists.view_schema, view_page, view_plan, update_plan, clear_plan, rename_threadplanning, data, page, widget
PlanningCreates structured plans for dashboard construction.view_schema, view_page, view_plan, create_plan-
DataExplores and queries data sources. Answers data questions.execute_query, view_schema-
PagePlaces widgets on the grid, manages positions, and handles page-level filters.view_schema, view_page, view_plan, add_page_filter, remove_page_filter, add_widget, position_widget, remove_widget-
WidgetConfigures individual widgets - chart type, data mappings, titles, formatting.view_schema, view_plan, view_widget, configure_widget, add_widget_filter, remove_widget_filter-

The Widget profile is parameterised - when the Lead delegates to it, it specifies the widget type (e.g. { type: 'bar-chart-grouped' }), which tailors the configuration schema.

Tool Reference Copy Link

ToolDescription
view_schemaRetrieves the current data schema - all data sources, fields, types, and relationships.
execute_queryRuns a query against the loaded data sources. Supports aggregation-based and SQL-like query modes.
view_pageRetrieves the current page state including widgets, positions, filters, grid dimensions, and layout issues.
view_planRetrieves the current plan, if one exists.
view_widgetRetrieves a widget's current config, size, filters, and health check issues.
add_widgetAdds an empty widget shell to the page with a type and position.
position_widgetMoves and/or resizes a widget on the grid.
remove_widgetRemoves a widget from the page.
configure_widgetConfigures a widget's data mappings, title, subtitle, formatting, and type-specific options.
add_widget_filterAdds a filter to a specific widget.
remove_widget_filterRemoves a filter from a specific widget.
add_page_filterAdds a page-level filter that applies to all widgets on the page.
remove_page_filterRemoves a page-level filter.
create_planCreates a structured plan for a complex task with layout tree, widget entries, and page filters.
update_planUpdates plan status - tracks widget placement/configuration and filter application across execution phases.
clear_planClears the active plan.
rename_threadSets a short thread name for the conversation.
delegate_toDelegates a task to a specialist profile, creating a child conversation.
complete_taskSignals that the current delegated task is complete and returns control to the delegating profile.

Walkthrough: "Build Me a Dashboard" Copy Link

Here is the full delegation sequence when a user asks for a dashboard:

1. Lead Receives the Message Copy Link

The Lead profile gets the user's message along with the current data schema and layout context. It calls view_schema to understand the available data, then decides the task is complex enough to need a plan.

2. Lead Delegates to Planning Copy Link

The Lead uses the delegate_to tool to hand off to the Planning profile. It passes a description of what the user wants and the schema context.

3. Planning Creates a Plan Copy Link

The Planning profile calls create_plan to produce a structured plan - a list of items like "Add KPI card for total revenue", "Add bar chart for sales by category", etc. It then calls complete_task to return control to the Lead.

4. Lead Delegates to Page Copy Link

With the plan in hand, the Lead delegates to the Page profile. The Page agent calls add_widget to create widget shells on the page and position_widget to arrange them. It also handles page-level filters via add_page_filter. It returns the widget IDs.

5. Lead Delegates to Widget Agents Copy Link

The Lead delegates to multiple Widget agents - potentially in parallel. Each Widget agent receives a specific widget ID and its assigned plan item. It calls configure_widget to set the chart type, data mappings, titles, and formatting. It may also call add_widget_filter to apply widget-level filters.

6. Lead Confirms Completion Copy Link

Once all delegated tasks have returned, the Lead updates the plan (marking items complete) and sends a summary message back to the user.

Session Model Copy Link

The AX organises conversations into a clear hierarchy:

Threads Copy Link

A thread is a persistent conversation container. Users can create multiple threads within a single studio session. Each thread has its own conversation history.

Conversations Copy Link

Within a thread, each profile gets its own conversation. The main conversation belongs to the Lead. When the Lead delegates to a specialist, a new child conversation is created for that delegation.

Exchanges Copy Link

An exchange represents one user request through to full AI completion. It begins when the user sends a message (or when a delegation starts) and ends when the AI finishes responding. An exchange may contain multiple turns if the AI calls tools.

Turns Copy Link

A turn is a single iteration of the AI loop within an exchange. Turn 1 contains the user's input and the AI's initial response. If the AI calls tools, the tool results form the input for Turn 2, and so on until the AI produces a final text response or calls complete_task.

Delegation Copy Link

The act of one profile handing off a task to another. The Lead profile delegates to specialists (Planning, Data, Page, Widget) using the delegate_to tool. The delegated agent works independently and returns results via complete_task.