> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upsolve.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Applications & Spaces

> Build dashboard templates and deploy them to customer spaces.

## What is an Application?

An Application is a container for dashboard templates that you deploy to your customers. It includes:

* **Chart Templates** - Reusable chart configurations
* **Dashboard Templates** - Layouts combining multiple charts
* **Spaces** - Customer-specific instances of your templates
* **Default Settings** - Language, timezone, export options

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/application-overview.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=b4fe4dd32ac621fe11f309d2b7265fab" alt="Application with templates and spaces" width="2926" height="1648" data-path="images/ai-agent-builder/application-overview.png" />
</Frame>

## How Applications and Spaces Work

```mermaid theme={null}
flowchart TD
    A[Application] --> B[Chart Templates]
    A --> C[Dashboard Templates]
    A --> D[Spaces]
    D --> E[Space for Org 1]
    D --> F[Space for Org 2]
    D --> G[Space for Org 3]
```

Each space receives its own private copies of your published templates.

When you publish a template:

1. It becomes available to all spaces
2. Each space gets its own private copy
3. Users can customize their copies without affecting others

## Creating an Application

1. Navigate to your project's **Applications** tab
2. Click **Create Application**
3. Enter a name
4. Select a data model
5. Click **Create**

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/create-application.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=e19a3c8a9d7b375f59a427405f084e90" alt="Create application dialog" width="1068" height="976" data-path="images/ai-agent-builder/create-application.png" />
</Frame>

## Building Templates

### Creating a Chart Template

1. Open your application
2. Click **Add Chart**
3. Choose a chart type
4. Configure the data and visualization
5. Click **Save**

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/create-chart.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=5cf153bad883e7c990d6d69dcc6eb155" alt="Chart builder interface" width="2944" height="1888" data-path="images/ai-agent-builder/create-chart.png" />
</Frame>

### Creating a Dashboard Template

1. Open your application
2. Click **Add Dashboard**
3. Drag and drop charts onto the canvas
4. Arrange the layout
5. Add filters if needed
6. Click **Save**

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/create-dashboard.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=d38ccba0a1d82f232f65b570e7fef085" alt="Dashboard builder interface" width="2928" height="1708" data-path="images/ai-agent-builder/create-dashboard.png" />
</Frame>

## Viewing as a User

While building templates, you see them as an admin. To see what users will see:

1. Select a project user from the dropdown
2. The view switches to their perspective
3. Data is filtered by their RLS rules
4. Check that the template works for different users

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/impersonation.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=2ba796767e56b72ae829e25775e47253" alt="User impersonation dropdown" width="2932" height="1826" data-path="images/ai-agent-builder/impersonation.png" />
</Frame>

## Publishing Templates

Templates start in "draft" mode. To make them available to users:

1. Open the template
2. Click **Publish**
3. The template propagates to all spaces

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/publish-template.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=8eecee7408b6abd721ca1792a584c004" alt="Publish button on template" width="560" height="570" data-path="images/ai-agent-builder/publish-template.png" />
</Frame>

### What Happens When You Publish

1. Template status changes to "published"
2. Each space gets a copy of the dashboard
3. Users can now see and interact with it
4. Future updates require re-publishing

## Understanding Spaces

Each project organization automatically gets a Space for each application.

### What's in a Space?

* **Template Copies** - Private instances of published templates
* **User Dashboards** - Dashboards users create themselves
* **User Charts** - Charts users create themselves

### Viewing Spaces

1. Open your application
2. Go to the **Spaces** tab in the sidebar
3. See all spaces (one per organization)
4. Click to preview any space

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/spaces-list.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=463aaae387593b772de8501be5268415" alt="List of spaces in application" width="876" height="430" data-path="images/ai-agent-builder/spaces-list.png" />
</Frame>

## Default Views

You can set which dashboard users see first when they open their space.

### Setting an Application Default

1. Open your application
2. Go to the **Templates** tab
3. Click the star icon next to a template
4. This becomes the default for all users

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/default-template.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=94cbd7e8f189c7c39a96430f9d3d67fb" alt="Setting default template" width="568" height="482" data-path="images/ai-agent-builder/default-template.png" />
</Frame>

### User-Specific Defaults

Users can change their own default:

1. Open any dashboard in their space
2. Click **Set as Default**
3. This overrides the application default for them only

## Application Settings

### Default Language

Set the default language for your application:

1. Go to application settings
2. Select default language
3. Users can override in their preferences

### Default Timezone

Configure how dates are displayed:

1. Go to application settings
2. Set the default timezone offset
3. Enable "Use Local Timezone" for auto-detection

### Export Settings

Control whether users can export data:

1. Go to application settings
2. Toggle "Allow Exports"

<Frame>
  <img src="https://mintcdn.com/upsolve/fLb4mfHG-6nE-S3X/images/ai-agent-builder/app-settings.png?fit=max&auto=format&n=fLb4mfHG-6nE-S3X&q=85&s=4455387656514d32d0dc18cf733b63bd" alt="Application settings panel" width="896" height="1710" data-path="images/ai-agent-builder/app-settings.png" />
</Frame>

## Production Status

Like data models and agents, applications can be set to production.

### Requirements

1. Application must have a linked data model
2. That data model version must be production
3. All template schemas must fit within the data model

### Setting Production

1. Open your application
2. Go to the **Versions** tab
3. Click **Set as Production**
4. Validation runs automatically

## Connecting Agents and Applications

If an agent and application share the same data model version:

* The agent can generate charts compatible with the application
* Users can save agent-generated charts to their space
* Charts flow seamlessly between AI and dashboards

## Best Practices

### 1. Test with Multiple Users

Always preview templates as different users to ensure RLS works correctly.

### 2. Start with Core Dashboards

Create 2-3 essential dashboards before adding more.

### 3. Use Consistent Naming

Name templates clearly so users understand what they show.

### 4. Document in Descriptions

Add descriptions to dashboards explaining what they display.

## Next Steps

* Follow the [Complete Setup Guide](/ai-agent-builder/setup-guide) for the full workflow
* Learn about [Row-Level Security](/ai-agent-builder/rls) for data filtering
