Skip to content

[Agent Builder] Observability agent builder opt-in flow#245299

Merged
viduni94 merged 149 commits intoelastic:mainfrom
viduni94:obs-agent-builder-opt-in-flow
Dec 15, 2025
Merged

[Agent Builder] Observability agent builder opt-in flow#245299
viduni94 merged 149 commits intoelastic:mainfrom
viduni94:obs-agent-builder-opt-in-flow

Conversation

@viduni94
Copy link
Copy Markdown
Contributor

@viduni94 viduni94 commented Dec 4, 2025

Closes https://github.com/elastic/obs-ai-team/issues/393
Closes https://github.com/elastic/obs-ai-team/issues/415

Summary

This PR implements the opt-in flow for agent builder from the Obs AI Assistant.

It's currently behind a feature flag that the ai-infra team introduced:

feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true

New Additions

  • Removed feature flag for Obs Agent (observabilityAgent.enabled)
  • Added availability handler for tools and agent (to only make then available in classic and observability spaces)
  • Gated AI Insights common component with agent builder RBAC check and license check
  • Added a reusable hook that can be used when rendering the AI Insight component (useIsAgentBuilderEnabled)
  • Removed Elastic Managed LLM tour callout from the AI Assistant flyout, contextual insights and the full page app (It can still be used by other features such as Streams)
  • Added AI Agent tour callout --> Continuing will switch the chat experience to AI Agent (this is valid for the flyout and the full page app)
    • If the user switches the experience from the full page app, they will be redirected to the observability homepage before the agent builder flyout is opened
Image
  • Added the "Try AI Agent" button the context menu
image

Note: The tour callout and "Try AI Agent" button to opt-in to agent builder will only be displayed ONLY if

  • The user has save permissions for advance settings
  • Satisfies agent builder RBAC (Has access to agent builder)
  • Onechat plugin is available
  • Agent chat experience is NOT enabled (the preferred chat experience is AI Assistant)

When the chat experience is set to AI Agent

  • Hide left side nav link for AI Assistant (both stateful and serverless)
  • Hide contextual insights (This was done via the enabled flag in plugin start)
  • Restricted access to the AI Assistant full page
  • Restricted the rule connector feature (both server and client side)
  • Restricted access to AI Assistant Settings

The "Agents" nav link is added to serverless Observabilty projects and Obs solution nav for ECH:

Screenshot 2025-12-10 at 1 13 51 PM

Checklist

KodeRad and others added 30 commits November 22, 2025 15:42
e observable with Chat Experience setting
@viduni94 viduni94 requested a review from a team as a code owner December 12, 2025 19:51
@viduni94
Copy link
Copy Markdown
Contributor Author

/ci-deploy

@arturoliduena
Copy link
Copy Markdown
Contributor

Manual testing:

  • Removed Elastic Managed LLM tour callout from the AI Assistant flyout, contextual insights and the full page app
  • AI Agent tour callout - link to settings
  • AI Agent tour callout - link to documentation
  • AI Agent tour callout --> Continuing will switch the chat experience to AI Agent (this is valid for the flyout and the full page app)
  • If the user switches the experience from the full page app, they will be redirected to the observability homepage before the agent builder flyout is opened
  • shows "Try AI Agent"
  • When the chat experience is set to AI Agent
    Hide left side nav link for AI Assistant (both stateful and serverless)
    Hide contextual insights (This was done via the enabled flag in plugin start)
    Restricted access to the AI Assistant full page
    Restricted the rule connector feature (both server and client side)
    Restricted access to AI Assistant Settings

@viduni94
Copy link
Copy Markdown
Contributor Author

/ci-deploy

@viduni94
Copy link
Copy Markdown
Contributor Author

/ci-deploy

@viduni94
Copy link
Copy Markdown
Contributor Author

Manual testing:

  • Removed Elastic Managed LLM tour callout from the AI Assistant flyout, contextual insights and the full page app
  • AI Agent tour callout - link to settings
  • AI Agent tour callout - link to documentation
  • AI Agent tour callout --> Continuing will switch the chat experience to AI Agent (this is valid for the flyout and the full page app)
  • If the user switches the experience from the full page app, they will be redirected to the observability homepage before the agent builder flyout is opened
  • shows "Try AI Agent"
  • When the chat experience is set to AI Agent
    Hide left side nav link for AI Assistant (both stateful and serverless)
    Hide contextual insights (This was done via the enabled flag in plugin start)
    Restricted access to the AI Assistant full page
    Restricted the rule connector feature (both server and client side)
    Restricted access to AI Assistant Settings

Thank you @arturoliduena

@viduni94 viduni94 enabled auto-merge (squash) December 15, 2025 17:20
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Dec 15, 2025

⏳ Build in-progress

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #11 / @ess @serverless SecuritySolution Automatic Migrations @ess @serverless SecuritySolution Automatic Dashboard Migrations @ess @serverless @serverlessQA Dashboard Migration Missing Resources should identify and persist macros and lookups from multiple queries in a dashboard

History

cc @viduni94

@viduni94 viduni94 merged commit 56c6519 into elastic:main Dec 15, 2025
13 checks passed
Zacqary added a commit that referenced this pull request Dec 18, 2025
…ntationUtil plugin (#246628)

## Summary

Moves the panel placement registry from the `dashboard` plugin into the
`presentationUtil` plugin. This is necessary to avoid circular
dependency issues in the [Controls Anywhere
project](#245588).

### Background

Controls Anywhere introduces the concept of dashboard controls being
rendered as movable panels. For this, we need to define their
`PanelPlacementStrategy`: creating them with a very short height, medium
width, and in the top left corner of the dashboard.

This required adding the `dashboard` plugin as a `requiredPlugin` for
`controls`.

Unfortunately, #245299
introduced `onechat` as a dependency to `observabilityAIAssistant`,
triggering this circular dependency cycle:

```
   │ERROR Detected circular dependencies:
   │ERROR   dashboard -> observabilityAIAssistant -> onechat -> stackConnectors -> triggersActionsUi -> controls -> dashboard
   │ERROR   triggersActionsUi -> controls -> dashboard -> observabilityAIAssistant -> onechat -> triggersActionsUi
   │ERROR   workflowsManagement -> triggersActionsUi -> controls -> dashboard -> observabilityAIAssistant -> onechat -> workflowsManagement
   │ERROR   stackConnectors -> triggersActionsUi -> controls -> dashboard -> observabilityAIAssistant -> onechat -> workflowsManagement -> stackConnectors
```

Unfortunately, Kibana architecture doesn't have a good way of moving
registries into `@kbn` packages yet, so we need to find a safer plugin
for it to live in. We determined that `controls` and `dashboard` both
depend on the `presentationUtil` plugin without incident, and it's
already a place to put other miscellaneous dashboard-related things.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:cloud-deploy Create or update a Cloud deployment ci:project-deploy-elasticsearch Create an Elasticsearch Serverless project ci:project-deploy-observability Create an Observability project ci:project-deploy-security Create a Security Serverless Project release_note:skip Skip the PR/issue when compiling release notes Team:obs-ai Observability AI team Team:obs-presentation Focus: APM UI, Infra UI, Hosts UI, Universal Profiling, Obs Overview and left Navigation Team:obs-ux-management v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.