> For AI agents: the complete Sanity documentation index is available at [https://www.sanity.io/docs/llms.txt](https://www.sanity.io/docs/llms.txt).

# Overview

Learn how to customise the Dashboard with exports from your applications.

The Extension API controls how your SDK apps and Studios appear in the Dashboard. With it, you can:

- Add views of your app to Dashboard surfaces: a window, a panel in the dock, a tile on the home page, or an asset source picker.
- Run a Web Worker in the background while the Dashboard is open.

## Views and surfaces

An application is the top-level container. It has a single job, but it can render that job across several Dashboard surfaces. `defineApplication` groups those surfaces together: one or more views, plus any web workers. Each view type targets a different surface.

Start with the window, because it is the surface most apps need.

- `defineWindowView`: The app's main, full-page view. It fills the Dashboard to the right of the dock and any open panel, and it is where Media Library and Studios render. If you are coming from the App SDK, this is the surface your app already uses. An application can have at most one window view.
- `definePanelView`: A narrow, persistent column that opens between the dock and the window. It is the same surface Notifications and Content Agent use, and it stays open while the user works in the window. An app can declare several panel views.
- `defineTileView`: A compact view rendered on the Dashboard home page alongside other apps' tiles.
- `defineAssetSourceView`: A picker surface the Dashboard opens when a user selects an asset source.

An application must declare at least one view. If you set `entry` in `defineApplication`, the CLI creates the window view for you, so you only add `defineWindowView` explicitly when you need to configure it. See the Application Blueprints reference for the full field list.

## Build an Extension

#### How to guides

[Customize your app's dock item](https://www.sanity.io/docs/dashboard-beta/add-your-app-to-the-dock)
Choose where your app's window and panels appear in the dock.

[Render a panel](https://www.sanity.io/docs/dashboard-beta/render-a-panel)
Open a UI surface from the dock.

[Render a tile](https://www.sanity.io/docs/dashboard-beta/render-a-tile)
Show a view on the Dashboard home page.

[Run a background service](https://www.sanity.io/docs/dashboard-beta/run-a-background-service)
Run a Web Worker while the Dashboard is open.

## Next Steps

[Extension API reference](https://www.sanity.io/docs/dashboard-beta/extension-api-reference)
Look up fields and callback contexts.

