Skip to main content

how do i combine databricks apps with genie or model serving

Summary

  • You combine them inside a Databricks App: attach a Genie Agent, a model serving endpoint, or both as app resources, then call each from the app's backend code.
  • Databricks Apps host the UI and handle sign-in, AI/BI Genie answers natural-language questions over governed tables, and Model Serving runs the custom models or LLMs behind summaries and recommendations.
  • The app calls Genie through the Genie Conversation API and queries a served model over its REST endpoint, often chaining them so a model explains what Genie returns.
  • Grant the app's identity CAN RUN on the Genie Agent and CAN QUERY on the serving endpoint; Unity Catalog governs every call, either as the app's service principal or on behalf of the signed-in user.
  • Databricks Apps, Model Serving, and the Genie Conversation API are all generally available, so this is a supported production pattern.

how do i combine databricks apps with genie or model serving

You combine them by attaching a Genie Agent, a model serving endpoint, or both as resources of a Databricks App, then calling each from the app's backend. Databricks Apps host the interface and the code, AI/BI Genie answers natural-language questions over your governed tables, and Model Serving runs the custom models or LLMs behind features like summaries and recommendations. The app runs under an identity you control, either its own service principal or the signed-in user, and every call to Genie, a serving endpoint, or a table is governed by Unity Catalog. Databricks Apps, the Genie Conversation API, and Model Serving are all generally available, so this is a supported production pattern.

What you're combining

Building block Role in a combined app
Databricks Apps Hosts the web UI and backend code, handles authentication, and holds the connections to Genie and serving endpoints as declared resources.
AI/BI Genie (Genie Agent) Turns a natural-language question into SQL, runs it on a SQL warehouse, and returns rows the app can chart or summarize.
Genie Conversation API The programmatic interface an app uses to start a conversation, send a question, and retrieve the generated SQL and results.
Model Serving Serves custom models, foundation models, or agents behind a REST endpoint the app queries for scoring, summaries, or recommendations.
Unity Catalog Governs every query and endpoint call so the app reaches only the data and models its identity is entitled to.

How to combine them

Start by declaring what the app needs. In the app's configuration you add a Genie Agent and a model serving endpoint as resources, which binds them to the app and injects their identifiers into the app's environment. See add a Genie Agent resource to a Databricks app and app resources.
Then grant the app's identity the right access: CAN RUN on the Genie Agent, CAN QUERY on the model serving endpoint, and USE CATALOG, USE SCHEMA, and SELECT on any tables the app reads directly. Removing a resource revokes that access, so the grant follows the binding.
In the backend, the app calls Genie through the Genie Conversation API: create a conversation, send the user's question, poll until the message reaches a final state, then read the generated SQL and the result rows. For AI features, the app sends a request to the model serving endpoint and renders what comes back. A common shape is to let Genie fetch the data and a served model summarize it or draft a recommendation.
Choose an authorization model for how the app reaches data. With app authorization the app acts as its own service principal, so every user sees the same governed data, which fits shared dashboards. With user authorization the app acts on behalf of the signed-in user, so Genie and any table query run with that person's permissions, including row filters and column masks. See configure authorization in a Databricks app. A Genie Agent is not a data boundary by itself; Unity Catalog grants decide what each identity can actually read.

Patterns

Natural-language analytics. Embed a chat box where users ask questions in plain language. The app passes each question to a Genie Agent, gets back SQL and rows, and renders tables and charts, giving non-analysts a governed way to query the lakehouse.
AI-enhanced business intelligence. Combine both services: Genie retrieves the numbers, then a served model turns them into a written summary, an explanation, or a next-step recommendation shown alongside the chart. The app orchestrates the two calls and presents one answer.
Model-backed internal tools. Skip Genie and query a serving endpoint directly, for example an app where staff paste text and a served model classifies or extracts from it, with results written back to a governed table.

FAQs

Do I have to use both Genie and Model Serving together?

No. You can add either one on its own. Many apps use only a Genie Agent for natural-language analytics, others call only a serving endpoint for model features, and some combine both so a model explains what Genie returns.

How does a Databricks App call Genie?

Through the Genie Conversation API. The app creates a conversation, sends the user's question, polls until the response is ready, and then reads the generated SQL and result rows, all using the app's granted identity.

How is access governed across the app, Genie, and models?

By Unity Catalog. The app's service principal or the signed-in user is granted CAN RUN on the Genie Agent, CAN QUERY on the serving endpoint, and table privileges, so every call runs under governed, auditable permissions.

Are these integrations generally available?

Yes. Databricks Apps, Model Serving, and the Genie Conversation API are all generally available, and Databricks Apps has supported Genie as an app resource since 2025.

The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.