Skip to main content

Intelligent Apps

Datazone Intelligent Apps provide a powerful way to build interactive data dashboards and applications without writing frontend code. Using a declarative YAML configuration, you can create multi-tab dashboards with charts, filters, and interactive elements that query your data directly.

Overview

An Intelligent App consists of:
  1. Layout - How your application is organized (tabs, charts, groups)
  2. Components - The building blocks of your app (charts, filters, variables, texts, widgets)
  3. Configuration - Settings that control app behavior
Intelligent App Example

App Structure

Intelligent Apps use a YAML-based configuration format:

Key Components

Charts

Charts are the primary visualization elements. Datazone supports several chart types: Example chart definition:
Example number chart definition:

Dimension Properties

Widgets

When the built-in chart types aren’t enough, you can render your own React component inside a tab with a widget. Widgets are written in TSX — inline in the YAML or in a .tsx file in your project repository — and can attach a SQL query whose rows arrive as a data prop.
Place it in the layout with type: widget:
See Components: Widgets for the component contract, available imports, and interactivity through appContext.

Layout

The layout defines how components are arranged in your app using a responsive grid system:
  • Tabs: Organize content into different sections
  • Items: Individual elements like charts, text, or widgets
  • Chart Groups: Collections of related charts
  • Span/Height: Control sizing and layout
Intelligent App Grid Example
Example layout:

Interactivity

Make your apps interactive with variables and filters:
  • Variables: Store values that can be used in queries
  • Filters: UI elements that update variables
Example filter:

Query Variables

You can reference variables in your queries using double curly braces:

Best Practices

  1. Organize with Tabs: Group related content into logical tabs
  2. Use Chart Groups: Group related metrics together
  3. Filter Placement: Place filters on tabs where they’re most relevant
  4. Query Optimization: Keep queries efficient for better performance
  5. Consistent Formatting: Use the format attribute under each metric to ensure consistent number formatting

App Configuration

The config section supports the following attributes: Example usage:

Theme Customization

You can customize your app’s appearance by selecting from predefined themes or using custom style attributes for advanced color customization. See the YAML Reference for detailed styling options.

Next Steps