
ChatGPT Data Analysis: Where It Stops and What to Plug In
ChatGPT data analysis nails the middle step. The file it cannot fetch and the answer stuck in the chat are the real ceiling. Here is what to plug in.
Every month, the same ritual. Export the payments CSV from Stripe. Export another from the ad account. Drag both into a chat, ask which channel actually paid for itself, get a clean answer in under a minute. ChatGPT data analysis is genuinely good at that middle part — faster and more patient than I am with a pivot table. The problem is the two steps either side: getting the files, and doing something with the answer. Both still get done by hand, by me, on a Monday morning.
That is the ceiling people are hitting right now. Not an intelligence ceiling, a plumbing one, and the fix is not a better prompt.

What ChatGPT data analysis actually does well
Credit where it is due. Hand it a clean file and a clear question and it writes and runs Python for you. OpenAI's own data analysis help page describes a stateful Jupyter notebook environment that summarises rows, columns, trends and outliers, runs statistical work, and renders charts as images, with a switch to interactive for bar, line, pie and scatter. It shows its code, so you can audit the method instead of trusting a number.
For a one-off question about a file already on your laptop, that is the best value in analytics. Nothing here is an argument against using it. It is an argument about where the workflow ends.
Where ChatGPT data analysis stops
Four walls, in the order you hit them.
It cannot go and get the data
Straight from that same help page, under Constraints: "The Python environment used for data analysis cannot make external web requests or API calls." No hitting your Stripe API, no read replica, no partner endpoint. The numbers have to arrive as a file that a human carried in.
Connectors soften this without removing it: the same page notes that where they are available you can attach files from Google Drive, OneDrive and SharePoint. That is a file picker, not a query. If the freshest version of the truth lives behind an API, somebody is still doing the export.
The file ceilings arrive earlier than you expect
OpenAI publishes these in the file uploads FAQ: a hard limit of 512MB per file, text and document files capped at 2M tokens each, and — the one that actually bites — "for CSV files or spreadsheets, the file size cannot exceed approximately 50MB, depending on the size of each row." A wide transactional export gets near that faster than you would like.
The throughput caps are on the same page: up to 80 files every 3 hours, 3 uploads per day on the free plan, and shared storage capped at 25GB per user and 100GB per organisation across chats, Projects and custom GPT knowledge.
Scans and screenshots are still a guess
The help page is blunt: ChatGPT "may not reliably extract exact values from image-based tables, scanned files, or files with complex visual layouts", and recommends uploading a spreadsheet or text-based file when exact values matter. Fine advice, useless when the source is a PDF a supplier emailed you. That is a separate job for a separate tool — hence pulling structured data out of PDF invoices automatically instead of hoping a chat window reads the table right.
The answer stops where you are standing
Here is where most advice on the internet is out of date. ChatGPT does schedule work now: scheduled tasks are available to Plus, Pro, Business and Enterprise users on web, mobile and desktop, they can use apps like Gmail when those are enabled, and OpenAI's pricing page lists "Projects, scheduled tasks, and custom GPTs" in the $20 per month Plus plan. A recurring Monday briefing is a solved problem.
The limits are in the shape, not the existence. The same page says tasks cannot run more than once per hour, and its Usage limitations section caps active tasks at 3 on Go, 5 on Plus, 10 on Business and Edu, and 15 on Pro and Enterprise. More importantly: "Scheduled tasks don't currently support webhooks, so they're better suited for scheduled or recurring check-ins than event-triggered automations."
So "every Monday at 7, summarise last week" works. "When a big refund lands, re-run the margin check and post it in the ops thread" does not. And either way the output appears in ChatGPT, a place you have to go and visit, rather than in the page the team reads or the thread where the decision gets made.
The job-by-job version
| Job to be done | ChatGPT data analysis alone | What has to sit next to it |
|---|---|---|
| One question about a file on your laptop | Excellent | Nothing |
| Pull today's numbers from an API or database | Blocked — the Python environment makes no external calls | A fetch step with real credentials |
| Analyse a very large transactional export | Over the ~50MB spreadsheet limit | Filter or aggregate first, or use SQL |
| Read values off a scanned invoice | Explicitly unreliable | A document-extraction step |
| Same report, every Monday | Scheduled tasks handle it | Nothing, up to 5 active tasks on Plus |
| Run when a row changes or an email arrives | No webhook support in tasks | An event-triggered automation |
| Land the answer in Notion, a CRM or a WhatsApp thread | Answer stays in the chat | A delivery step into the tool of record |
What to plug in
Three pieces, none of them a smarter model.
A fetch that is not a person. The analysis is only as fresh as the export. Wire the source once — Stripe, the CRM, the sheet, the inbox — so data arrives without anyone clicking Download.
A trigger that is not you remembering. Recurring is the easy half. The valuable half is event-driven: a new row, an inbound email, a webhook from your own product. That is the difference between a report and a system that tells you something you did not ask about.
A delivery that lands where the decision happens. An insight nobody reads is a rounding error. The output belongs in the page, the deal record or the thread — not in a scrollback.

How I run it
I kept ChatGPT for thinking out loud with a file and moved the recurring work into Notis, where the trigger list is the point: notis.ai shows cron schedules, one-time runs, external webhook calls, integration events when an app event fires, and database changes on record create or update. The last two are what ChatGPT's tasks do not do yet.
The pattern I use most: an automation fires on a schedule or an event, the agent pulls current numbers from the integration rather than a stale export, does the arithmetic, writes the result into a Notion database, and messages me the two-line version on WhatsApp. If I want to argue with it, I reply in the same thread.
What surprised me is how small each run is. Notis usage is included in the plan rather than billed on top of it: the pricing page says Pro includes $20 of usage a month, Pro+ $59 and Ultra $149, and that last week's average across every Notis user came to $0.09 per task. Past the allowance, on-demand usage keeps running and is billed in arrears. Pay-per-use reads work the same way — a web page read is $0.0038 on the published rates — and any single call quoted above $1.20 is refused until I confirm it, which is the guardrail I wanted before letting anything run unattended. The plan is $13 a month billed annually.
One more thing if you already pay for ChatGPT: on any paid Notis plan you can connect that subscription and the model bill lands there instead of your Notis usage, so you are not buying the same tokens twice. For the full arithmetic on what an always-on agent costs, I broke down a real month of it.
Who should not bother
Stay with ChatGPT alone if the analysis is genuinely ad hoc: different question every time, file already on your machine, answer needed once. Adding a pipeline to that is a hobby, not a workflow.
Go to a warehouse and SQL if you need row-level joins across systems, or someone will audit the number. A chat sandbox is the wrong shape for that, and so is Notis.
Plug something in when you have run the same analysis three times, or when the interesting moment is an event rather than a date. The signal is the repetition, not the sophistication of the question.
ChatGPT does the analysis well and the logistics not at all. Most people diagnose that as needing a better model, buy a bigger plan, and keep exporting CSVs by hand. The fix sits upstream and downstream of the smart part. The limitations post covers the rest of those walls.

Flo is the founder of Mind the Flo, an Agentic Studio specialized into messaging and voice agents.
Related posts
ChatGPT Agent Mode: What It Can Actually Do For You
ChatGPT agent mode is retired. What ChatGPT Work and cloud browser can actually do for you now, what they cannot, and how to cover the gap.
ChatGPT's Real Limitations in 2026 (and How to Work Around Each One)
The real ChatGPT limitations in 2026, with the number OpenAI publishes for each one and the workaround I use instead of upgrading a seat.
ChatGPT for Small Business: What It Does, and the 6 Jobs It Still Can't Finish
ChatGPT is excellent at thinking and stops short at finishing. The six small-business jobs it cannot complete on its own, and the workaround for each.