Skip to main content

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-ui package 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 AppKit object.
PluginWhat it adds
serverExpress HTTP server, static file serving, Vite dev mode (always included)
lakebasePostgres connection pool for Lakebase Postgres with automatic OAuth token refresh
analyticsSQL query execution against Databricks SQL Warehouses. See Analytical reads.
genieGenie space integration for natural-language data queries
servingAuthenticated proxy to Model Serving endpoints with streaming support
filesFile 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.