Interactive learning architecture

Interactive learning is an app-based plugin built using the Grafana plugin SDK. Its primary mount point is the Extension Sidebar. This is the same mount point that Grafana Assistant uses, which allows both applications to operate in any part of the Grafana UI.

The components of Interactive learning

Interactive learning has three main components:

  • Context retrieval - Retrieves the context of the current page in Grafana.
  • Documentation rendering - Renders the selected documentation or tutorial.
  • Interactive engine - Facilitates the interactive features within the documentation or tutorial.

Interactive Learning architecture

Context retrieval

Context retrieval is the process of retrieving the context of the current page in Grafana, as well as other relevant data points such as the current user role, datasource types, and contextual tags. The following table outlines the full set of data points that the context retrieval component collects.

MetricExampleDescriptionSent to Recommender
currentPath/exploreCurrent URL pathname from Grafana location serviceYes (as path)
currentUrl/explore?left={"datasource":"prometheus"}Full URL including pathname, search params, and hashNo
pathSegments['d', 'abc123', 'my-dashboard']URL path split into segments for entity/action detectionNo
dataSources[{id: 1, name: 'Prometheus', type: 'prometheus'}]Array of configured datasources from Grafana APIYes (types only)
dashboardInfo{id: 5, title: 'My Dashboard', uid: 'abc123'}Dashboard metadata when viewing a dashboardNo
tags['dashboard:edit', 'selected-datasource:prometheus']Contextual tags derived from path, actions, datasources, and user interactionsYes
visualizationTypetimeseries, gauge, tableDetected panel/visualization type from EchoSrv events when creating or editing panelsNo (included in tags)
grafanaVersion11.3.0Current Grafana version from build infoNo
timestamp2025-10-27T10:30:00.000ZISO timestamp when context was retrievedNo
searchParams{editPanel: '2', tab: 'queries'}URL query parameters as key-value pairsNo
user_ida1b2c3... (hashed)Hashed user identifier for Cloud users, generic oss-user for OSSYes
user_emaild4e5f6... (hashed)Hashed user email for Cloud users, generic oss-user@example.com for OSSYes
user_roleAdmin, Editor, ViewerUser’s organization role from GrafanaYes
platformcloud or ossWhether running on Grafana Cloud or self-hosted OSSYes
sourceinstance123.grafana.net or oss-sourceCloud instance hostname or generic OSS identifierYes

The recommender service

The recommender service is a REST API that generates recommendations based on context data. Grafana Labs creates and hosts this service to generate recommendations for the Interactive learning plugin. The service uses pattern matching on the context data to generate recommendations.

Note

The recommender service is disabled by default for open source Grafana users. Grafana administrators can enable it by navigating to the plugin configuration and toggling the Enable context-aware recommendations switch. For more information, refer to the Administrators reference.

Documentation rendering

The documentation rendering component renders documentation or tutorial content. The system parses documentation into a React component tree rather than rendering it in an iframe. This approach allows the documentation to render in the same way as the rest of the Grafana UI, using the same components and styles. It also allows rendering images and videos directly in the sidebar. The renderer covers most elements of documentation and tutorial content. If you notice a rendering issue, let us know by opening an issue.

Interactive engine

The interactive engine provides interactive features within documentation or tutorials. It powers the Show me and Do it buttons, as well as interactive elements and the requirements and objectives system. The following components make up the interactive engine:

  • Show me button - Shows the next step in the documentation or tutorial.
  • Do it button - Executes the action of the current step in the documentation or tutorial.
  • Do section button - Executes the action of the current section in the documentation or tutorial.
  • Guided steps - Steps that guide users through actions by clicking a button to start.
  • Multistep steps - Steps that execute in sequence after clicking a button to start.
  • Requirements and objectives system - Checks if users have completed requirements and objectives for the current step.

Tracking user progress

Interactive learning uses localStorage to track user progress for interactive features within documentation or tutorials. Tutorial progression resets when a user closes the tutorial tab. Tabs and progression persist across sessions until the user closes the tab.