Fair point. That article was the starter pack. The automations anyone can copy-paste in 30 minutes. This one’s different. These are the 21 automations running on my actual stack right now — the weird ones, the specific ones, the ones that took me a week of trial-and-error to get right.
Some context before we dive in: I run Convex + Clerk + Supabase for my SaaS projects, n8n self-hosted on Ubuntu for automation, and Claude Code as my daily driver. My OpenClaw instance lives on a VPS I’ve had running since late January. Every automation below is something I’ve actually deployed, broken at least once, and eventually fixed at 1 AM while questioning my life choices.
One more thing — these aren’t ranked by “coolness.” They’re ranked by how much time they actually save me per week. Turns out the boring ones win.
TL;DR: While everyone's still copy-pasting the basic OpenClaw setups, Phil reveals 21 weird automations actually running his SaaS stack — including overnight Claude Code babysitters that fix bugs while he sleeps and PR review bots that know his specific architecture rules. You'll get the exact prompts, shell commands, and hard-won lessons from automations that took weeks to debug but now save hours per week.

The Dev Workflow Ones (That Made Me Wonder Why I Ever Did This Manually)
1. Overnight Claude Code babysitter
This one came from a guy on X who posted about his OpenClaw driving Claude Code loops while he slept. I thought that was insane. Then I tried it. Now I think sleeping without it running is insane.

The setup: a Telegram message like “fix the auth bug in /api/webhooks, run tests after” triggers OpenClaw to spawn a Claude Code session via claude --task in a shell skill. OpenClaw wraps the command, monitors stdout, and parses test output. Every 5 iterations it sends me a progress update on Telegram. If tests pass, it commits to a branch and pings me. If it loops more than 20 times without progress, it kills the session and saves a summary of what it tried.
# The actual shell command OpenClaw runs via its exec skill
claude --task "Fix the auth bug in /api/webhooks. Run npm test after each change. Stop when all tests pass." \
--output-dir /tmp/claude-session-$(date +%s) \
2>&1 | tee /logs/active-sessions/current.log
# Then this cron monitors the session
crons:
- name: "code-session-monitor" schedule: "*/5 * * * *" prompt: "Check active Claude Code sessions in /logs/active-sessions/. If any session has been stuck on the same error for 3+ iterations, kill it and save a failure report to /logs/dead-sessions/"
Fair warning: the first week, it hallucinated a fix that passed my tests but broke a completely different feature in production. Like giving a junior dev sudo access and going to bed — technically functional, occasionally terrifying. I added a rule that it can only commit to a bot/ branch, never to main. That fixed the "surprise refactors" problem.
I wake up to merged PRs about twice a week now. The other three days I wake up to detailed failure logs that save me an hour of debugging context. Either way, I win.
2. PR review bot that actually knows my codebase
Not a generic “check for lint errors” bot. This one has context. I feed OpenClaw a SKILL.md that contains my project’s architecture decisions, naming conventions, and the specific patterns I use with Convex (mutations vs actions, validator patterns, the whole thing). When a PR lands, it reviews against my standards, not some generic style guide.
# pr-review-skill/SKILL.md
## Architecture Rules
- All database writes go through Convex mutations, never direct Supabase
- Auth checks use Clerk's getAuth() in every API route, no exceptions
- Validators live in convex/validators/, one file per table
- Never use .then() chains — async/await only
- Error messages must include the function name and input params
It caught a PR last week where I was accidentally bypassing Clerk auth on a webhook endpoint. A linter would’ve said “looks fine.” OpenClaw said “this endpoint has no auth check and your rules say every API route needs getAuth().” That’s the diff between a tool that reads syntax and one that understands intent.
3. Dependency update triage 🦞
Every Monday at 6 AM, my agent checks npm outdated and pip list --outdated across all my repos, checks the changelog for each update, flags breaking changes, and categorizes them into "safe to auto-update," "review first," and "do NOT touch until you've read the migration guide." Output lands in Notion. Ten minutes instead of forty-five.
4. Error spike detector → auto-diagnosis
The automation I’m most proud of. Not because it’s clever — because it saved my ass twice in production.
It connects to my Convex dashboard logs via the API. A cron runs every 15 minutes and checks error rates. If errors spike above my baseline (which it learned from 2 weeks of observation), it doesn’t just alert me — it pulls the error messages, matches them against recent deploys, and sends me a Telegram message like:
“Error spike detected: 47 ConvexError in /api/checkout in the last 15 min. Likely cause: your deploy 2 hours ago changed the validator for ‘amount’ from number to string. Want me to revert?”
I say “yes” or “no” from my phone. That’s it. Like having a sysadmin on call 24/7 except this one doesn’t charge $150/hour and doesn’t passive-aggressively cc your manager.
The second time it saved me was weirder — it flagged a spike in auth errors at 3 AM that turned out to be someone fuzzing my API endpoints. Not a sophisticated attack, but without the alert I wouldn’t have noticed until morning. I blocked the IP range from bed.
5. The “what broke while I was asleep” morning report
- name: "morning-stack-health"
schedule: "0 7 * * *"
prompt: "Generate morning stack health report. Check: 1) Convex function error rates last 12h, 2) Vercel deploy status for all projects, 3) New GitHub issues, 4) Supabase auth errors, 5) n8n workflow failures. Format as markdown, save to daily/"
That’s the config. That’s the whole thing. I read the output with coffee. Two minutes instead of twenty minutes of tab-hopping across five dashboards. Not every automation needs a story. Sometimes a cron and a prompt is all you need.
The Money Printers (The Unsexy Ones That Actually Generate Revenue)
6. Client onboarding autopilot
When a new client signs up through my SaaS, the chain goes: Clerk webhook fires → Convex mutation stores the user → n8n picks up the event → OpenClaw handles the rest.

Now — you might be wondering why I don’t do this entirely in n8n. I tried. The problem is the welcome email. An n8n template is a template. OpenClaw reads the user’s signup data (company name, plan tier, what they wrote in the “what are you building?” field) and writes a personalized email that sounds like I actually read their form.
My open rates roughly doubled after switching from templates to agent-written emails. Not a scientific A/B test, but the difference was obvious enough in Stripe’s email analytics.
The rest (workspace creation, day-3 check-in reminder, CRM Notion update) is straightforward orchestration. OpenClaw’s value here is specifically the NLP-heavy parts that n8n can’t do well.
7. Competitor price monitor → response drafter
I sell a SaaS in a market with 4 direct competitors. OpenClaw scrapes their pricing pages every morning (browser automation skill), compares against my current pricing, and alerts me if anyone changes anything. But the real trick: it drafts a response strategy based on rules I’ve set.
Competitor X drops below $29/mo → draft an email campaign highlighting features they lack. Competitor Y adds a feature I don’t have → create a GitHub issue with a feature spec.
I haven’t been surprised by a competitor move in two months. Feels like playing a strategy game where you’ve uncovered the whole map while everyone else is still in fog of war.
8. Invoice chaser that doesn’t sound like a robot
OpenClaw monitors Stripe via webhook. Payment fails or invoice goes 7 days overdue → it drafts a follow-up in my voice (trained on 50+ past emails) and sends through Gmail.
The escalation ladder: day 7 is friendly, day 14 is firmer, day 21 copies my accountant. Haven’t manually chased an invoice since January. Three sentences, 2–3 hours saved per month. Moving on.
9. Failed payment recovery sequence
This is different from the invoice chaser. When a subscription payment fails (expired card, insufficient funds), Stripe fires a webhook and OpenClaw starts a 3-step recovery sequence over 7 days. But the trick is personalization — it checks the user’s usage data in Convex before sending the email.
High-usage user with a failed card? “Hey, noticed your card expired — your team ran 847 automations last month, didn’t want you to lose access.” Low-usage user who hasn’t logged in for 2 weeks? Different approach entirely — more of a “still want this?” nudge that gives them an easy out. I’d rather lose a dead subscription cleanly than keep billing someone who forgot about me.
Recovered about $400 in the first month. Not life-changing, but the automation took 20 minutes to set up, so the ROI is absurd.
10. Lead qualification with caveats
When someone fills out my contact form, OpenClaw receives the webhook, checks their email domain, looks them up on BuiltWith (public tech stack data — no scraping login-required sites), estimates company size from public info, and scores the lead 1–10 based on my criteria.
High-score leads get an immediate personalized response. Low-score leads get a template.
I originally had it scraping LinkedIn profiles too. That lasted exactly 4 days before LinkedIn’s anti-bot detection started blocking my headless browser like a bouncer at a club that just spotted my fake ID. Switched to BuiltWith and Clearbit’s free tier instead. Less data, but it actually works reliably, which turns out to be more important than having the most data. Who knew.
Life Admin, But Make It Weird
11. Receipt scanner → expense categorizer → tax-ready export
I photograph receipts, send them to OpenClaw via WhatsApp. It OCRs the image, extracts amount and vendor, categorizes it (business/personal, tax-deductible/not), and logs it to a Supabase table.
create table expenses (
id uuid primary key default gen_random_uuid(),
date timestamp,
vendor text,
amount decimal,
category text,
tax_deductible boolean,
receipt_url text,
notes text
);
Come tax season, I export the table and send it to my accountant. Last year this process took me an entire weekend. This year it took 4 minutes. The funniest part: OpenClaw correctly categorized my 2 AM UberEats orders as “not tax-deductible” despite my best efforts to convince it that debugging fuel is a business expense.
12. Relationship CRM (yes, for personal relationships)
This sounds dystopian but hear me out. OpenClaw tracks when I last contacted close friends and family, based on my message history. If it’s been more than 2 weeks since I talked to someone in my “inner circle,” it reminds me. Not with a generic “call your mom” — with context like “you last talked to Marcus about his job interview on Jan 28. He should know results by now.”
I forget stuff. My ADHD brain drops context constantly, I’m bad with keeping up with people and this automation has made me a better friend. But I digress — anyway this is an automation article not a therapy session.
13. The “did I already pay for that?” subscription auditor
Once a month, OpenClaw scans my bank transactions (I export a CSV from my bank, not giving it direct access — I’m paranoid, not insane), cross-references against a list of subscriptions I maintain in Notion, and flags anything unexpected. It found a $12/month Heroku hobby dyno I forgot to kill after migrating to Vercel eight months ago. That’s $96 in the trash because I was too lazy to check.
It also flags when free trials are about to convert to paid. Like having a friend whose only personality trait is “reads the fine print.” Annoying, but you want them at the dinner table.
14. Codebase documentation updater
Every Friday, OpenClaw scans my repos for functions that changed this week but whose JSDoc comments didn’t.
It drafts updated documentation based on the actual code behavior and opens a PR. Not full docs rewrite — surgical updates to the parts that drifted.
This sounds minor until you realize that outdated docs are how half of all production bugs start. Someone reads a comment that says “returns a user object” when it now returns a user object wrapped in a Result type. Boom, runtime error, 2 AM debugging, you know the drill.
I rejected about 40% of its doc PRs the first two weeks. Now it’s down to maybe 15%. It learned my patterns — which is either impressive or slightly unsettling, depending on how much sci-fi you’ve consumed lately.
15. n8n workflow failure forensics
My n8n instance runs about 30 workflows. When one fails, n8n sends me an email that says, essentially, “workflow X failed at node Y.” Super helpful if I remember what workflow X does and what node Y is supposed to do. Which I don’t, because I built it three weeks ago at midnight.
OpenClaw intercepts n8n’s failure notifications, pulls the workflow definition, reads the error message, and translates it into something actually useful: “Your ‘new-user-slack-notification’ workflow failed because the Slack API rate-limited you. You’re sending 1 notification per signup but you had 47 signups in the last hour.
Suggestion: batch notifications or add a 1-minute delay between calls.”
That specific example cost me 45 minutes to debug manually before I had this automation. Now I get the diagnosis in Telegram before I even know something broke.
The Ones That Sound Useless Until They Save You
16. GitHub issue auto-triage
New issues come in, OpenClaw reads them, labels them (bug/feature/question), estimates complexity (S/M/L), checks if a similar issue was already resolved, and if so, posts a comment with the link. For actual bugs, it attempts to reproduce using the reporter’s steps and adds its findings.
Five to ten issues a week across my repos. Monday starts with them already organized and half answered. The before/after on this one is stark.
17. Post-deploy sanity checker
Every time Vercel finishes a deploy, a webhook triggers OpenClaw to hit my app’s critical paths: can a user sign up? Can they create a project? Does the billing page load? Basic smoke tests, but run automatically on every single deploy.
You’d think “just write proper tests.” And yeah, I have tests. But tests run in a test environment.
This hits production.
After the real deploy. With real Clerk auth and real Convex data. It caught a deploy where everything passed in CI but the Vercel environment variable for my Convex URL was pointing at my dev instance. Tests: green. Production: completely broken. OpenClaw: “your /dashboard returns a 500, want me to rollback?”
Like a fire alarm that actually works vs the one in your apartment that goes off when you make toast. Both technically “detect things.” Only one is useful.
18. The .env leak panic button
This one’s born from trauma. Three weeks ago I almost committed a Supabase service_role key inside a README code example. My .gitignore was fine. My tests were fine. The key was in a markdown file that no tool thought to scan.
Now: every time I push to any repo, OpenClaw runs a post-commit hook that scans EVERYTHING — not just code files. Markdown, READMEs, .txt files, YAML configs, Docker Compose files. Anything that smells like a credential pattern (base64 strings over 30 chars, strings starting with sk_, sb_, pk_, anything with secret or key adjacent to a long string).
Yes, GitHub has secret scanning. OpenClaw caught mine first. The paranoid automation is the one that saves your career. And if you’ve ever fat-fingered a git push and felt your stomach drop — you know exactly what I'm talking about.
19. Meeting transcript → action items → Notion (with passive-aggressive accountability)
After every Zoom call, the recording hits Fathom. OpenClaw grabs the transcript, extracts action items, assigns them based on context (“Phil said he’d handle the auth migration” → creates a task assigned to me), and drops everything into Notion.
The part that earns this a spot on the list: it cross-references previous meeting notes.
Action item from two weeks ago wasn’t completed? It flags it in the new meeting summary with a little note: “this was also assigned on Jan 31 — still open.” Passive-aggressive? Maybe. But I’ve never had fewer dropped balls across projects.
20. Supabase row-level security audit
Every Sunday, OpenClaw reviews my RLS policies against my actual table structure. Tables without policies? Flagged. Policies that are too permissive? Flagged. Mismatches between Clerk user IDs and Supabase auth? You guessed it.
-- Example of what it flags:
-- "Table 'user_settings' has no RLS policy.
-- Any authenticated user can read any other user's settings.
-- Suggested fix:"
alter table user_settings enable row level security;
create policy "Users can only see their own settings"
on user_settings for select
using (auth.uid() = user_id);
It found 3 misconfigured policies in my first week. Three. On a project I thought was locked down. If your using Supabase and you don’t have something like this running, you’re basically leaving your front door open and hoping nobody walks by.
In a neighborhood where 135,000 [sic] OpenClaw instances are publicly exposed because people didn’t configure their firewalls. Just saying.
21. The meta one — OpenClaw monitoring OpenClaw

My agent has a cron that monitors itself. Every hour it checks token consumption, API costs for the day, and whether any of its other cron jobs failed.
If daily API costs cross my $5 threshold, it edits its own config to use Claude Haiku instead of Opus for non-critical tasks (morning briefings, reminders — anything that doesn’t need heavy reasoning).
- name: "self-monitor"
schedule: "0 * * * *"
prompt: "Check: 1) Today's total API cost via the token dashboard, 2) Failed cron jobs in the last hour, 3) Memory folder size. If API cost > $5, edit config.yaml to switch non-critical tasks to haiku. If any cron failed, retry once and log the error."
Now — does it always work perfectly? No. It once switched itself to Haiku for a PR review task that genuinely needed Opus-level reasoning. The review it produced was… optimistic. Let’s just say it approved a PR that introduced a SQL injection vulnerability and called the code “clean and well-structured.” I added a hardcoded list of tasks that must always use Opus, no exceptions. Lesson learned.
An AI agent that manages its own budget, fixes its own cron failures, and occasionally approves terrible code. If that isn’t the most accurate simulation of a junior dev I’ve ever seen, I dont know what is 🦞
The Boring Truth Nobody Wants to Hear
21 automations. Most of them unglamorous. No car negotiations, no grocery ordering, no morning briefings read to you in an Australian accent.
The ones that actually changed my workflow? The error spike detector. The morning stack health report. The expense categorizer. The n8n failure forensics. Stuff you can’t make a viral tweet about.
But they compound. Twenty minutes saved here, thirty there. By the end of the week I’m getting back 6–7 hours. That’s almost a full working day, every week, doing nothing but stuff I used to do manually like some kind of pre-2026 caveman.
Setup cost for most of these: an afternoon. Maybe two if you’re connecting multiple services. Fifteen to thirty bucks a month for the VPS and API costs.
The real flex isn’t having the coolest OpenClaw setup. It’s having the one that gives you your time back.
If this list gave you ideas for your own setup — follow me. I’m currently stress-testing OpenClaw’s multi-agent mode where I run 5 specialized agents instead of one generalist. Early results are either brilliant or a complete disaster. I can’t tell yet. Stay tuned.
Top comments (0)