Back to Databox in Google Sheets
SheetXAI logo
Databox logo
Databox · Google Sheets Guide

Initialize a Databox Data Source and Dataset From a Google Sheet Schema

2026-05-14
5 min read

The Scenario

You joined the company eight weeks ago as the marketing ops manager. The CMO told you on your first day that the paid ads dashboard in Databox was "a work in progress." You've since learned that the historical ad spend data — 18 months of it, by channel and campaign — lives in a Google Sheet that your predecessor maintained. It has never been in Databox. The trend lines the CMO wants to show the board next quarter don't exist yet because no one ever loaded the history.

This is now yours to fix. The data is clean. The sheet has 18 rows, one per month, with columns for channel, campaign, spend, impressions, and click-through rate. What doesn't exist is the Databox data source, the dataset, or the schema. Everything has to be created from scratch before the data can go anywhere.

The bad version:

  • Log into Databox, navigate to Data Manager, create a new data source manually — picking the right source type, naming it, setting the timezone, saving.
  • Create a dataset under it, define each metric manually in the dataset schema UI — adding field names, types, and the primary key one by one.
  • Go back to the Google Sheet, format 18 rows into the JSON structure the Push API expects, write or borrow an API call script, and run it against the Databox endpoint.
  • Discover that the date format you used ("April 2024") doesn't parse as a valid timestamp and none of the 18 rows loaded.

Three hours in, the dashboard still has no history. The CMO has a meeting next Friday.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the data, infers the schema from the first row, creates the Databox data source and dataset, and populates it with the historical records — in one workflow.

Open the SheetXAI sidebar and paste this:

Create a Databox data source titled 'Paid Ad History', create a dataset 'Monthly Spend' with primary key 'month_year', and push all 18 rows from columns A through F of the AdSpend sheet — convert the month column to ISO 8601 format before pushing.

SheetXAI creates the data source, defines the dataset schema using row 1 as the field list, converts the month column from "April 2024" format to "2024-04-01" before the push, and sends all 18 rows as a batch. The sidebar confirms the data source ID and dataset ID when done.

What You Get

  • A new Databox data source ('Paid Ad History') and dataset ('Monthly Spend'), both confirmed with IDs in the sidebar.
  • All 18 months of data pushed as formatted data points, with month_year as the primary key.
  • Date conversion from "Month YYYY" plain text to ISO 8601, applied before the push so nothing fails the timestamp validator.
  • A row-by-row status written back to column G of the AdSpend sheet: "pushed" or "skipped — reason."

What If the Data Is Not Quite Ready

The month column uses three different formats across 18 rows

Some rows say "April 2024," some say "Apr-24," some say "2024-04."

In the AdSpend sheet, normalize all values in the month column (column A) to ISO 8601 format (first day of each month, YYYY-MM-DD), then create a Databox data source called 'Paid Ad History', create a dataset 'Monthly Spend' with primary key 'month_year', and push all 18 rows from columns A through F.

The spend column has some rows in USD and some in EUR

International campaigns were tracked in local currency.

In the AdSpend sheet, identify rows in column E where the currency is EUR (marked in column F), convert those values to USD using a fixed rate of 1.08, then create a Databox data source 'Paid Ad History', create a dataset 'Monthly Spend' with primary key 'month_year', and push all 18 normalized rows.

There are two separate sheets — one for paid search, one for paid social

You want them merged into one Databox dataset with a channel column distinguishing them.

Join the PaidSearch tab and PaidSocial tab from this workbook, add a 'channel' column with values 'paid_search' and 'paid_social' respectively, write the merged result to a MergedAdSpend tab, then create a Databox data source 'Paid Ad History', create a dataset 'Monthly Spend — All Channels' with primary key 'month_year', and push all merged rows.

The CMO also wants a second dataset for impression-to-click benchmarks, derived from the same source data

One source, two datasets, one prompt.

From the AdSpend sheet, create a Databox data source 'Paid Ad History', then create two datasets: 'Monthly Spend' with primary key 'month_year' using columns A through C, and 'CTR Benchmarks' with primary key 'month_year' using columns A, D, and E. Push all 18 rows to each dataset.

One ask covers the split — no need to run two separate workflows or hand off the second dataset to someone else.

Try It

Get the 7-day free trial of SheetXAI and open the sheet with your historical ad spend data, then ask it to create the Databox data source and populate it from scratch. You can also see how to push campaign data to Databox or view the full Databox integration overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more