Learn to build a live founder dashboard using Gemini AI inside Google Sheets. This tutorial covers prompt engineering for KPI tables, dynamic chart generation, and automated refreshes with Apps Script, saving hours of manual BI work.
You want a real-time view of your startup's health without signing up for another BI tool that demands six weeks of setup. You already live inside Google Sheets. The raw data is there: MRR, churn, CAC, new signups. The missing piece is the spark of intelligence that turns those columns into a living dashboard.
Gemini AI, built directly into Google Sheets, gives you that spark. In this tutorial you will build a fully automated Gemini AI founder dashboard that generates KPI summaries, dynamic charts, and insight cards from raw data, all without writing complex formulas or switching to Looker. You will craft natural language prompts that Gemini runs against your spreadsheet. You will use the =GEMINI() function to embed AI responses directly into cells. And for the final touch, you will write a short Google Apps Script to refresh everything on a weekly schedule.
This is not a theoretical walkthrough. Every prompt, every script, every chart configuration is copy paste ready. By the end of the afternoon you will have a dashboard that updates itself while you focus on what matters: building your business.
What You'll Build: A Real-Time Founder Dashboard with Gemini AI
Imagine opening a single Google Sheet each Monday morning. The top section shows four KPI cards: MRR this month, percentage change from last month, average churn rate, and new customers acquired. Below that a line chart plots MRR over the last six months with a trendline. To the right a table breaks down the same metrics per month. You did not touch a single formula. Gemini generated everything from your raw data.
That is the final deliverable. You will build it in four steps:
- Craft a precise prompt to produce a KPI summary table from columns A:D.
- Describe a chart in natural language and let Gemini create the configuration.
- Use the
=GEMINI()function to generate insight cards that change as data updates. - Wire an Apps Script trigger to rerun the whole process every week.
This approach replaces heavy BI platforms like Tableau or Metabase with a lightweight, AI powered alternative. For a technical founder who already understands her metrics, the payoff is speed and zero context switching. You keep your source of truth in Sheets, which every team member can access, and you let Gemini handle the chore of summarising and visualising.
Prerequisites: Setting Up Gemini in Google Sheets
Before we write a single prompt, you need the right environment. The setup takes less than five minutes.
Enable the Gemini add-on in Google Workspace
You need a Google Workspace account with the Gemini add-on enabled. This is available through Google One AI Premium (for personal accounts) or as a Workspace add-on for business plans. If you do not see "Gemini" in the right sidebar of your Google Sheet, go to Extensions > Add-ons > Get add-ons and search for "Gemini for Google Workspace". Install it and grant the required permissions.
The side panel is where you will write most of your prompts during the first two steps. It appears as a chat window on the right side of your sheet.
Prepare your raw data
Gemini works best on clean, tabular data. For this tutorial create a sheet named RawData with the following columns:
- Date (column A) with monthly timestamps, e.g., 1/1/2025, 2/1/2025 ...
- MRR (column B) with monthly recurring revenue figures, e.g., 45000, 52000, 61000
- Churn Rate (column C) as a decimal, e.g., 0.035, 0.028, 0.031
- New Customers (column D) integers, e.g., 23, 30, 27
Populate at least six months of data. Gemini will use this range to generate all dashboard elements.
Optional: Google Apps Script environment
For the automation step we need the built in script editor. Open Extensions > Apps Script and a new tab will open. You will paste our refresh script there later. No external libraries required.
Prompt Engineering: Generate a KPI Summary Table from Raw Data
The Gemini side panel is your command centre. Click the Gemini icon on the right, then type your request with enough precision to avoid ambiguous results.
Craft the prompt
Open your sheet with the six months of data. In the Gemini side panel, write:
Create a table summarizing total MRR, average churn, and new customers per month from the data in columns A:D. Use headers: Month, Total MRR, Avg Churn, New Customers. Format MRR as currency, churn as percentage, and new customers as integer. Place the output starting in cell F1 of the current sheet.
Press Enter. In a few seconds Gemini will write a new table in columns F through I. The result looks like this:
Month Total MRR Avg Churn New Customers
Jan 2025 $45,000 3.50% 23
Feb 2025 $52,000 2.80% 30
Mar 2025 $61,000 3.10% 27
...
Why this works: Gemini parses your raw data, groups by month (even if your dates are not sorted), performs the aggregation, and formats the output cell by cell. The prompt explicitly names the destination range F1. Without that Gemini might write the table in a random location or overwrite your raw data.
Tip for reusability: Before running the prompt, define a named range for your raw data. Select cells A1:D7, go to Data > Named ranges and call it rawData. Then change the prompt to read "from the named range rawData". When you append next month's data to the named range, the same prompt will work again without editing.
Automating Chart Creation with Multimodal Prompts
Now that the KPI table sits in F1, you want a visual trend. Gemini can generate a chart configuration directly from natural language.
Describe the chart
In the same Gemini side panel, type:
Create a line chart of MRR over time. Use the data in columns F and G (Month and Total MRR). Set the X-axis to month labels and the Y-axis to revenue in thousands of dollars. Add a trendline and change the line color to blue. Place the chart in cell F10 of the current sheet.
Gemini will open the chart editor, configure the ranges, the series, and even the trendline. You will see a chart object appear at cell F10. If your first request did not produce the exact colours or trendline, just ask for a modification: "Change the chart title to Monthly MRR Trend and remove gridlines."
This step is where the Gemini chart generation Google Sheets capability shines. It bypasses the familiar but tedious chart editor wizard. Instead of clicking through five menus, you speak the design once. For technical founders who value speed over pixel perfection, this is a game changer.
Limitation: Gemini currently creates standard Google Sheets chart types (line, bar, pie, scatter). It cannot produce complex visualisations like heatmaps or Sankey diagrams. For a founder dashboard the basic line and bar charts are sufficient. If you need more advanced charts, consider exporting the data to a dedicated tool like Data Studio, but that adds complexity Gemini is designed to avoid.
Building Dynamic KPI Cards with Gemini Formulas
The =GEMINI() function is the real magic for a live dashboard. It lets you embed an AI query inside a cell, and the output updates whenever the referenced data changes. This is perfect for KPI cards that show key numbers at a glance.
Using the GEMINI function
In a new sheet called Dashboard, cell B2, type:
=GEMINI("What is the percentage change in MRR from the last month to the current month? Use the data in the named range rawData.", rawData)
Gemini returns a text string like: "MRR increased by 17.3% from February to March."
That single formula replaces a complex chain of INDEX, MATCH, and arithmetic. The second argument (rawData) tells Gemini which cells to look at. When you update the raw data with April numbers, the formula recalculates and returns the new percentage.
Create three more KPI cards in the same row:
=GEMINI("What is the average churn rate over the last three months? Format as percentage.", rawData)
=GEMINI("How many total new customers were acquired in the latest month?", rawData)
=GEMINI("What is the month-over-month growth rate of MRR? Show as a percentage.", rawData)
Each returns a clean sentence. For a visual card, wrap the output in a cell with a background colour and add a SPARKLINE to show the mini trend. For example, in cell B6 you might add:
=SPARKLINE(OFFSET(rawData,0,1,6,1), {"charttype","line"; "color","blue"})
Now the KPI card area shows both a textual insight and a tiny sparkline. No manual scripting needed.
Trade-off: The =GEMINI() function is not available in all Workspace tiers. If you see a #NAME? error, check that your account has the Gemini add-on enabled and that the sheet is saved in a supported region. As a fallback you can use the side panel prompts we used earlier, but those require manual reruns. The function is the difference between a static dashboard and a live one.
Advanced: Automate Dashboard Refresh with Apps Script
You have a dashboard that updates when you edit cells. But you want a fully hands off system. When a new month of data lands in your raw table, you want the =GEMINI() formulas and the chart to refresh automatically on a schedule. That is where Google Apps Script and the Gemini API step in.
Calling the Gemini API from Apps Script
Open the script editor (Extensions > Apps Script). Paste the following function. It uses UrlFetchApp to call the Gemini API with your sheet data as context.
function refreshDashboard() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("RawData");
const range = sheet.getDataRange();
const values = range.getValues();
// Convert to string for the API prompt
const dataString = values.map(row => row.join(",")).join("\n");
const apiKey = "YOUR_GEMINI_API_KEY"; // Replace with your actual API key
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${apiKey}`;
const prompt = `Given this startup data (Date, MRR, Churn, NewCustomers):\n${dataString}\n\nSummarise the key KPIs in a table with columns Month, Total MRR, Avg Churn, New Customers. Format MRR as currency, churn as percentage.`;
const payload = {
contents: [{
parts: [{ text: prompt }]
}]
};
const options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(url, options);
const json = JSON.parse(response.getContentText());
const text = json.candidates[0].content.parts[0].text;
// Write the output to a sheet called "AIDashboard"
let outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AIDashboard");
if (!outputSheet) {
outputSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet("AIDashboard");
}
// Parse the returned text and write to cells, or just dump as one string
outputSheet.getRange("A1").setValue(text);
}
Replace YOUR_GEMINI_API_KEY with a real key from Google AI Studio. The script sends your raw data as context, asks Gemini to produce a KPI table, and writes the result to a dedicated sheet.
Set up a weekly trigger
In the Apps Script editor, click the clock icon (Triggers). Add a new trigger:
- Choose function: refreshDashboard
- Choose deployment: Head
- Event source: Time-driven
- Select week timer: choose a day and time (Sunday midnight is a good choice).
Now every Sunday the script runs, fetches the latest data from RawData, sends it to Gemini, and overwrites the AIDashboard sheet with fresh KPIs. The chart that references that sheet updates automatically when the data changes. You have a fully automated Gemini AI founder dashboard.
Why Apps Script over the side panel? The side panel requires you to be logged in and manually press Enter. The script runs in the background whether you are asleep or pitching investors.
Pitfalls and Best Practices for Your AI Dashboard
Even the most elegant automation has trapdoors. Here are the three most common Gemini AI dashboard pitfalls and how to avoid them.
Data privacy: Keep sensitive numbers away from the side panel
When you use the Gemini side panel in Google Sheets, your data is sent to Google's servers for processing. If your startup's MRR or churn data is confidential, do not use the public Gemini side panel. Instead, use the API approach from Apps Script with a service account that respects your organisation's data governance policies. Or consider using a self hosted model. For most early stage founders the convenience outweighs the risk, but be honest with yourself about compliance (e.g., HIPAA, SOC2).
Prompt accuracy: Be explicit about formats and dates
Gemini interprets ambiguous prompts inconsistently. Always specify:
- Date format: "Use US date format (MM/DD/YYYY)" or "Use ISO format (YYYY-MM-DD)"
- Number formatting: "Show MRR as currency without decimals"
- Output location: "Place the table starting at cell A10 of the current sheet"
If Gemini returns a table in the wrong shape, add an explicit instruction: "Do not include a header row" or "Include exactly three columns: Date, Revenue, Churn".
Handling errors: Validate before you trust
Gemini may misinterpret sparse or outlier heavy data. Keep a raw backup copy of your original data (read only). Before you rely on the dashboard for a board meeting, manually spot check one or two numbers. Add data validation dropdowns on your raw data sheet to prevent Gemini from reading text in a numeric column. For extra safety, wrap your =GEMINI() calls in =IFERROR() so the card shows "N/A" instead of a cryptic error.
Next Steps
Your dashboard is live, automated, and ready to evolve. Here is how to push it further.
- Add more data sources: Import CSV from your payment processor (Stripe, Paddle) into the raw sheet. gemini will handle the rest.
- Connect to your CRM: Use n8n web scraping to pull competitor pricing or market trends into a separate sheet, then ask Gemini to correlate them with your MRR.
- Extend the Apps Script: Add a function that emails the dashboard snapshot to your cofounders every Monday morning. Use
MailApp.sendEmail()with the HTML version of the sheet. - Explore multimodal charts: Ask Gemini to generate a bar chart comparing churn rates across customer segments. If you have a column for "plan type", include it in the prompt.
The Gemini AI in Google Sheets combo is not a replacement for a proper data warehouse. But for a founder who needs to see the pulse of the business in one tab, it removes the friction of manual spreadsheet gymnastics. Stop formatting cells. Start asking questions.
Cover photo by Pawel Czerwinski on Unsplash.
Frequently Asked Questions
Can Gemini work with live data from payment platforms like Stripe? +
Yes, as long as the data is imported into the Google Sheet in a clean tabular format. You can use a tool like n8n or a simple Zap to append Stripe transactions daily, then ask Gemini to summarise MRR, churn, and LTV from the updated range.
Is the =GEMINI() function available in all Google Workspace tiers? +
No. It requires a Google One AI Premium subscription or a Workspace add-on that includes Gemini. Check your admin console for "Gemini for Google Workspace". If the function is missing, use the side panel prompts manually or switch to the Apps Script API approach described in this tutorial.
How do I prevent Gemini from overwriting my existing data when I run a prompt? +
Always specify the exact destination cell in your prompt (e.g., "Place the table starting in cell F1"). For Apps Script, write to a dedicated output sheet and never modify the raw data sheet from code. Keep a backup of the raw data with the sheet's version history enabled.
Lucas Oliveira