You can build a one-page dashboard from a spreadsheet using Claude or ChatGPT in an afternoon, with no code and no BI subscription. The method: aggregate and anonymise your numbers in the spreadsheet, paste the summary into the AI, describe the dashboard in plain English, iterate on the charts and layout, then ask for a single HTML file. You open that file in any browser — nothing to install, nothing to log into — and it shows your KPIs as charts the partners can read at a glance.
This guide is for the practice manager or office administrator at an Australian accounting, legal, real estate or conveyancing firm who already has the numbers in a sheet and just wants them to look like a dashboard for the monthly partners' meeting. You don't want to learn Power BI and you don't want to hire anyone to do it.
Before anything else: get the sensitive data out
The single most important step happens before you touch the AI. Figures like work-in-progress, lock-up days, individual fee-earner revenue and client-level billings are commercially sensitive, and anything tied to a named person is personal information. Under the Privacy Act, the moment you paste personal information into a public chatbot you have made a disclosure you probably can't control. The OAIC's general guidance on commercially available AI products is clear that publicly available tools should not be fed personal information.
The fix is simple and it also makes a better dashboard. You don't need row-level detail to draw a chart — you need the totals. So aggregate inside your practice system or spreadsheet first:
- Replace staff names with roles or codes — "Senior 1", "Principal", "Conveyancer A".
- Replace client names with segments — "Commercial", "Residential", "Family".
- Report monthly totals and averages, not individual matters or invoices.
- Round where exactness doesn't matter for the point you're making.
What you paste into the AI should be a small summary table — maybe 12 rows by 6 columns — that no longer identifies any person or client. If you're unsure where the line sits, our explainer on AI and client data under the Australian Privacy Act walks through it. For a dashboard you almost never need raw data, so this is an easy rule to follow.
Which AI tool, and where to start
Two products do this well for a beginner:
- Claude (claude.ai) using Artifacts. Claude is particularly good at generating a self-contained HTML file and showing you a live preview beside the chat. The free tier handles a simple dashboard; the paid Pro tier (around AUD $30/month) gives you more room to iterate.
- ChatGPT (chatgpt.com) using Canvas. Also strong, and the one to pick if your firm already pays for it. The free tier works for a first attempt.
Either is fine. If you want the fuller comparison, see ChatGPT vs Claude vs Gemini for building small business tools. This walkthrough uses Claude with Artifacts, but the prompts translate directly to ChatGPT Canvas.
How to turn a Google Sheet into a dashboard with AI
Open your sheet, select your sanitised summary table, and copy it. Go to Claude and start a new chat. Here is the first prompt to type — paste your table underneath it:
"I'm a practice manager at a small Australian firm. Below is a sanitised monthly summary of our KPIs. Build me a single-page HTML dashboard I can open in a browser. Use clear charts, a clean professional layout, and label everything in plain English. No logins, no external data, everything in one file. Here is the data: [paste your table]"
Claude will produce an Artifact — a live dashboard preview. It will usually look roughly right and wrong in specific ways. That's expected. The skill isn't the first prompt; it's how you react to the first draft.
How to make ChatGPT or Claude fix the chart
Treat the AI like a designer who can't see your meeting. Tell it exactly what's off, one change at a time. Real follow-up prompts, in the order you'd actually use them:
- "The revenue trend should be a line chart, not bars, so the direction is obvious."
- "Show the three headline numbers — total revenue, average lock-up days and new matters — as large tiles across the top."
- "Lock-up over 90 days is bad. Colour that tile red when the number is above 90, green when it's below 60."
- "Group the fee-earner chart by role, sorted highest to lowest."
- "Use our brand colours: headings in navy, accents in teal. Add the firm name and 'Month ending [date]' at the top."
- "Make it print cleanly to a single A4 page in landscape."
If a change makes something else worse, say so plainly: "That fixed the colours but the chart labels now overlap — give them more room or angle them." You are not expected to know the solution. Describing the problem in ordinary words is enough.
When it looks right, ask: "Give me the complete HTML file to download." Save it somewhere sensible on your firm's drive — not your desktop. You now have a dashboard you can email or open in the meeting.
Refreshing it next month without rebuilding
The dashboard has your numbers baked into the file, so it doesn't update itself. That's a feature, not a bug — it's a frozen snapshot of that month, which is exactly what a meeting pack should be. To refresh:
- Update your sanitised summary table in the spreadsheet.
- Reopen the same Claude chat, paste the new table, and type: "Same dashboard, new month's figures. Update the charts and the headline tiles, keep the layout identical."
- Download the new file and name it with the month — dashboard-2025-03.html.
Keeping each month as a dated file gives you a simple archive. Ten minutes, start to finish, once the template exists. If you find yourself doing this every month and wanting it automatic, that's the signal you've outgrown the manual approach — more on that below.
A simple KPI dashboard for a small firm: what to put on it
Resist the urge to show everything. A partners' dashboard earns its place by answering "are we okay?" in ten seconds. For a small professional services firm, a sensible one-pager is:
| Section | What it shows | Why partners care |
|---|---|---|
| Headline tiles | Revenue, lock-up days, new matters/listings this month | The three-second health check |
| Revenue trend | Monthly revenue over the last 12 months | Direction and seasonality |
| Work in progress | Aggregated WIP by practice area | Where cash is tied up |
| Productivity | Billings by role (anonymised) | Capacity and workload balance |
| Pipeline | New enquiries or matters opened | What's coming |
Five things, aggregated, no names. If a partner wants to drill into a specific matter, that's a conversation with the practice system — not something this dashboard should try to do.
Looker Studio vs an AI-generated dashboard: which should you use?
An AI-built HTML file is perfect for a static monthly snapshot. It stops being the right tool the moment you want the dashboard to update itself from a live data source, or to be shared with people who should only see part of it. Here's the honest split:
| Use an AI-generated HTML dashboard when… | Use Looker Studio or Power BI when… |
|---|---|
| You want a monthly snapshot for a meeting | You want numbers that refresh automatically |
| The data lives in one spreadsheet you control | Data comes from Xero, your practice system or several sources |
| You're happy to paste updated figures each month | Nobody has time to update it manually |
| A handful of partners view the same thing | Different people need different, filtered views |
| You want zero ongoing subscription | You need role-based access and sharing controls |
Looker Studio is free and connects straight to Google Sheets; Power BI suits firms already in Microsoft 365. Both have a steeper learning curve and both pull live data — which means you must solve the privacy question properly, not by pasting a sanitised summary. If you're weighing the effort of building something recurring against just getting another pair of hands on the reporting, our piece on what to automate before hiring another staff member is a useful gut-check.
What this dashboard must not become
Keep it in its lane:
- Never paste raw, client-level or named data into the AI. Aggregate and anonymise first, every time. No exceptions for "just this once".
- Don't send the HTML file to clients or publish it. It's an internal meeting artefact. If partners want something client-facing, that's a reviewed, designed deliverable.
- Don't trust the numbers blind. The AI can transcribe a figure wrong or mislabel an axis. Check the totals against your source sheet before the meeting — the AI handles the drawing, you own the accuracy.
- Don't let it drift into shadow IT. One person building private dashboards outside the firm's AI policy is a risk. Agree who owns the template, where the files live, and that the rule is sanitised data only. If your firm hasn't set those ground rules, read the vibe coding risks worth managing first.
Ownership is the quiet question. The tool lives as an HTML file on your drive, which means you own it outright — there's no vendor to lose access to. The dependency is the AI product you used to build it; if Claude or ChatGPT changes, your existing files still open fine, you just regenerate the template when you next need to. That's about as low-maintenance as a firm tool gets.
When to stop and get help
Hand it to someone technical once the dashboard needs live connections to Xero or your practice management system, automatic monthly refreshes, or secure sharing with controlled access. At that point you're building a reporting system, not a meeting handout, and the privacy and maintenance obligations change. For a sense of what that costs versus doing it in-house, see our breakdown of AI automation costs for a small Australian firm.
If this gave you the nudge to build your first tool, our free guide 10 AI Workflows to Save 10+ Hours a Week has nine more — each a small, finishable project aimed squarely at time-poor professional services teams.
Common questions
How do I get ChatGPT to make a chart from my data?
Paste a small, anonymised summary table into ChatGPT and ask it to build the chart in Canvas — specify the chart type, labels and what the chart should make obvious. When the first version is wrong, describe the problem in plain English one change at a time. ChatGPT redraws it. Only ever paste aggregated figures, never named or client-level data.
Can I turn a Google Sheet into a dashboard with AI for free?
Yes. Copy a sanitised summary from your sheet into the free tier of Claude or ChatGPT and ask for a single-page HTML dashboard. It generates a file you open in any browser — no subscription, no install. The free tiers handle a simple dashboard; paid tiers only help if you iterate heavily or build several.
Is it safe to put my firm's financial figures into an AI tool?
Only if you aggregate and anonymise first. WIP, lock-up and revenue are sensitive, and anything tied to a named person is personal information under the Privacy Act. The OAIC's general guidance is that public chatbots shouldn't receive personal information. Paste monthly totals with roles and segments instead of names — a dashboard never needs row-level detail.
When should I use Looker Studio instead of an AI-generated dashboard?
Use Looker Studio or Power BI when you need the dashboard to refresh automatically from live sources like Xero or your practice system, or when different people need filtered views with controlled access. An AI-generated HTML file is better for a static monthly snapshot you update by hand and share with a few partners at no ongoing cost.
How do I refresh the dashboard each month?
The figures are baked into the HTML file, so it won't auto-update — which suits a meeting snapshot. Reopen the same AI chat, paste your updated summary table, and ask it to keep the layout identical but use the new month's numbers. Download and save it with a dated filename. It takes about ten minutes once the template exists.
Want these ideas working in your firm? We build controlled AI workflows for Australian professional services firms — starting with a free automation audit.