Skip to content
Keboola Docs

Load from Google Sheets

Load a table from a spreadsheet you own, with an authorized Google account instead of a public URL.

How-to Going further about 10 minutes

A side trip from Get your data in: the same kind of load, from a spreadsheet you own. Drive is where small reference tables get shared between teams, and the only real difference is the authorization — this connector needs an account, not a public URL.

Where you are: you can load a public file already. When you finish: a Storage table built from a spreadsheet, refreshed whenever the connector runs.

Before you start

  • A Keboola project. Get a project covers creating or joining one — the Free Plan covers this guide.
  • A Google account you can sign in with. The consent screen lives in your own account, so it is the one thing no assistant can click for you.
  • A spreadsheet in that account to load from. Prepare a spreadsheet below makes one out of a sample file.

Two ways to do this, one page — they are alternatives, not steps. Prompt is what you paste into Kai; UI is the same task click by click, for when you want to see where each setting lives. Either tab reaches the same result.

Kai asks before it changes anything: expect one approval dialog per object it creates, showing the exact configuration it is about to write. Questions that only read do not ask. If confirming each one gets tiring, pre-approve tools in tool permissions. The chat's plan mode button is a different thing: Kai writes the steps down and asks you to approve the plan before it starts — and then still asks for each change. Use it when you want to read the plan first, not to save clicks.

If a step builds something other than what this page describes, say so in the same chat — it edits what it made. Nothing here is one-way.

Two tabs here, not the three the main path uses: the consent screen and the Drive file picker are browser dialogs in your own Google account, so a terminal cannot start this task. Once the configuration exists and is authorized, kbagent drives it like any other component, config row-create to add a sheet and job run --wait to load it.

You need a spreadsheet in Drive to load from. Open Google Sheets, start a blank one, then use File → Import to upload level.csv. Twenty-eight rows, two columns.

Screenshot - The sample data in Google Sheets

Treat it as a table a colleague shared with you.

Kai can create the configuration (integration setup) but not authorize it. Open Kai Agent in the top bar:

Prompt
Create a Google Sheets data source configuration called "Level from Sheets".

Then do the authorization and the file picking yourself, steps 5 to 9 in the UI tab. Both happen inside Google rather than Keboola: the consent screen, and the Drive picker where you choose the spreadsheet you just made.

Once the spreadsheet is selected, hand it back:

Prompt
In "Level from Sheets", select the sheet inside that spreadsheet, run the configuration, and tell
me what table it created and how many rows it has.

Watch the wording in both prompts. The spreadsheet is the file in Drive; the sheet is the tab inside it. The connector asks for them in that order, and so does Kai.

The new table holds 28 rows, the ones you uploaded into the spreadsheet, with the column names from its first row.

  • The job fails on permissions. The authorization was revoked or expired in the Google account. Re-authorize the configuration; the file selection survives.
  • The spreadsheet is not in the picker. It belongs to a different Google account from the one you authorized. Authorize that account, or share the file with this one.
  • The table arrives with one row of data and a header called 1, 2, 3. The sheet’s first row was not treated as a header. Check the sheet settings in the configuration.
  • Nothing happens after selecting the sheet. Selecting saves the configuration; loading is a separate run. Click Run Component.
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.