What is Databricks Apps?
Databricks Apps hosts your web app inside your workspace. It gets a fixed URL, built-in OAuth, and direct access to your workspace data and services. No separate hosting service, no auth layer to build, no credential rotation to manage.
AppKit is the TypeScript SDK for building those apps. It provides pre-built React UI components, type-safe data access, and a plugin system for connecting to Databricks services.
How it works
AppKit uses a three-layer architecture with plugins that register capabilities at each layer:
- Client: React frontend served by Vite. The
@databricks/appkit-uipackage provides data tables, charts, dialogs, and layout components. - Server: Express HTTP server with Databricks OAuth built in. Plugins attach routes and middleware at this layer.
- Data: Plugin-based access to Databricks resources. Each plugin wraps a resource type and exposes a typed API on the
AppKitobject.
| Plugin | What it adds |
|---|---|
| server | Express HTTP server, static file serving, Vite dev mode (always included) |
| lakebase | Postgres connection pool for Lakebase Postgres with automatic OAuth token refresh |
| analytics | SQL query execution against Databricks SQL Warehouses. See Analytical reads. |
| genie | Genie space integration for natural-language data queries |
| serving | Authenticated proxy to Model Serving endpoints with streaming support |
| files | File operations against Unity Catalog Volumes |
How auth works
Every app gets a dedicated service principal. Databricks injects its credentials at runtime, so your app can call workspace APIs without managing tokens.
By default, all requests run as this service principal and all users share its permissions. When you need per-user data access, Databricks can forward the signed-in user's token via x-forwarded-access-token. AppKit's built-in Genie and Model Serving plugins handle this automatically.
When to use it
Apps are about interactivity, not only analytics. A dashboard is great for read-only views with pre-canned filters; an app does that plus accepts input, runs logic, and persists results. Build an app when your workflow needs any of those, for example a scenario builder that saves user-created cases, or an internal tool replacing a manual spreadsheet process.
When not to use it
- Static sites with no Databricks data access. Host these anywhere.
- Public-facing or customer-facing apps. By default, users must be authenticated identities in your Databricks workspace. For external or customer-facing access, see App Users.
- Pure read-only dashboards that AI/BI Dashboards already cover. Use a dashboard until you need to persist user input or run custom logic on top of it.
Where to next
Templates are agent-ready prompts organized by use case. Find one that fits, or see the Apps Quickstart for a step-by-step walkthrough.