r/automation

▲ 21 r/automation+7 crossposts

👋 Hey Everyone,

Two weeks back I built a support inbox router for my friend Mike's small company – Gmail trigger, AI classifies each email into Billing / Technical / Sales / Other, scores priority, drops a clean summary into the matching Slack channel. Sarah on his finance team was tired of getting CC'd on bug reports, so the routing actually had to work.

After my last stress test post (the one where I broke our extraction with degraded invoices), a bunch of people asked the obvious follow-up: yeah but how do you stress test a classification workflow? Different problem. There's no "ground truth amount" to compare against – the model is making a judgment call.

So I sat down and wrote 50 deliberately awful emails. The kind of stuff that would actually land in Mike's support inbox on a bad week. Here's what I learned.

If you want to follow along or fork this, the template is published on n8n: https://n8n.io/workflows/15366-route-and-prioritize-support-emails-to-slack-channels-with-easybits/

The categories I tested

I grouped them into five buckets, each designed to attack a different assumption the workflow makes:

1. Mixed-language emails – German body, English technical term ("authentication error", "timeout", "404"). Tests whether the language detection holds up when it shouldn't.

2. Tone vs. urgency mismatches – polite rage ("just wanted to flag the export has been broken for three days, no rush! 🙂"), and the inverse: aggressive-sounding emails about trivial issues. Tests whether priority leans too hard on sentiment.

3. Category overlap (requested from community) – billing questions that are actually bugs ("my invoice shows €0 but I was charged €49"), sales leads disguised as technical questions ("does your platform support SAML SSO? we're 200 people evaluating tools"), cancellation emails that are really retention conversations.

4. Adversarial structure – all-caps emails, emails with no subject line, emails that are 90% forwarded thread and 10% actual question, emojis-as-punctuation, single-sentence vague pings ("hey can you help?").

5. The not-actually-support stuff – vendor pitches dressed up as support requests, recruiter spam, customers replying "thanks!" to closed tickets, automated bounce notifications.

What broke (and how)

Three patterns showed up across the failures, and they're more interesting than the individual misses:

Failure pattern 1: Politeness as a priority sedative

The sentiment-based priority scoring weighted tone heavily. Someone writing "no rush, totally understand" about a three-day outage scored Normal. Someone yelling in all caps about a typo on a pricing page scored Urgent. The model was reading the customer's mood, not the situation's severity.

The fix wasn't a smarter prompt. It was admitting that some signals shouldn't go through the model at all. Words like "broken," "down," "can't login," "charged twice," "still waiting" now force Urgent regardless of how nicely they're phrased.

Failure pattern 2: Single-token language confusion

A German email with one English error message ("Hallo, ich bekomme einen 'authentication error' beim Login...") got routed to Sales. One token of English in a 60-word German email was enough to throw the classifier sideways. Made no sense logically, made total sense if you think about how these models actually work.

The fix here was prompt-level – explicit instruction that the language of the email is determined by the dominant language, not isolated technical terms. Not perfect, but cut the misroutes substantially in re-tests.

Failure pattern 3: Category confidence vs. category correctness

This was the most interesting one. The model was confidently wrong on overlap cases – billing-questions-that-are-bugs, sales-disguised-as-support. High confidence score, wrong category. Confidence was measuring "do I know what category this fits" not "does this email fit cleanly into one category."

This is the case where threshold-based fallback alone doesn't save you, because the model isn't uncertain – it's certain about the wrong answer. The honest fix was to stop treating Billing/Technical/Sales as exclusive – letting the model flag a secondary category for overlap cases, with the secondary channel getting a quiet FYI cross-post.

I haven't pushed this updated prompt to the repo yet. Drop a comment if you want it – happy to share.

What I'd tell anyone building something similar

Three takeaways, none of them about better prompts:

  • Stress test the category boundaries, not just the categories. Easy emails are easy. The interesting failures live where two categories overlap, and that's where you should spend your test time.
  • Don't trust confidence scores to catch confidently-wrong outputs. A high score means the model is sure, not that it's right. Build for the case where it's sure and wrong, not just unsure.
  • Some things shouldn't go through the model. Hard rules layered on top of AI classification aren't a hack – they're how you make the system trustworthy. The phrase "I want to cancel" should never need an LLM to flag for human attention.

The "Other" channel – the catch-all for low confidence – turned into the most valuable channel in the whole setup. It's where every interesting edge case lands, and where Mike actually learns something about his customers.

If you want to try it

Happy to dig into the test cases, the prompt structure, or why I think category overlap is the underrated problem in support automation. And again – comment if you want the updated overlap prompt when it's ready.

Best,
Felix

u/easybits_ai — 6 days ago

I'm a bit confused, I need your help

I'm gonna keep it short: I'm confused between building Automation systems for clients using no-code tools like n8n, Zapier, and Make, or using a high-code stack such as LangGraph, LangChain, Python, FastAPI...etc

Which stack is better for delivering the automation product to a client?

Note:
- I know that the clients won't even know what I'm using to solve their problems until I deliver it, but they will judge when I reach the hosting/usage cost (the high-code is way less than no-code when it comes to using an automation system on a daily basis)

reddit.com
u/XunooL — 11 days ago

Someone asked me to automate neatly arranging bulk images into PowerPoint, so I built this

A colleague recently asked if there was a way to automatically insert dozens of images into PowerPoint without having to manually resize, crop, and align them one by one.

Doing this by hand on a 16:9 slide is surprisingly tedious, especially when trying to maintain aspect ratios with consistent margins.

So I built an automation tool called "OpenURLs App" that calculates the dynamic grid coordinates (rows, columns, margins) and drives PowerPoint directly via Win32 automation to batch-insert and auto-fit images.

How do you guys usually handle bulk media layouts in PowerPoint? Do you rely on VBA macros, Python scripts, or something else?

reddit.com
u/Spiritual_Balance298 — 11 days ago

built a way to automate phone apps that have no api at massive scale (ai agent support)

half the stuff i want to automate only lives in some phone app. no api, no website, so zapier/n8n can't touch it and scraping gets you blocked pretty fast tried the usual stuff first.

bluestacks was slow, cooked my laptop, and a bunch of apps just refused to run on it. appium scripts worked for like a week until the app moved one button. at one point i literally had old phones plugged into a usb hub on my desk lol, which was fine until i needed more than 5 of them so we ended up building distilled(.)cx

it's real android phones in the cloud, you open them in a browser, each one has its own device and its own mobile carrier ip, and you can use all social medias on them the part i actually think is cool is that you can just type what you want done, like "open the app, look at new messages, reply to anyone asking about price", and an agent looks at the screen and does it.

for the more technical people, we are not some vmos/geelark wrapper, we own the infrastructure (we have a mix of true ARM hardware and x86 hardware which we have our custom undetected translators for). we have done thorough patches and reverse engineering to make sure every major social media app works

in the coming days we will be adding play integrity support so apps such as snapchat and x work (in the meantime you can use the web app version), which will all be handled by us (we will have our own router for keyboxes etc)

there's also a normal api if you'd rather script taps yourself, and an mcp server if you use claude or codex you can also send the same task to a bunch of phones at once, which was the whole reason i started this

https://i.redd.it/cqzk60qahbth1.gif

reddit.com
u/clountaingleig1 — 11 days ago
▲ 7 r/automation+1 crossposts

I built an open-source tool for running local AI agents visually ... on Old CPU only devices.

Hey everyone,

​I got pretty tired of cloud-based AI automation tools that meter every single action and charge crazy per-token fees, so I built an alternative called Arrow.

​The idea is simple: instead of renting an agent in the cloud, you own it entirely on your machine.

​How it works:

​Record: Capture a desktop sequence or browser flow once.

​Compose: Connect nodes into a visual workflow graph (you can branch, loop, and drop in local LLMs, vision, OCR, or code nodes).

​Run: Execute deterministically using element-first grounding with small local models.

​It runs completely locally with no cloud dependencies and zero telemetry.

​If you want to check it out, you can see the project overview here: https://rodrigobenitez343.github.io/Arrow-online/index.html

reddit.com
u/Fit-Conversation856 — 11 days ago
▲ 3 r/automation+1 crossposts

Testing agent workflows without connecting real accounts

I am building FetchSandbox because I kept running into the same problem: the only way to test if an agent-built workflow actually works is to connect a real account. Real emails send. Real calendar invites go out. Real Slack messages drop. All before you even know if the logic is right.

The part that bothered me more was receipts. A success status doesn't tell you if the app did the right thing. So our sandbox goes deeper, it checks the resulting state, it replays webhooks, it catches whether a retry fires a duplicate charge or a duplicate email you'd never see in a test.

Right now I'm trying to figure out something: which workflow is actually the hardest to safely test before going live? The incoming email to calendar booking to Slack confirmation is the one I keep hearing about, but I don't know if that's just the loudest voice in the room.

If you've built something like this and had to just "yolo and connect real accounts," genuinely curious what broke.

reddit.com
u/Common_Dream9420 — 11 days ago

Have we lost a generation of junior playable ad developers?

Over the past few years, AI and cost optimization have practically eliminated the junior level from playable ad development: now companies expect a middle/senior specialist with AI to assemble most of the playable content and then refine it. Even when we outsourced part of the builds via mraid, the team still mainly consisted of middle and senior specialists, without juniors.

who will be the next senior specialists in 3–5 years if the industry stops growing them from the junior level?

reddit.com
u/angoorkhatta — 10 days ago