r/n8n

▲ 10 r/n8n+1 crossposts

How do I create a custom workflow interface n8n

I've learned about automation, but I don't know how to integrate websites with the n8n workflow, and I can't find the resources.

reddit.com
u/djameleddine-19 — 5 days ago
▲ 21 r/n8n+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
▲ 2 r/n8n+1 crossposts

Urgent advice

I have recently started university, and I want to learn a skill that can help me earn money alongside my studies. I am considering learning n8n for AI automation, but with tools like Claude Code becoming increasingly powerful, I am wondering whether n8n is still worth learning.

Is there still a future in n8n, and can I realistically earn money by mastering it? Or are AI coding tools like Claude Code making n8n obsolete?

I would really appreciate some honest advice and guidance from people who have experience in AI automation and freelancing. Should I invest my time in learning n8n, or would it be better to focus on something else?

reddit.com
u/Agreeable-Frame-3947 — 6 days ago
▲ 3 r/n8n

Full SEO Workflow

Looking for full SEO blog posting for Shopify. Basically keyword research, competitor research etc. etc.

reddit.com
u/Extra_Voice_1046 — 10 days ago
▲ 2 r/n8n

What’s your experience with running a local AI to reply whatsapp, did you get banned?

Hey guys, Thinking of running a local LLM bot on our 20 year old plant nursery business WhatsApp number.

Reply-only, a few dozen messages a day, human-like delays, no broadcasts.

For anyone using Evolution API, WAHA, Baileys, or whatsapp-web.js:
• Banned or fine? What volume, engine, and account age?
• Any warning signs before a ban?
• Did browser-based setups hold up better than Baileys?

to be honest here i don’t want to give meta a cent of my money.

thanks a bunch

reddit.com
u/Weak_Mousse_6236 — 10 days ago
▲ 10 r/n8n

How do you actually hand off an n8n Instagram chatbot to an e-commerce client? (Meta App Review, permissions, docs?

Hi everyone! I hope you're all doing well.

I'm relatively new to n8n and I'm looking for some advice on the business and deployment side of things. I'm building an AI chatbot for Instagram DMs, and I want to know how the actual handoff works when you sell it to a client (like a local e-commerce store).

How do you practically connect your n8n workflow to their specific page?

I have a few specific questions about the standard process:

  • The Handoff: Do you just send the client the workflow JSON and make them figure out the hosting, or do you host it for them?
  • Account Access: Do you ask for their Meta credentials to set up the Developer App and webhooks? Or do you just have them grant you admin access to their Facebook page?
  • Meta App Review & Docs: How do you handle the Meta App Review and Business Verification? Do they need to provide official legal documents (like a registre de commerce/business registration) to get the messaging permissions approved, or do you verify a master app on your own developer account and run their page through that?
  • I would love if there is a video explaining everything.
reddit.com
u/Designer_Marketing34 — 10 days ago
▲ 4 r/n8n+1 crossposts

The community node that finally let me delete half my document workflow [Workflows Included]

👋 Hey n8n Community,

Community nodes are where a lot of the real magic in n8n happens, the ones that collapse a tangled setup into something you can actually maintain. I want to share the one that did that for me, and hear which ones did it for you.

My headache was document extraction. My first attempts were a Frankenstein chain: one node to pull text, another to parse it, a Code node to normalize the mess, then more logic to cross check the output and catch the fields that came back wrong. It sort of worked, but every new document format cracked it somewhere, and I spent more time patching than building.

The easybits Extractor node is what finally fixed it for me (full disclosure: I worked on it myself, since there was no simple and robust extraction node built especially for n8n). Extraction, structured output, and a confidence score came out of a single node, so all the normalizing and cross checking I had bolted on by hand was just gone. One node did the job that five were doing badly.

The takeaway is not really about one node though. It is that when a part of your workflow keeps growing extra nodes just to hold itself together, that is usually the signal to go looking for a community node built for exactly that job, instead of hardening the workaround.

So, which community node saved you from a monster setup? What was the before and after? And if you have built a node yourself, feel free to drop it here too, I would genuinely like to see what people are using.

Best,
Felix

P.S.: If you want to see how the community node looks in practice, almost all of the document flows I built are on my GitHub: https://github.com/felix-sattler-easybits/n8n-workflows

u/easybits_ai — 9 days ago
▲ 3 r/n8n

Sketch: payment webhook in n8n with signature check + dedupe. What am I missing?

I'm sketching a handler for payment-provider webhooks in n8n (for a subscription flow) and want a sanity check before building the rest.

The two things I want to get right:

  1. Verify the signature on the raw body, not the parsed JSON.

  2. Don't process the same event twice, since providers retry.

Webhook node with "Raw Body" enabled, then a Code node:

const crypto = require('crypto');

const raw = (await this.helpers.getBinaryDataBuffer(0, 'data')).toString('utf8');

const sig = $input.first().json.headers['x-signature'];

const expected = crypto.createHmac('sha256', $env.WEBHOOK_SECRET).update(raw).digest('hex');

const ok = sig && sig.length === expected.length &&

crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));

if (!ok) throw new Error('bad signature');

const event = JSON.parse(raw);

const store = $getWorkflowStaticData('global');

store.seen = store.seen || {};

if (store.seen[event.id]) return []; // already handled

store.seen[event.id] = Date.now();

return [{ json: event }];

Caveats I already know about:

- Header name and signature format differ per provider (some sign a timestamp too).

- Static data only persists for active (production) runs, not manual tests.

- It grows forever, so I'd prune old IDs or use a Data Table instead.

- I haven't run this exact code on n8n Cloud, so crypto/$env may be restricted there.

Questions: is static data or a Data Table the better place for the dedupe list? Anything about retries or out-of-order events I should handle before the "grant access" step?

reddit.com
u/Taskra_agency — 10 days ago
▲ 6 r/n8n

Building monitoring for silent AI automation failures. Looking for design partners among agencies and automation builders

Hey everyone,

I'm looking for a few agencies and automation builders to work with as design partners. I want to learn your experience with silent AI automation failures today, and shape my product around what you actually need.

The problem it solves is simple: "success," but the AI output is wrong, empty, or garbage. Nobody finds out until a client does.

If you run client automations and have been burned by silent failures, I'd love to chat. Drop a comment or DM me. Also curious how you're handling this today.

reddit.com
u/Historical-Carpet388 — 10 days ago
▲ 3 r/n8n

Shipped runtime contracts + a versioned audit registry for n8n workflow governance - no contract.yaml required anymore

Been building agent-contracts - a governance layer for n8n workflows - for a while. Just shipped two things worth sharing here since a few people asked about the n8n implementation last time.

What shipped :

  1. Runtime declarations - no contract.yaml file required

Previously every n8n workflow needed a hand-written contract.yaml. That falls apart for dynamic workflows or third-party integrations. Now you can declare governance at runtime:

enforcer = ContractEnforcer.from_declaration({

"node_id": "email-sender-v1",

"permissions": ["email.read", "email.draft"],

"side_effects": ["email.send"],

"approval_points": ["email.send"],

"lifecycle": "triggered"

})

Same enforcement. Same audit log. Same gate behavior. No file needed. Any agent without a declaration defaults to read-only with explicit approval required on every action.

  1. Contract Registry - versioned, permanent, queryable

Every contract that loads registers into an append-only versioned store.

registry = ContractRegistry()

enforcer.register(registry)

# Query exactly which contract version was active at any timestamp

entry = registry.get_at_time(

"email-sender-v1",

"2026-09-10T14:30:00Z"

)

Old versions are never deleted. The audit trail is always complete.

  1. Cryptographic sealing

Every contract is hashed on load. If the contract.yaml gets edited after the workflow starts, ContractTamperError fires and the workflow stops rather than silently running under modified rules.

What's in the repo

Three n8n implementations: duplicate issue detector, competitor changelog watcher, job application rejection detector - all with contract.yaml files, scyvera enforcement, and the gateway layer wired in. 128 tests passing. MIT licensed. (22 ⭐ | 6 Forks )

GitHub: github.com/Skull-boy/agent-contracts - pip install scyvera

Happy to answer questions about wiring this into existing n8n workflows or adapting the contract schema for specific use cases.

u/Trout_dev — 10 days ago
▲ 7 r/n8n+1 crossposts

For experienced n8n users: what's the most complex workflow you've built?

I'm curious about workflows that go beyond a simple trigger → action automation.

For people who have been using n8n for a while:

  • What's the most complicated workflow you've personally built?
  • What made it difficult?
  • Did it involve multiple AI agents/models, APIs, databases, or external systems?
  • Which parts were reliable and which parts required frequent human intervention?
  • Were there tasks where you tried to automate something but found that AI wasn't reliable enough?
  • How much of the workflow can realistically run unattended?

I'm particularly interested in workflows involving things like research, analysis, decision-making, execution, and review rather than just straightforward integrations.

Would be interested to hear about real workflows you've built and what you've learned from them.

reddit.com
u/rosh-1307 — 12 days ago
▲ 2 r/n8n

Every vendor I screen scores 100/A in my compliance risk engine. How should scoring be designed so it actually differentiates? (UK, Companies House + sanctions)

I'm building a vendor due-diligence and monitoring tool for UK companies. I'm not a risk professional, so I'd value input from people who are.

Inputs: Companies House (status, overdue accounts and confirmation statements, charges, insolvency, officer resignations, disqualified officers), UK Sanctions List fuzzy matching on the company, directors and PSCs, and financial figures from iXBRL/PDF (net assets, profit/loss, current ratio).

Current logic:

  • Six categories, each starting at 100 and losing points for specific red flags: registration, filing, governance, insolvency, financial health, sanctions.
  • Composite = weighted average (20/15/10/10/25/20%).
  • Grades: A ≥ 90, B ≥ 75, C ≥ 55, D ≥ 30, E below.
  • Any "critical" flag (sanctions match, dissolved, active insolvency, disqualified officer) forces grade E.
  • Categories with no data are excluded and the weights renormalized.

​

score = sum(category_score * weight) / sum(weights of assessed categories)
grade = "E" if any critical flag else band(score)

The problem: almost everything I screen comes out 100/A. Working through the numbers, the maximum deduction without a critical flag is about 20 points, so C and D can't happen. It's effectively binary: A/B or E.

What I've tried: I screened through 13 different companies, while also providing incomplete data on bulk uploads, still each company I screen comes out with an almost perfect score with all the data intact so, either companies house or gazette connections are not working properly or I am freaking out for having unrealistic expectations.

Questions:

  1. Is blending hard compliance gates (sanctions, dissolution) and probabilistic financial risk into one number a design mistake? Should they be separate outputs?
  2. How do practitioners treat "no data" versus "clean"? Is a separate confidence indicator standard?
  3. Should I calibrate weights against outcomes, such as back-testing on companies that later went insolvent or dissolved? Is Companies House data enough for that?
  4. Any frameworks, papers, or open-source examples for third-party risk scoring, especially UK or SME-focused?

Not looking for code review. Happy to share more detail on the logic :)

reddit.com
u/Adventurous_Chip3199 — 10 days ago
▲ 2 r/n8n

Scheduled-job folks: how do you catch a job that's silently not doing its job?

My scariest failure was never a crash. Crashes are loud, crashes page you, crashes are almost a relief honestly. It was a dedupe rule that just... stopped firing, and kept running green for weeks.

A working dedupe rule produces zero output. No errors, no logs, nothing to alert on. So success and breakage looked exactly the same, and the first signal came weeks later when I was staring at data that had been quietly piling up the whole time. I used to check my runs from my phone in the morning and everything said green, which made it worse somehow. Cost me a weekend of cleanup and a very awkward conversation.

Anyway, I used to burn real time on this. My ritual was expected-count checks per silent step ("this rule should have matched N rows today"), plus replaying a period against a copy before cutover and diffing outputs. Half of it worked, half of it was vibes. And the quiet fear never fully went away.

So how do you catch the silent ones? Do you write heartbeat rows even on no-op runs? Assert expected counts on steps that should produce zero output? Something completely different? What was the last silent failure that bit you, and how long did it run green before anyone noticed?

Genuinely curious what these jobs are for, too. Own business workflows or client work? Who eats the cost when a silent one breaks, you or the client?

Last one, since I'm sketching something: what if something watched your scheduled jobs for exactly this kind of silent drift, in the cloud over MCP, same context across every agent and tool so decisions, failed attempts, and run history all cross over. You never touch a file again. Would you guys pay for something that fixes this, or does your own heartbeat setup already cover it?

reddit.com
u/Asly97 — 10 days ago
▲ 1 r/n8n

I don’t think a member portal needs “another chatbot”

The more I think about adding AI to a member portal, the less I like the idea of just dropping a chat bubble in the corner. If someone is already looking at an event, a certification page or their membership account, the assistant should probably understand that context and help from there.

I could see customgpt.ai handling questions from the association’s approved content, algolia keeping regular search useful and n8n pulling in live things like renewal status or upcoming events when needed. The interesting part to me isn’t really the chatbot. It’s making the portal feel like it actually knows where the member is and what they’re trying to do. Has anyone approached it this way instead of building a separate “AI assistant” experience?

reddit.com
u/bynolanart — 9 days ago