Skip to content
Data Apps

What are Keboola apps

Understand what Keboola apps are — Python/JS applications that run inside your project on governed data — and how they're hosted.

A Keboola app is an interactive application that runs inside your Keboola project, on top of your data. Use one to give people a way to see and act on data, not just move it.

Keboola has always handled the data pipeline — extracting, transforming, and loading your data. Apps add the layer on top: the interface your team or customers actually use. Because the app runs inside your project, it reaches your data through the same access controls you already manage.

This is the part that sets Keboola apps apart from general app builders: the app is governed by default. There’s no separate database connection to configure, expose, or leak, and no dataset copied to an outside service — the app reads through the project’s own access, server-side. It can only touch data the project can touch, and you control who can open it.

Keboola provisions and runs the app for you — there’s no server to set up.

  • Dashboardstrack metrics, replace a BI seat for an internal view.
  • Internal toolsforms, approvals, and workflows that read and write back to your data.
  • Data narrativesscrollable, explained stories built from your data.
  • Anything interactiveconfigurators, simulators, and more.
  • Agent-facing servicesan app can expose an API or an MCP server so other agents and services call it, not just human visitors (a Python/JS capability).

A Keboola Python/JS app — a Shopify Store Monitor dashboard with KPI tiles, revenue and orders charts, and product/vendor tables — running on the project's governed data

Keboola apps run on Python/JS — any Python web framework (Flask, FastAPI, Dash), a JavaScript frontend (React, Vue, plain JS), or both together. That’s what Kai builds, and the path for all new apps. What that buys you:

  • Any framework, any UI. Full control over look, layout, and interactivity — a polished, customer-facing product, not just an internal tool.
  • Full-stack. A JavaScript/React frontend with a server-side backend (for example, an Express or FastAPI API) in one app.
  • Server-side data access. Your Storage token stays on the server; the browser never sees it.
  • An API — or an MCP server. Because there’s a real backend, the app can serve other agents and services, not just human visitors.
  • Your Git workflow. Develop in your own editor and Git account — production-grade, versioned development.

How development actually works — code, configuration, data access, deployment — is covered in Build locally.

Have an existing Streamlit app? Streamlit remains supported; its documentation lives in the Streamlit apps section.

Every app runs from a Git repository. Where that repository lives decides how you work on the app, so pick the path when you create it.

Kai and a Keboola-managed repository. When Kai creates an app, Keboola also creates a private Git repository for it on your stack (git.<stack>.keboola.com/keboola/app-<id>.git) and Kai commits to it. That’s what makes the rest of the Kai experience possible: the live preview, drafts you refine before publishing, and Modify with Kai later on. You never touch Git; you describe changes and approve them. This is the recommended path for most people, and the one Build your first app with Kai walks through.

Your own repository. Point the app at a repository you host, on GitHub, GitLab, or any Git server, and Keboola clones it on every deploy. You develop wherever you like, with your own editor, your own review process, and coding assistants such as Claude Code using the app-building skill. Kai can’t edit code it doesn’t host, so the Kai builder and its live preview aren’t part of this path; you push a change and click Redeploy. Your repository has to follow a small layout contract so Keboola knows how to start it. Build locally covers it end to end, including the terminal path with kbagent.

Everything after the code is the same on both paths: the same runtime, the same authentication options, the same App URL, the same deploy, redeploy, sleep, and logs.

Kai and a managed repositoryYour own repository
Who writes the codeKai, from your descriptionYou, or your coding assistant
Where it livesA private repo on your Keboola stackGitHub, GitLab, or any Git server
Changing the appTell Kai, preview the draft, publishPush, then Redeploy
Live preview and draftsYesNo
Layout rules for the repoHandled by KaiThe keboola-config/ contract
Best forDashboards, internal tools, getting something in front of people fastExisting code, teams with a review process, custom stacks

Next: Build your first app with Kai →

Ask Kai

Hi, I'm Kai — Keboola's AI assistant for the docs. Ask me anything and I'll answer from the documentation and cite the pages I use.

Kai is an AI and can make mistakes. Check the sources it links.