Dynamic text


A panel plugin for dynamic, data-driven text.

    Dynamic text for Grafana

    License PRs welcome!

    A panel plugin for Grafana for dynamic, data-driven text.

    While the built-in Text panel in Grafana does support variables, that's about as dynamic it gets. This panel lets you define a text template using the data from your data source query.

    The panel supports both Markdown and Handlebars.


    Here's an example of what you can do.

    Data query response

    authHandles user authentication.prodfrontend


    # {{app}}
    Deployed on {{join (variable "hostname") ", "}}.
    {{#if (eq tier "frontend")}}


    # auth
    Handles user authentication.
    Deployed on server1, server2, server3.


    Helpers are functions that let you perform basic text transformation within your template.


    Formats the timestamp in a given field using a date format. Uses helper-date.

    <!-- Time: 1598791377556 -->
    {{date Time "YYYY-MM-DD"}}
    <!-- results in: '2020-08-30'  -->


    Compares two strings for equality.

    <!-- app: foo -->
    {{#if (eq app "foo")}}
    <!-- results in: 'Success!'  -->


    Join all elements of array into a string using a given separator.

    <!-- array: ['a', 'b', 'c'] -->
    {{join array "-"}}
    <!-- results in: 'a-b-c'  -->


    Formats the given number using fixed-point notation.

    <!-- Value: 1.1234 -->
    {{toFixed Value 2}}
    <!-- results in: '1.12' -->


    Returns a string array of the currently selected values for a certain variable.

    {{variable "hostname"}}
    <!-- results in: ['server1', 'server2', 'server3']  -->


    Check out these snippets for inspiration.

    Markdown list from variable

    {{#each (variable "hostname")}}
    - {{.}}

    Conditional content

    {{#if app "auth"}}
    This is the auth app.
    Sign up Now


    • Grafana 7.x.x