Skip to content
Keboola Docs

Explore your data

Put the question to your own data: Kai reads the table you built and answers it in plain words, then answers the follow-up.

Tutorial Getting Started

You built the table to answer something, and nobody has said the answer out loud yet. This page does, out of your own project.

Before you start

Where you are staffing_outlook is in Storage.

When you finish the guide’s question answered from your data, and a second answer you did not have to build anything new to get.

You need

What each tab needs

  • Prompt tab Kai, the Kai Agent button in the top bar, on supported stacks. A new Free Plan project has it from the start; elsewhere an organization admin turns it on once: Get started with Kai.
  • UI tab a workspace loaded with staffing_outlook, where you run the SQL below.
  • CLI / API tab kbagent, connected through kbagent project add with an admin (master) token.

Prompt, UI and CLI / API: three ways to do the same task, not three steps. Pick one tab below; later pages open on it.

Most of it can be undone: if a step builds something else, say so in the same chat.

  • Here Kai reads what you built instead of building for you. Querying a table and calculating a metric is Data Exploration, and it needs nothing set up.
  • Nothing on this page changes the project. Kai’s read-only tools run without asking by default, so expect an answer, not an approval card, unless this project’s tool permissions are set to ask.

The question and Kai’s answer in a Free Plan project, in the week the screenshots in this guide come from:

Screenshot - The Kai chat with the question about staffing_outlook and the start of Kai's answer: Vinohrady in Prague is short-handed on Thursday, its warmest day, and Zelný trh in Brno on Monday and Tuesday, where the forecast is much like the rest of its week and the roster is two people instead of three

Weather data by Open-Meteo.com (CC BY 4.0).

The same table answers what-if questions too:

Prompt
Using staffing_outlook: if one extra person joined the roster on every short-handed day, which of those days would still be over 67 expected units per person, and what would each day's figure become?

Check: Kai recomputes the per-person figure for every flagged row with one more person and lists the before and after. In a week with nothing flagged there is nothing to recompute.

What Kai answered on the day this was written

The answer changes with the forecast. In the week of the screenshots, 1 to 7 October 2026, three café-days were flagged: Vinohrady on Thursday, its warmest day, and Zelný trh on Monday and Tuesday, where Kai noticed that the forecast was much like its other days’ and the roster was two people instead of three, “a roster fix, not a forecast surprise”.

The follow-up’s answer that week was none of them: one extra person brought the three days to 54.8, 56.8 and 56.8 expected units per person. That is the kind of thing nobody can see in five separate files, and it took one question because the pipeline had already put the roster next to the demand.

If the numbers come out different

Kai wrote its own SQL and may have drawn the lines somewhere else: rounded before dividing, or read short_handed as text. The definitions this guide uses are the columns your transformation already wrote, so point Kai at those (expected_units, rostered_staff, expected_units_per_person) rather than re-prompting blind. To see where its lines are, ask in the same chat:

Follow-up prompt
Show me the SQL you ran for that answer and the rows it is based on.

It only reads, so by default it asks for no approval, and a wrong filter or a wrong table is easier to spot in the SQL than in the prose.

A chat answer reaches only the person who asked. The next page turns the table into a grid anyone can open.

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.