/ Blog
Home Blog Contact Buddy Ads Builder Audit Engine

What're some workflows you can't get ChatGPT to do ...

ChatGPT & OpenAI

ChatGPT is genuinely great for one-off tasks — drafting an email, summarizing a doc, spinning up ad copy on demand. But the moment you try to turn it into a repeatable system — something your team can run every Monday morning without you babysitting it — the cracks show up fast. I build production AI agents for a living, including an open-source Google Ads agent called Buddy that runs on Claude. So I've spent a lot of time figuring out exactly where ChatGPT breaks down in workflow contexts, and more importantly, what you can do about it. Here's the honest breakdown.

Why ChatGPT Struggles With Repeatable Workflows

A common question in the r/ChatGPT community is some variation of: "I use ChatGPT for one-off tasks and it's solid, but when I try to build an actual repeatable workflow, something always breaks." That's not a skill issue — that's an architecture issue. ChatGPT (especially in its default consumer interface) is optimized for conversation, not orchestration. Those are fundamentally different design goals.

Here's the core problem: a workflow implies:

ChatGPT's chat interface handles almost none of that natively. You're essentially rebuilding the scaffolding from scratch every session. Let's go through the specific workflow types where this breaks down most visibly — and what actually works instead.

Key Insight: The gap between "ChatGPT can help with this" and "ChatGPT can automate this" is enormous. Most people hit that gap when they try to move from ad-hoc prompting to systematic, repeatable execution. Understanding the difference saves weeks of frustration.

1. Multi-Step Data Pipelines (Especially With Live Data)

What Users Try to Do

A classic example in marketing: pull last week's campaign performance data, identify underperforming ad groups (say, those with a cost-per-conversion >150% of the account target), generate revised ad copy suggestions, and export a summary report — all in one automated flow.

Where It Breaks

ChatGPT doesn't have persistent memory of your data between sessions. If you paste in a CSV on Monday and come back Wednesday, it's gone. There's no native way to connect it to a live Google Ads API, a Google Sheet that refreshes hourly, or a Postgres database without external tooling. Even with the Code Interpreter (now called Advanced Data Analysis), you're working with uploaded snapshots, not live connections.

The other issue: multi-step pipelines need error handling. What happens when the CSV is malformatted in row 47? What happens when the API returns a null value? ChatGPT will often just... proceed incorrectly, or stall and ask you what to do. Neither is acceptable in an automated pipeline that's supposed to run while you're asleep.

What Actually Works

For anything involving live data + multiple processing steps, you need to push ChatGPT (or another model) into an agent framework. Options that actually work in production:

Common Mistake: Trying to run a multi-step data pipeline entirely inside a single ChatGPT conversation by pasting in data, asking it to analyze, then asking it to generate outputs in the same thread. This works maybe 70% of the time on a good day — and the 30% failure rate at scale will cost you real money and trust from your team.

2. Consistent Output Formatting Across Runs

The Frustrating Reality

You need ChatGPT to produce a JSON object with exactly these fields, in exactly this structure, every single time — because your downstream system is parsing that output programmatically. The first three runs are perfect. The fourth run, it adds an extra field. The seventh run, it wraps everything in markdown code fences it wasn't supposed to. The twelfth run, it decides to be helpful and add a "notes" key you never asked for.

This is one of the most commonly discussed friction points among practitioners building on top of LLMs. Output consistency in free-form generation is genuinely hard to guarantee.

What Actually Works

  1. Structured Outputs (OpenAI API): If you're using the API rather than the chat interface, OpenAI now supports structured outputs using JSON Schema. This constrains the model's response to a valid schema — field names, types, required vs. optional. This is the single biggest reliability improvement for workflow use cases. Use it.
  2. Function calling: Same principle — defining a function signature forces the model to return data in the shape you need rather than improvising.
  3. Validation layers: Even with structured outputs, build a Pydantic validation step (or equivalent) after the model call. If the output doesn't pass validation, retry with a corrective prompt. This adds resilience without requiring you to trust the model blindly.
  4. Explicit system prompts with examples: If you're in the chat interface and can't use the API, be exhaustively explicit. Show two or three examples of exactly the format you need, in the system prompt. Then end every user turn with "return only the JSON, no other text." Still not 100% reliable, but meaningfully better.
Best Practice: In any production workflow where ChatGPT output feeds into another system, treat the LLM as an untrusted source and validate every response programmatically before passing it downstream. It's not a criticism of the model — it's just good engineering. Garbage in from an unexpected model format can corrupt a whole pipeline run.

3. Long-Running Workflows With Memory Requirements

The Problem

Some workflows unfold over days or weeks. A content calendar workflow might need to remember what was published last week to avoid repetition. A campaign optimization workflow needs to remember what changes were made 10 days ago and whether they helped. A client reporting workflow needs to remember the client's historical benchmarks.

ChatGPT's context window — while large — isn't a substitute for actual memory architecture. You'll hit limits, especially if you're working with large data. And the chat interface doesn't natively persist structured facts across sessions in a queryable way.

What Actually Works

Memory Need Weak Solution Production Solution
Remember user preferences / context Paste a summary at the start of each chat Persistent system prompt via API + vector store retrieval
Track state across workflow steps Copy-paste outputs between conversations External database (Supabase, Airtable) as state store
Reference historical data Upload CSV each time RAG pipeline with embedded historical records
Log what actions were taken Trust your own memory Append-only log file or database table, read at each run

For most marketing teams without a developer, Airtable as a state store + n8n as the orchestration layer + ChatGPT via API for language tasks is a setup I've seen work reliably. Each workflow run reads from Airtable, processes with ChatGPT, writes results back to Airtable. Simple, auditable, resumable.

4. Workflows That Require Real-Time Tool Use or Web Access

The Gap

ChatGPT can browse the web now — but it's unreliable and slow when used as a workflow component. You can't depend on it to consistently scrape a competitor's pricing page, pull live search volume data, or check whether a URL is returning a 200 status. As a conversational feature, Browsing is fine. As a production workflow dependency, it's too brittle.

Similarly, the "GPT Actions" (formerly plugins) ecosystem is improving, but connecting a ChatGPT workflow to a specific third-party API in a reliable, authenticated, production-grade way still requires significant setup and tolerance for failure modes.

What Actually Works

Separate concerns cleanly:

Key Insight: The most reliable AI workflow architecture separates "retrieval" from "reasoning." Use deterministic code and APIs to gather data. Use the LLM only to process and interpret that data. This makes each layer independently debuggable — which matters enormously when something breaks at 2am before a client presentation.

5. Workflows That Need Human-in-the-Loop Approval Steps

Why This Gets Overlooked

Not every workflow should be fully automated. Plenty of high-value workflows need a human to review and approve before an action fires — particularly anything that changes live campaign settings, sends client-facing communications, or publishes content publicly. The issue is that most people build either a fully manual process or a fully automated one. The middle ground — systematic automation with structured approval gates — is where the real productivity gains live, and ChatGPT's interface doesn't make this easy to build.

What Actually Works

Build approval steps into the automation platform, not into the chat interface:

  1. Workflow generates output (e.g., revised ad copy, budget change recommendations, a draft report)
  2. Output is posted to a Slack channel or email with a clear approve/reject action
  3. Human approves (one click) or rejects (with optional feedback)
  4. On approval, the next workflow step fires automatically
  5. On rejection with feedback, the feedback re-enters ChatGPT as a revision prompt, and the loop repeats

This pattern — sometimes called "human-in-the-loop" (HITL) orchestration — is how serious teams deploy AI on anything that touches live production systems. I use it in Buddy for campaign changes above a certain spend threshold. Below $500 in potential budget impact, Buddy acts autonomously. Above that, it routes for approval. That threshold is configurable per account.

Best Practice: Define clear autonomy thresholds before you deploy any AI workflow that can take action. What can it do without asking? What requires a human sign-off? What should it never do, period? Document these as explicit rules in your system prompt and your workflow logic. This isn't just good practice — it's what makes the difference between a tool your team trusts and one they quietly stop using after it does something surprising.

What to Do Next

If you're hitting walls trying to get ChatGPT to run reliable, repeatable workflows, here's a concrete path forward:

  1. Audit what's actually breaking. Is it data persistence? Output format inconsistency? Live data access? Identify the specific failure mode before you try to fix it. Different problems need different solutions.
  2. Move high-value workflows to the API. The ChatGPT web interface is not built for workflow orchestration. The OpenAI API — especially with structured outputs and function calling — is a fundamentally different tool. If you're not using the API yet, start there.
  3. Add an orchestration layer. n8n (self-hosted, free) or Make (hosted, low-cost) give you the data routing, error handling, and external connections that ChatGPT can't provide natively. Your first workflow in either tool will take a weekend. Your tenth will take an hour.
  4. Evaluate Claude for agent tasks. This isn't a paid pitch — it's practical advice. Claude (Anthropic API) handles multi-step tool use and instruction-following in agentic contexts with characteristics I've found more reliable than GPT-4 for certain workflow types, particularly ones that involve many sequential decisions. Try both; measure both.
  5. Design for failure from day one. Every production AI workflow will eventually receive unexpected input, hit a rate limit, or get a malformed model response. Build retry logic, validation steps, and notification alerts into your first version — not as an afterthought. The workflows that run reliably for 6+ months are the ones that were built with failure modes in mind from the start.

The gap between "I use ChatGPT for tasks" and "I run AI-powered workflows" is real — but it's bridgeable. It just requires treating the model as one component in a system, not as the system itself.

Related Reading

AI Disclosure: This article was generated with AI assistance based on a community discussion on Reddit r/ChatGPT. Expert analysis and practitioner perspective by John Williams, Founder, AHMEEGO · Google Ads Practitioner with $350M+ in managed Google Ads spend. AI was used to draft and structure the content; all strategic recommendations reflect real campaign experience.