← 所有文章
thought

Why Most AI Workflows Break on Day Three

Why Most AI Workflows Break on Day Three

You spend an evening building the perfect AI workflow. Gmail to Notion. Calendar to tasks. Everything runs beautifully. By Wednesday, it’s silently broken and you don’t notice for a week.

The core argument

The pattern I keep seeing

Day 1: You build a workflow. It reads your Gmail, summarizes unread messages, writes them to Notion. It works. You feel like a wizard.

Day 2: Still works. You tell three friends about it.

Day 3: Your OAuth token expires. The workflow runs, gets a 401 error, and… does nothing. No notification. No retry. Just silence. Your Notion page stays empty, and you assume it’s a quiet inbox day.

By the time you notice, you’ve missed five days of emails.

This isn’t a hypothetical. I’ve lived it.

The three killers

Token expiry. OAuth tokens have a shelf life. Google tokens expire after an hour. If your refresh token flow has a bug—or if the user revokes access from their Google settings—your workflow dies silently. Most MCP servers handle refresh automatically. But “most” isn’t “all.”

Schema drift. Notion databases change. Someone adds a column, renames a property, changes a select option. Your workflow expects Status: To Do but the property is now Status: Todo. One character. Complete failure.

This is especially dangerous because the person changing the schema doesn’t know your AI workflow depends on it.

Prompt brittleness. Your prompt says “summarize the last 24 hours of email.” But on Monday morning, “last 24 hours” means Sunday—when you got zero work emails. The workflow produces an empty summary, which is technically correct but useless. What you actually wanted was “since the last time I checked.”

What actually works

The workflows that survive past day three share three traits:

They fail loudly. When something breaks, they send a notification. A Telegram message, an email, a Slack ping—anything. Silent failure is the real enemy.

They’re idempotent. Running the same workflow twice doesn’t create duplicates. This matters because the first thing you do when something seems broken is run it again.

They have a “last successful run” timestamp. Instead of “last 24 hours,” they track when they last ran successfully and process everything since then. This handles weekends, holidays, and outages gracefully.

The uncomfortable truth

Most AI automation content optimizes for the wrong metric. It optimizes for “how cool is the demo” instead of “will this still work next Tuesday.”

Building the workflow is 20% of the work. Keeping it running is 80%.

What I’d do differently

If I were starting over, I’d build every workflow with three things from day one:

  1. A health check: something that tells me “this workflow ran successfully at 9:03am” every day
  2. A dedup mechanism: checking if the output already exists before creating it
  3. A state file: recording what was processed, so restarts pick up where they left off

None of these are glamorous. That’s why nobody puts them in tutorials.

Conclusion

The best AI workflow isn’t the most impressive one. It’s the one that’s still running next month.

← 所有文章OctoDock 首頁 →