Skip to main content
Playlists automatically cycle through a list of dashboards at a specified interval, perfect for TV displays, monitoring walls, or presentations.

What are Playlists?

A playlist is an ordered collection of dashboards that rotate automatically:
  • Automated rotation: Cycle through dashboards at a fixed interval
  • Flexible composition: Add dashboards individually or by tag
  • Display modes: Normal, kiosk, or TV mode
  • Customizable intervals: Set rotation speed (e.g., 5m, 30s)
Playlists preserve query parameters like kiosk, orgId, and dashboard-specific settings across rotations.

Creating Playlists

Via the UI

  1. Navigate to DashboardsPlaylists
  2. Click New playlist
  3. Configure playlist:
    • Name: Descriptive title
    • Interval: Rotation interval (e.g., 5m, 30s, 1h)
  4. Add dashboards:
    • By title: Search and select individual dashboards
    • By tag: Include all dashboards with specific tags
  5. Reorder dashboards by dragging
  6. Save the playlist

Via the API

TypeScript Interface

Playlist Items

Dashboard by UID

Add specific dashboards:

Dashboard by Tag

Include all dashboards with a tag:
Tag-based items dynamically include dashboards. Adding/removing tags from dashboards automatically updates the playlist.

Item Order

Dashboards play in the order they appear in the items array. When using tags, dashboards are sorted alphabetically.

Playlist Intervals

Intervals use Grafana’s duration format:
  • Seconds: 30s, 45s
  • Minutes: 1m, 5m, 15m
  • Hours: 1h, 2h
Very short intervals (< 10s) may cause performance issues if dashboards are complex or queries are slow.

Starting a Playlist

Start Modal

From the playlists page, click Start playlist to configure:
  • Mode: Normal or Kiosk
  • Autofit panels: Adjust panel heights to screen
  • Hide logo: Remove branding (kiosk mode only)
  • Display controls: Toggle time picker, variables, links

Direct URL

Start a playlist directly via URL:
Supported query parameters:
  • kiosk: true for kiosk mode, tv for TV mode (deprecated)
  • autofitpanels: true to fit panels to screen
  • hideLogo: 1 to hide branding (kiosk mode)
  • _dash.hideTimePicker: true to hide time picker
  • _dash.hideVariables: true to hide variables
  • _dash.hideLinks: true to hide dashboard links

Programmatic Start

Playlist Modes

Normal Mode

Standard Grafana UI with navigation:
  • Top navigation bar visible
  • Side menu accessible
  • Full dashboard controls
  • User can navigate away

Kiosk Mode

Clean display with minimal UI:
  • No navigation bars
  • No side menu
  • Optional time picker and variables
  • Press Esc or click settings icon to exit
Perfect for public displays and monitoring walls.

TV Mode (Deprecated)

Legacy mode, use kiosk mode instead:

Controlling Playback

While a playlist is playing:
  • Next: Skip to next dashboard (programmatically: playlistSrv.next())
  • Previous: Go to previous dashboard (playlistSrv.prev())
  • Stop: Exit playlist (playlistSrv.stop())

Auto-reload

Every 3 loops, the playlist performs a full page reload to prevent memory leaks:

Preserved Parameters

These query parameters persist across dashboard transitions:

Managing Playlists

List Playlists

Get Playlist

Update Playlist

Delete Playlist

Sharing Playlists

Share playlists via URL:

Embedded in iframe

URL Builder

Use Cases

Rotate through operational dashboards on large displays:
Start in kiosk mode with autofitpanels for wall displays.
Show high-level metrics to leadership:
Cycle through team dashboards during meetings:
Rotate through production, staging, and dev:

Best Practices

Playlists are only as fast as the slowest dashboard:
  • Limit the number of panels per dashboard
  • Use reasonable time ranges (avoid querying years of data)
  • Optimize queries and use caching
  • Test rotation speed with actual query load
  • Fast rotation (15-30s): Simple dashboards, quick overview
  • Medium rotation (1-5m): Detailed dashboards, monitoring walls
  • Slow rotation (10m+): Complex analytics, executive displays
Match interval to dashboard complexity.
Use tag-based items for maintainable playlists:
Adding/removing tags from dashboards automatically updates the playlist.
For TV displays:
  • Use autofitpanels=true to optimize panel sizing
  • Design dashboards for the target resolution (usually 1920x1080)
  • Test visibility from viewing distance
  • Use larger fonts and fewer panels
If a dashboard fails to load:
  • Playlist continues to next dashboard after interval
  • Use dashboard health tags to exclude broken dashboards
  • Monitor playlist URLs for errors

Troubleshooting

  • Check browser console for JavaScript errors
  • Verify interval format (e.g., 5m, not 5 minutes)
  • Ensure dashboards in playlist are accessible
  • Check that playlist service is running: playlistSrv.state.isPlaying
Playlist auto-reloads every 3 loops to prevent memory leaks:
For infinite playback, this is expected behavior.
Ensure variables use URL-sync or default values:
  • Playlists don’t preserve variable selections between dashboards
  • Each dashboard loads with its default variable values
  • Use _dash.hideVariables=true if variables shouldn’t be user-editable

Dashboards

Create dashboards to include in playlists

Dashboard Settings

Configure dashboard display options

Kiosk Mode

Detailed kiosk mode documentation

Sharing

Share dashboards and playlists