<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Marta Bondyra - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Marta Bondyra - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/search-labs/author/marta-bondyra</link>
    </image>
    <link>https://www.elastic.co/search-labs/author/marta-bondyra</link>
    <atom:link href="https://www.elastic.co/search-labs/rss/author/marta-bondyra.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Mon, 14 Sep 2026 00:18:56 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Prompt to dashboard in under a minute, 5x cheaper: AI dashboards and custom Vega-Lite charts in Kibana]]></title>
    <description><![CDATA[Describe your metrics in natural language and Kibana's AI chat generates ES|QL-backed dashboards and Vega-Lite charts, from scatter plots to conditional formatting and custom tooltips.]]></description>
    <content:encoded><![CDATA[<p>Kibana's<a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/chat"> AI chat</a> now builds full<a href="https://www.elastic.co/docs/explore-analyze/visualize/esorql"> Elasticsearch Query Language–backed (ES|QL-backed)</a> dashboards from a natural-language prompt in under a minute. In Elastic 9.5, this moves to general availability (GA) (<a href="https://www.elastic.co/search-labs/blog/ai-dashboard-generation-elastic-agent-kibana">technical preview in 9.4</a>) with error recovery that retries failed queries, 5x lower ES|QL generation costs through tiered model routing, and interactive filter controls. This release also adds<a href="https://www.elastic.co/docs/explore-analyze/visualize/custom-visualizations-with-vega"> Vega-Lite</a> chart creation through natural language, including scatter plots, box plots, conditional formatting, and custom tooltips that you'd normally have to hand-code in JSON.</p><h2>What's new in Kibana's AI dashboard creation</h2><p><strong>Capability</strong></p><p><strong>Technical preview (9.4)</strong></p><p><strong>GA (9.5)</strong></p><p>Error handling</p><p>No retry on failed ES|QL queries</p><p>Automatic retry up to three times with query inspection and adjustment</p><p>ES|QL generation cost</p><p>All queries routed through the primary model</p><p>Tiered model routing, up to 5x cheaper</p><p>Time range</p><p>Fixed default window</p><p>Automatic selection based on data time distribution</p><p>Filter controls</p><p>Not supported</p><p>Automatically added for the most relevant fields</p><p>Vega-Lite charts</p><p>Not supported</p><p>Natural-language creation, including scatter plots, box plots, conditional formatting, custom tooltips</p><p>Chart editing</p><p>Not supported</p><p>Edit existing Vega-Lite panels through natural language</p><h3>Automatic error recovery for AI dashboard generation</h3><p>In the technical preview, the agent didn’t retry failed ES|QL queries. In 9.5, it detects query errors and retries up to three times, inspecting each error and adjusting the query before giving up. In practice, this eliminates the majority of empty-panel issues and produces dashboards that render correctly on the first try.</p><h3>Why is AI dashboard creation cheaper in Elastic 9.5?</h3><p>Not every step in dashboard generation needs the same level of reasoning. In 9.5, ES|QL generation routes through a lighter model by default and falls back to the primary model only when needed. If your <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/connectors">connector</a> uses Anthropic's Claude Opus 4.8, that means 5x cheaper for ES|QL generation across all panels.</p><h3>Automatic time range selection based on your data</h3><p>Dashboards are only useful when they show the right window of data. The agent now applies improved logic to pick a time range that makes sense for the data it's querying, unless the user asks for a specific time range. It considers the data's time distribution and adjusts accordingly, whether that means the last hour for a live incident or the last 90 days for a trend analysis, rather than defaulting to a fixed window.</p><h3>Automatic filter controls on AI-generated dashboards</h3><p>Dashboard creation now supports controls; that is, interactive filters that let viewers narrow a dashboard by field values without editing the underlying queries. When generating a dashboard, the agent automatically adds controls at the top for the fields most relevant to filter by.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4a5520e66ae76001/6a719a218a155220ed6498e7/image3.png" alt="Kibana AI chat generating an ES|QL-backed host metrics dashboard with automatic filter controls in 71 seconds" /><h2>Vega-Lite charts from natural language: Chart types and formatting beyond the defaults</h2><p><a href="https://vega.github.io/vega/">Vega</a> and <a href="https://vega.github.io/vega-lite/examples/">Vega-Lite</a> support a wide range of chart types and customizations in Kibana. With 9.5, you can build them from plain language instead of writing the code yourself. </p><h3>Scatter plots, box plots, and more Vega-Lite chart types</h3><p>Scatter plots, box plot charts, faceted small multiples, bubble charts, and composition charts (like combining histograms with heatmaps), among many others, are supported by <a href="https://vega.github.io/vega-lite/examples/">Vega-Lite</a>. A prompt like <em>Show me a scatter plot of response time vs. request size, colored by service name</em> produces a Vega-Lite panel with the right data mappings. They use Kibana's default color palettes to blend with the rest of the dashboard.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf1651fe7ac903d47/6a719a49f124649f746fc1b4/image5.png" alt="Kibana dashboard with four Vega-Lite charts: box plot, bubble chart, faceted small multiples, and heatmap." /><h3>Conditional formatting, custom tooltips, and labels on standard charts</h3><p>Even for chart types that are already native to dashboards, like bar, line, or area, sometimes you need more control than the default capabilities offer. Vega-Lite through the chat fills that gap. Some examples include:</p><ul><li><p><strong>Conditional color formatting:</strong> Color data points above a threshold differently; for example, turning data points in a line or bars red when some metric spikes beyond your Service Level Objective (SLO). Ask the agent something like <em>Turn any points above 500ms red for my line chart.</em> </p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc1211784e9033557/6a719a6ab966e1736163d7d1/image1.png" alt="Vega-Lite line and bar charts in Kibana with conditional colour formatting showing data points above a threshold in red" /><p></p></li><li><p><strong>Custom marks and labels:</strong> Add emojis, symbols, or inline text labels to data points for at-a-glance status indicators.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte3c59c3748484bc1/6a719aa02888394fdc07bac1/image2.png" alt="Lite horizontal bar chart in Kibana with emoji flag labels and custom tooltip showing requests by country" /><p></p></li><li><p><strong>Custom tooltips:</strong> Enrich hover states with additional metrics, context, or computed values that aren't part of the chart's axes. Ask something like <em>Add a tooltip that shows total record counts and the % per bar.</em></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt43f241f4382b5b90/6a719ab7ded0cf3367f49275/image4.png" alt="Vega-Lite stacked bar chart in Kibana with custom tooltip showing total records and percentage of total by extension" /><p></p></li></ul><p>This also works for editing existing Vega charts. If you have a Vega-Lite panel that needs a tweak like changing a color scale, adjusting an axis, or switching the mark type, describe the change in chat instead of digging into the JSON code.</p><h2>How we built natural-language Vega-Lite generation in Kibana</h2><p>Generating a Vega-Lite chart from a sentence is not a one-shot <em>ask the model for JSON</em> prompt. We built a small agentic pipeline that turns natural-language intent into a validated, data-backed chart.</p><p>When a request comes in, the agent first determines whether Vega-Lite is the right fit. For Vega-Lite requests, it grounds the visualization in a real ES|QL query against Elasticsearch and then uses a model to generate the Vega-Lite code. Before rendering, the result goes through a normalization layer that corrects the schema and binds the canonical query. It also applies render-safety transformations. </p><p>A few design choices make this workflow reliable:</p><ul><li><p><strong>Typed tool calling</strong>: Chart creation is a structured tool invocation rather than free-form Vega-Lite pasted into the conversation.</p></li><li><p><strong>Constrained generation</strong>: The model generates Vega-Lite code within a defined schema, making the output more predictable and easier to validate.</p></li><li><p><strong>Curated examples:</strong> Structural patterns, such as faceting, layered marks, and heatmaps, provide guidance without copying the underlying data.</p></li><li><p><strong>Execute-and-verify loops</strong>: Queries are executed before chart authoring, and validation failures trigger corrective retries for ES|QL generation.</p></li></ul><h2>Try AI dashboard creation and Vega-Lite charts in Kibana</h2><p>To try natural-language dashboard creation and Vega-Lite charts, upgrade to <strong>Elastic 9.5</strong> (or <a href="https://cloud.elastic.co/registration">start a free trial</a>), and open the <strong>chat</strong> in Kibana. Then ask it to build a dashboard from your data. For Vega-Lite, try asking for a chart type you've wanted but never built, like a scatter plot or a bubble chart. If the result isn't quite right, tell the agent what to change. It iterates with you.</p><p>This requires an Enterprise license. <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/chat#get-started">Get started</a>.</p><p><em>The release and timing of any features or functionality described in this post remain at Elastic's sole discretion. Any features or functionality not currently available may not be delivered on time or at all.</em></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/ai-dashboards-kibana-vega-lite</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/ai-dashboards-kibana-vega-lite</guid>
    <category><![CDATA[Kibana]]></category>
    <category><![CDATA[ES|QL]]></category>
    <dc:creator><![CDATA[Marta Bondyra,Teresa Alvarez Soler]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt54406ad0378bc5fc/6a7199ffed03ccee0dac9d7c/image6.png" length="0" type="image/png"/>
    <pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>