Intelligent App YAML Reference

This page provides a detailed reference for all attributes available in Intelligent App YAML definitions. Use this as a guide when authoring or reviewing your app configuration files.

Top-Level Structure

app:
  name: string                # App display name
  description: string         # App description
  config:                     # App configuration (see below)
  layout:                     # Layout definition (see below)
  components:                 # App components (see below)

config Section

AttributeTypeDescription
cacheboolEnable/disable caching of query results
cache_ttlintCache time-to-live in seconds (default: 3600)

layout Section

Defines the structure of the app (tabs, items, chart groups).

layout:
  tabs:
    - name: string           # Tab identifier
      title: string          # Tab display title
      filters: [string]      # (Optional) List of filter names
      items:                 # List of layout items (see below)

Layout Items

AttributeTypeDescription
typestringchart, chart-group, text, table
namestringUnique item name
spanint(Optional) Grid span (width)
heightint(Optional) Height in px
entitieslist(For chart-group) Nested layout items

components Section

Holds the main building blocks: charts, variables, filters.

Charts

charts:
  - type: string             # `number`, `line`, `bar`, `pie`, `table`
    name: string             # Unique chart name
    title: string            # Chart title
    description: string      # (Optional) Description
    query: string            # SQL query (Jinja supported)
    dimensions:              # (Optional) List of dimensions
      - name: string
        label: string
    metrics:                 # (Optional) List of metrics
      - name: string
        label: string
    metric_format: string    # (Optional) Number format string
    show_labels: bool        # (Optional, default: true)

Variables

variables:
  - name: string             # Variable name
    type: string             # `string`, `integer`, `float`, `boolean`, `date`

Filters

filters:
  - type: string             # `text`, `number`, `dropdown`, `date`
    name: string             # Filter name
    title: string            # Display label
    affected_variable: str or [str] # Variable(s) updated
    default_value: any       # (Optional) Default value
    options:                 # (For dropdown)
      type: string           # `static` or `sql`
      values:                # (For static)
        - value: string
          label: string
      query: string          # (For sql)
    placeholder: string      # (Optional)

Example

app:
  name: Clubwise Billing Collection Dashboard
  description: Clubwise Billing Collection is a service that collects billing data from various sources and processes it for further analysis
  config:
    cache: true
    cache_ttl: 3600
  layout:
    tabs:
      - name: billing_data
        title: Billing Data
        filters: [product_group, membership_type_filter]
        items:
          - type: chart-group
            name: kpis
            span: 12
            entities:
              - type: chart
                name: total_count
                span: 4
          - type: chart
            name: detailed_table
            span: 12
  components:
    charts:
      - type: number
        name: total_count
        title: Total Row Count
        query: select count(*) as row_count from PROCESSED_Sales_Order;
        metrics:
          - name: row_count
            label: Row Count
    variables:
      - name: order_date
        type: date
    filters:
      - type: date
        name: order_date_filter
        title: Order Date Filter
        affected_variable: order_date
        default_value: '2024-04-01'

Notes