How I streamlined and simplified the standard n8n lead-qualification template using modern AI and Filter nodes

How I streamlined and simplified the standard n8n lead-qualification template using modern AI and Filter nodes

https://preview.redd.it/frs21fwwi5kh1.png?width=1920&format=png&auto=webp&s=aab0dab47ef677af520192062770611fa7ddbc64

https://preview.redd.it/xpl8vfwwi5kh1.png?width=1920&format=png&auto=webp&s=eda9ae893207c37364de805d68aa468297f136e3

https://preview.redd.it/a1xyifwwi5kh1.png?width=1920&format=png&auto=webp&s=a845d7e73363364037e5510fdf382399afabf9a8

Hey everyone! Following up on my last post about the official n8n template, I wanted to share the custom workflow I built from scratch. I managed to clean up the architecture, drop unnecessary nodes, and make it way more efficient.

### 🛑 The Problem & The Solution Needed

* **The Problem:** The standard template requires separate nodes for parsing code and merging data back together, which adds unnecessary clutter. Also, manual re-runs end up reprocessing already handled rows.

* **The Solution Needed:** A streamlined, linear workflow that filters out processed rows instantly, leverages a modern native AI model node, and updates the sheet seamlessly without extra merge complications.

---

### ⚙️ Our Custom Workflow & Node Breakdown

Here is how our new streamlined workflow is set up and why each node is used:

  1. **Google Sheets Trigger Node:** Fires automatically whenever a new row of lead data is added.

  2. **Filter Node:** Placed immediately after the trigger to check if the "Lead Status" column is empty. This prevents the workflow from reprocessing old rows when testing or manually triggering.

  3. **Message a Model Node:** Leverages a modern native AI chat model equipped with our custom prompt rules (properly separating immediate urgency like "ASAP" from future timelines like "next month").

  4. **Update Row in Sheet Node:** Directly updates the matching row with the new status and reason columns in one clean step.

Much cleaner than the multi-branch template setup! Let me know what you think or how you structure your lead processing flows.

---

🚀 **Want to give me a building challenge?**

I'm still a beginner when it comes to n8n and workflow automation, so if you have a fun, beginner-friendly problem or mini-project I could try building, drop it in the comments!

Also, I'd love your brutal feedback: **What are the hidden flaws, security gaps, or potential bottlenecks in this workflow?** Let me know what's lacking so I can improve it!

reddit.com
u/Meg_automations — 1 day ago

How I streamlined and simplified the standard n8n lead-qualification template using modern AI and Filter nodes

Hey everyone! Following up on my last post about the official n8n template, I wanted to share the custom workflow I built from scratch. I managed to clean up the architecture, drop unnecessary nodes, and make it way more efficient.

### 🛑 The Problem & The Solution Needed

* **The Problem:** The standard template requires separate nodes for parsing code and merging data back together, which adds unnecessary clutter. Also, manual re-runs end up reprocessing already handled rows.

* **The Solution Needed:** A streamlined, linear workflow that filters out processed rows instantly, leverages a modern native AI model node, and updates the sheet seamlessly without extra merge complications.

---

### ⚙️ Our Custom Workflow & Node Breakdown

Here is how our new streamlined workflow is set up and why each node is used:

  1. **Google Sheets Trigger Node:** Fires automatically whenever a new row of lead data is added.

  2. **Filter Node:** Placed immediately after the trigger to check if the "Lead Status" column is empty. This prevents the workflow from reprocessing old rows when testing or manually triggering.

  3. **Message a Model Node:** Leverages a modern native AI chat model equipped with our custom prompt rules (properly separating immediate urgency like "ASAP" from future timelines like "next month").

  4. **Update Row in Sheet Node:** Directly updates the matching row with the new status and reason columns in one clean step.

Much cleaner than the multi-branch template setup! Let me know what you think or how you structure your lead processing flows.

https://preview.redd.it/pcqxdznji5kh1.png?width=1920&format=png&auto=webp&s=744da54c14465c46c91839c3da3f8462046b2ab4

https://preview.redd.it/a3z0v0oji5kh1.png?width=1920&format=png&auto=webp&s=cb54a3aebd77b8474e9047175047ad4062e7258c

https://preview.redd.it/lszyy0oji5kh1.png?width=1920&format=png&auto=webp&s=c251a28ae798d7483300e99b9c2832cd4651a6c9

reddit.com
u/Meg_automations — 1 day ago

How I streamlined and simplified the standard n8n lead-qualification template using modern AI and Filter nodes

https://preview.redd.it/z1aleutvh5kh1.png?width=1920&format=png&auto=webp&s=179f320387abbb37bf04c31615fbbb948dd31682

https://preview.redd.it/3u8givtvh5kh1.png?width=1920&format=png&auto=webp&s=3a44b8515c9ead0ee98d77bd7ef4c04f5900d6bb

https://preview.redd.it/jkl9svtvh5kh1.png?width=1920&format=png&auto=webp&s=1663c4f85dfadccec08ff2009dd8037420955249

Hey everyone! Following up on my last post about the official n8n template, I wanted to share the custom workflow I built from scratch. I managed to clean up the architecture, drop unnecessary nodes, and make it way more efficient.

### 🛑 The Problem & The Solution Needed

* **The Problem:** The standard template requires separate nodes for parsing code and merging data back together, which adds unnecessary clutter. Also, manual re-runs end up reprocessing already handled rows.

* **The Solution Needed:** A streamlined, linear workflow that filters out processed rows instantly, leverages a modern native AI model node, and updates the sheet seamlessly without extra merge complications.

---

### ⚙️ My Custom Workflow & Node Breakdown

Here is how my new streamlined workflow is set up and why each node is used:

  1. **Google Sheets Trigger Node:** Fires automatically whenever a new row of lead data is added.
  2. **Filter Node:** Placed immediately after the trigger to check if the "Lead Status" column is empty. This prevents the workflow from reprocessing old rows when testing or manually triggering.
  3. **Message a Model Node:** Leverages a modern native AI chat model equipped with our custom prompt rules (properly separating immediate urgency like "ASAP" from future timelines like "next month").
  4. **Update Row in Sheet Node:** Directly updates the matching row with the new status and reason columns in one clean step.

Much cleaner than the multi-branch template setup! Let me know what you think or how you structure your lead processing flows.

---

🚀 **Want to give me a building challenge?**

I'm still a beginner when it comes to n8n and workflow automation, so if you have a fun, beginner-friendly problem or mini-project I could try building, drop it in the comments!

Also, I'd love your brutal feedback: **What are the hidden flaws, security gaps, or potential bottlenecks in this workflow?** Let me know what's lacking so I can improve it!

reddit.com
u/Meg_automations — 1 day ago

Need advice from n8n specialists — beginner building a WhatsApp support automation

Need advice from n8n specialists — beginner building a WhatsApp support automation

I’m currently practicing n8n by building a WhatsApp Customer Support & Ticket Management workflow for a SaaS startup.

The basic idea is:

Customer sends a WhatsApp message → welcome message → language selection → support category → follow-up questions → collect customer details → generate Ticket ID → store the ticket in Google Sheets → assign priority → acknowledge the customer → notify the support team → keep the conversation open until the issue is resolved.

I’m also trying to account for real-world requirements such as:

  • Multiple tickets from the same customer
  • Preventing duplicate ticket creation
  • Storing every customer response
  • Handling incomplete conversations
  • Supporting customers who return later
  • Updating the existing ticket instead of creating a new row
  • Maintaining conversation history

Where I’m currently stuck

I haven’t figured out how to properly use the WhatsApp test/trigger node in n8n to actually receive incoming customer messages and continue the workflow based on their replies.

Because of that, I’m currently using Edit Fields to simulate customer responses while practicing.

This works for testing the individual steps, but it becomes difficult when I need to simulate an actual conversation:

Customer message → workflow asks a question → wait for customer → customer replies → workflow continues → asks another question → waits again → etc.

I also suspect this is connected to my second problem.

Since I’m manually changing the input using Edit Fields and executing the workflow again, it seems to create a new row in Google Sheets instead of updating the existing ticket/customer record.

I understand that in a real WhatsApp conversation, I would need some kind of persistent identifier/state so n8n knows:

>

But I haven’t figured out the best way to implement that yet.

What I’d like advice on

1. Am I actually on the right track as a beginner?

Is building something like this — including conversation state, ticket IDs, duplicate prevention, database/Sheet updates, and handling returning customers — a good way to practice n8n?

Or am I making this unnecessarily complicated for my current skill level?

2. If I want to start solving real-world automation problems, which platform should I approach first?

For example, should I focus on finding problems/projects through:

  • Reddit
  • LinkedIn
  • Upwork
  • Fiverr
  • Local businesses
  • Direct outreach
  • n8n/automation communities
  • Something else

I’m specifically looking for advice from people who have actually built and deployed n8n automations for businesses.

Any guidance on how I should approach the WhatsApp/state-management problem and how I should move from practice projects to solving real business problems would be really appreciated.

https://preview.redd.it/wuv8ytvupxjh1.png?width=1920&format=png&auto=webp&s=9d25fb8515182e77eff8222dbac9e390939bdaca

https://preview.redd.it/8o8d8tvupxjh1.png?width=1920&format=png&auto=webp&s=5889c3557b64153755769c0ef1812f9f66bfcf74

https://preview.redd.it/yumgwrvupxjh1.png?width=1920&format=png&auto=webp&s=08325324bbdb723ffaae465412b081cefdff09a6

https://preview.redd.it/ta9k1uvupxjh1.png?width=1920&format=png&auto=webp&s=a7ad15d4a9c00446b4b374d97d59d5897066b9e8

https://preview.redd.it/1r39zsvupxjh1.png?width=1920&format=png&auto=webp&s=662e2e46499ac7fa4c3aa1b90e02016cda2fd0ca

reddit.com
u/Meg_automations — 3 days ago

Need advice from n8n specialists — beginner building a WhatsApp support automation

I’m currently practicing n8n by building a WhatsApp Customer Support & Ticket Management workflow for a SaaS startup.

The basic idea is:

Customer sends a WhatsApp message → welcome message → language selection → support category → follow-up questions → collect customer details → generate Ticket ID → store the ticket in Google Sheets → assign priority → acknowledge the customer → notify the support team → keep the conversation open until the issue is resolved.

I’m also trying to account for real-world requirements such as:

  • Multiple tickets from the same customer
  • Preventing duplicate ticket creation
  • Storing every customer response
  • Handling incomplete conversations
  • Supporting customers who return later
  • Updating the existing ticket instead of creating a new row
  • Maintaining conversation history

Where I’m currently stuck

I haven’t figured out how to properly use the WhatsApp test/trigger node in n8n to actually receive incoming customer messages and continue the workflow based on their replies.

Because of that, I’m currently using Edit Fields to simulate customer responses while practicing.

This works for testing the individual steps, but it becomes difficult when I need to simulate an actual conversation:

Customer message → workflow asks a question → wait for customer → customer replies → workflow continues → asks another question → waits again → etc.

I also suspect this is connected to my second problem.

Since I’m manually changing the input using Edit Fields and executing the workflow again, it seems to create a new row in Google Sheets instead of updating the existing ticket/customer record.

I understand that in a real WhatsApp conversation, I would need some kind of persistent identifier/state so n8n knows:

>

But I haven’t figured out the best way to implement that yet.

What I’d like advice on

1. Am I actually on the right track as a beginner?

Is building something like this — including conversation state, ticket IDs, duplicate prevention, database/Sheet updates, and handling returning customers — a good way to practice n8n?

Or am I making this unnecessarily complicated for my current skill level?

2. If I want to start solving real-world automation problems, which platform should I approach first?

For example, should I focus on finding problems/projects through:

  • Reddit
  • LinkedIn
  • Upwork
  • Fiverr
  • Local businesses
  • Direct outreach
  • n8n/automation communities
  • Something else

I’m specifically looking for advice from people who have actually built and deployed n8n automations for businesses.

Any guidance on how I should approach the WhatsApp/state-management problem and how I should move from practice projects to solving real business problems would be really appreciated.

https://preview.redd.it/s0sst6zmpxjh1.png?width=1920&format=png&auto=webp&s=43c22d48df10f67d2384f07fbf58288b450cb1e8

https://preview.redd.it/lyt5iqxmpxjh1.png?width=1920&format=png&auto=webp&s=0c80882a21e6aec00fdc94add832e5cbbe0c3edd

https://preview.redd.it/hmintsxmpxjh1.png?width=1920&format=png&auto=webp&s=5ecba3adad059c75aa1fe512b10f4f478e2c2238

https://preview.redd.it/14njcsxmpxjh1.png?width=1920&format=png&auto=webp&s=76442d2c23264ef041f43d42c9a2b8ab3237f62b

https://preview.redd.it/dagrisxmpxjh1.png?width=1920&format=png&auto=webp&s=2882b521bfe0ca54de606514cc1d7d311f7c7fa3

reddit.com
u/Meg_automations — 3 days ago
▲ 8 r/n8n

Need advice from n8n specialists — beginner building a WhatsApp support automation

Need advice from n8n specialists — beginner building a WhatsApp support automation

I’m currently practicing n8n by building a WhatsApp Customer Support & Ticket Management workflow for a SaaS startup.

The basic idea is:

Customer sends a WhatsApp message → welcome message → language selection → support category → follow-up questions → collect customer details → generate Ticket ID → store the ticket in Google Sheets → assign priority → acknowledge the customer → notify the support team → keep the conversation open until the issue is resolved.

I’m also trying to account for real-world requirements such as:

  • Multiple tickets from the same customer
  • Preventing duplicate ticket creation
  • Storing every customer response
  • Handling incomplete conversations
  • Supporting customers who return later
  • Updating the existing ticket instead of creating a new row
  • Maintaining conversation history

Where I’m currently stuck

I haven’t figured out how to properly use the WhatsApp test/trigger node in n8n to actually receive incoming customer messages and continue the workflow based on their replies.

Because of that, I’m currently using Edit Fields to simulate customer responses while practicing.

This works for testing the individual steps, but it becomes difficult when I need to simulate an actual conversation:

Customer message → workflow asks a question → wait for customer → customer replies → workflow continues → asks another question → waits again → etc.

I also suspect this is connected to my second problem.

Since I’m manually changing the input using Edit Fields and executing the workflow again, it seems to create a new row in Google Sheets instead of updating the existing ticket/customer record.

I understand that in a real WhatsApp conversation, I would need some kind of persistent identifier/state so n8n knows:

>

But I haven’t figured out the best way to implement that yet.

What I’d like advice on

1. Am I actually on the right track as a beginner?

Is building something like this — including conversation state, ticket IDs, duplicate prevention, database/Sheet updates, and handling returning customers — a good way to practice n8n?

Or am I making this unnecessarily complicated for my current skill level?

2. If I want to start solving real-world automation problems, which platform should I approach first?

I’m specifically looking for advice from people who have actually built and deployed n8n automations for businesses.

Any guidance on how I should approach the WhatsApp/state-management problem and how I should move from practice projects to solving real business problems would be really appreciated.

https://preview.redd.it/y8f2ok7dpxjh1.png?width=1920&format=png&auto=webp&s=9a835567448f8003f5bfc343c2d8d79be4616a47

https://preview.redd.it/j9iq6j7dpxjh1.png?width=1920&format=png&auto=webp&s=7d1c1d13d8620005579f6dee84c74dc6065fa64a

https://preview.redd.it/khix9j7dpxjh1.png?width=1920&format=png&auto=webp&s=7c4e1f96efc5507fae91a99bbb87b8ecd3b4de8f

https://preview.redd.it/n5egsi7dpxjh1.png?width=1920&format=png&auto=webp&s=f5fb80eb858936aea1c412f20c7b79cce78d8679

https://preview.redd.it/t7mqak7dpxjh1.png?width=1920&format=png&auto=webp&s=d59af9915134a4c8374ca27bc064b2d0a6bd4a44

reddit.com
u/Meg_automations — 3 days ago

Need advice from n8n specialists — beginner building a WhatsApp support automation

I’m currently practicing n8n by building a WhatsApp Customer Support & Ticket Management workflow.

The basic idea is:

Customer sends a WhatsApp message → welcome message → language selection → support category → follow-up questions → collect customer details → generate Ticket ID → store the ticket in Google Sheets → assign priority → acknowledge the customer → notify the support team → keep the conversation open until the issue is resolved.

I’m also trying to account for real-world requirements such as:

  • Multiple tickets from the same customer
  • Preventing duplicate ticket creation
  • Storing every customer response
  • Handling incomplete conversations
  • Supporting customers who return later
  • Updating the existing ticket instead of creating a new row
  • Maintaining conversation history

Where I’m currently stuck

I haven’t figured out how to properly use the WhatsApp test/trigger node in n8n to actually receive incoming customer messages and continue the workflow based on their replies.

Because of that, I’m currently using Edit Fields to simulate customer responses while practicing.

This works for testing the individual steps, but it becomes difficult when I need to simulate an actual conversation:

Customer message → workflow asks a question → wait for customer → customer replies → workflow continues → asks another question → waits again → etc.

I also suspect this is connected to my second problem.

Since I’m manually changing the input using Edit Fields and executing the workflow again, it seems to create a new row in Google Sheets instead of updating the existing ticket/customer record.

I understand that in a real WhatsApp conversation, I would need some kind of persistent identifier/state so n8n knows:

>

But I haven’t figured out the best way to implement that yet.

What I’d like advice on

1. Am I actually on the right track as a beginner?

Is building something like this — including conversation state, ticket IDs, duplicate prevention, database/Sheet updates, and handling returning customers — a good way to practice n8n?

Or am I making this unnecessarily complicated for my current skill level?

2. If I want to start solving real-world automation problems, which platform should I approach first?

For example, should I focus on finding problems/projects through:

  • Reddit
  • LinkedIn
  • Upwork
  • Fiverr
  • Local businesses
  • Direct outreach
  • n8n/automation communities
  • Something else

I’m specifically looking for advice from people who have actually built and deployed n8n automations for businesses.

Any guidance on how I should approach the WhatsApp/state-management problem and how I should move from practice projects to solving real business problems would be really appreciated.

https://preview.redd.it/z148i3qzoxjh1.png?width=1920&format=png&auto=webp&s=b5be341bb697efd6feadf4c8c2b2bf712135af68

https://preview.redd.it/ef64o2qzoxjh1.png?width=1920&format=png&auto=webp&s=84d9797a9a6269502adbd9ed76fc4ca051f7ffe4

https://preview.redd.it/hhiua2qzoxjh1.png?width=1920&format=png&auto=webp&s=055b135c53ffc5bc683701b736095fe4c4be82a7

https://preview.redd.it/wmyd34qzoxjh1.png?width=1920&format=png&auto=webp&s=23f0d427fc5820ec49dc8d91c1cd9765d8164c9f

https://preview.redd.it/6b9sa4qzoxjh1.png?width=1920&format=png&auto=webp&s=d4375a3c4c0e3193469a65928814a179483008a0

reddit.com
u/Meg_automations — 3 days ago

Looking for an n8n Study Buddy 🤝

I’m looking for someone who genuinely wants to learn n8n together every day.

I want us to spend as many hours as we can studying/building, sharing what we learn, working on projects, and keeping each other accountable.

I’m serious about getting good at n8n, so I’m looking for someone who is equally committed and consistent.

Beginner or intermediate is completely fine. I mainly care about showing up every day and growing together.

If interested, DM me!

reddit.com
u/Meg_automations — 4 days ago
▲ 21 r/Accountabilibuddies+1 crossposts

Looking for an n8n Study Buddy 🤝

I’m looking for someone who genuinely wants to learn n8n together every day.

I want us to spend as many hours as we can studying/building, sharing what we learn, working on projects, and keeping each other accountable.

I’m serious about getting good at n8n, so I’m looking for someone who is equally committed and consistent.

Beginner or intermediate is completely fine. I mainly care about showing up every day and growing together.

If interested, DM me!

reddit.com
u/Meg_automations — 4 days ago
▲ 44 r/n8n

Looking for an n8n Study Buddy 🤝

I’m looking for someone who genuinely wants to learn n8n together every day.

I want us to spend as many hours as we can studying/building, sharing what we learn, working on projects, and keeping each other accountable.

I’m serious about getting good at n8n, so I’m looking for someone who is equally committed and consistent.

Beginner or intermediate is completely fine. I mainly care about showing up every day and growing together.

If interested, DM me!

reddit.com
u/Meg_automations — 4 days ago

3 days stuck — I can SEND WhatsApp messages through n8n but CANNOT receive them. Handshake works, POST webhook never triggers. Please help.

I’m losing my mind over this.

I followed a video step by step: DM me and i will share it.

I managed to set up SENDING WhatsApp messages through n8n — that works fine. But I cannot receive incoming messages no matter what I do.

Here’s my setup:

  • n8n is running through Docker
  • I’m using ngrok to expose it publicly
  • I published/activated the workflow
  • My GET webhook handshake works — it goes green
  • I can see the callback URL and verify token are accepted
  • I subscribed to the messages webhook field in Meta
  • I’m testing from my test WhatsApp number
  • But when I send a message to my business number, my POST webhook never catches it

I’ve attached screenshots of:

  • My GET webhook node working
  • My POST webhook node setup
  • Respond to Webhook node
  • The callback URL and verify token in Meta

I’ve tried redoing the whole thing multiple times. I deleted and recreated the webhook. I re-published the workflow. I checked ngrok. I restarted n8n. Still nothing.

The handshake works, so I don’t understand why the actual incoming message isn’t being received by the POST webhook.

If anyone has been through this exact nightmare, please tell me what I’m missing. I just need the incoming WhatsApp message to show up in the webhook input so I can continue building my workflow.

Happy to share any other screenshots or details.

Thanks in advance.

https://preview.redd.it/xumxok2jeijh1.png?width=1920&format=png&auto=webp&s=3a884d47542d6231f5faa76ea20ed6b6d77df5b2

https://preview.redd.it/gynjwm2jeijh1.png?width=1829&format=png&auto=webp&s=75e8c13605df8d4f62c006854e7ec1115a7db208

https://preview.redd.it/2fjprl2jeijh1.png?width=1833&format=png&auto=webp&s=7f049d4ed1ca55a12d7f602209f32e7dcca7fd7d

https://preview.redd.it/ejg9fl2jeijh1.png?width=1920&format=png&auto=webp&s=9051ec8a46ae6df9095cf39eac430f71dbdf2462

https://preview.redd.it/hov5bn2jeijh1.png?width=1920&format=png&auto=webp&s=83de76eb88057712083814a813b4f90729af3264

reddit.com
u/Meg_automations — 5 days ago

3 days stuck - I can SEND WhatsApp messages through n8n but CANNOT receive them. Handshake works, POST webhook never triggers. Please help.

I’m losing my mind over this.

I followed a video step by step - DM me and i will share it

I managed to set up SENDING WhatsApp messages through n8n — that works fine. But I cannot receive incoming messages no matter what I do.

Here’s my setup:

  • n8n is running through Docker
  • I’m using ngrok to expose it publicly
  • I published/activated the workflow
  • My GET webhook handshake works — it goes green
  • I can see the callback URL and verify token are accepted
  • I subscribed to the messages webhook field in Meta
  • I’m testing from my test WhatsApp number
  • But when I send a message to my business number, my POST webhook never catches it

I’ve attached screenshots of:

  • My GET webhook node working
  • My POST webhook node setup
  • Respond to Webhook node
  • The callback URL and verify token in Meta

I’ve tried redoing the whole thing multiple times. I deleted and recreated the webhook. I re-published the workflow. I checked ngrok. I restarted n8n. Still nothing.

The handshake works, so I don’t understand why the actual incoming message isn’t being received by the POST webhook.

If anyone has been through this exact nightmare, please tell me what I’m missing. I just need the incoming WhatsApp message to show up in the webhook input so I can continue building my workflow.

Happy to share any other screenshots or details.

Thanks in advance.

https://preview.redd.it/514276p6eijh1.png?width=1920&format=png&auto=webp&s=682746cd01f8269b49c5dbc2ee06d003912572da

https://preview.redd.it/yeh3m5p6eijh1.png?width=1829&format=png&auto=webp&s=c73342f1cb7c6f59d483e945628087e7b9448ef6

https://preview.redd.it/ak5wb7p6eijh1.png?width=1833&format=png&auto=webp&s=f8742ab77653d9325c3319c454a576156e3f9125

https://preview.redd.it/zbupv5p6eijh1.png?width=1920&format=png&auto=webp&s=6ccb43ecbd373adf6ea538d587dbee0a38c6e7e7

https://preview.redd.it/8g4zl6p6eijh1.png?width=1920&format=png&auto=webp&s=d6c61aabd449b2141dd3496d1cd6bbcb173bd1fa

reddit.com
u/Meg_automations — 5 days ago
▲ 1 r/n8n

Update: fixed the bug from yesterday's post (n8n Code node eating extra items)

Quick follow-up to yesterday's post about my Code node silently dropping every item except the first one. Wanted to close the loop since a few of you gave genuinely useful pointers in the comments — thank you, seriously. Between the replies here and a friend who does n8n professionally, I got it sorted.

The mistake, restated simply

My Code node was using $input.item, which only ever grabs the first item n8n hands it. When I tested with just 1 patient submission, everything looked perfect — no errors, worked exactly as expected. The bug only became visible once I tested with multiple patients submitting the form at once. Items 2 and 3 were silently getting ignored — no error thrown, no red X on the node, they just... vanished. That's what made it so hard to catch initially.

The fix

Swapped $input.item for $input.all() and wrapped the logic in a .map() loop:

javascript

const items = $input.all();
return items.map(item => {
  const rawText = item.json.content.parts[0].text;
  const cleaned = rawText.replace(/```json\n?/g, '').replace(/```/g, '').trim();
  const parsed = JSON.parse(cleaned);
  return { json: parsed };
});

.all() grabs the whole array of items instead of just the first, .map() runs the exact same processing logic on each one individually, and the function returns an array of every processed result instead of one lonely object. Tested it with 3 simultaneous form submissions afterward and all 3 flowed all the way through to their correct Telegram alerts — no drops.

A second bug I found while stress-testing

Once the looping was fixed, I went looking for more edge cases and found something more interesting: my workflow has a hardcoded keyword safety net that checks patient-reported symptoms for obvious emergency phrases (like "chest pain," "can't breathe") before anything touches AI — the idea being, don't let a life-threatening case depend entirely on an LLM's judgment.

Problem: I tested it with a message that described an actual emergency but in informal/metaphorical language ("feels like an elephant is sitting on me, can't get air in") — deliberately avoiding my exact keyword list. As expected, the keyword check didn't catch it (it's just doing literal string matching, so it can't be blamed for that). But this is exactly why I built a second layer: it fell through to my Gemini classification step, and the AI correctly read the actual meaning behind the words and classified it as urgent anyway.

That confirmed something I wasn't 100% sure about until I saw it happen: the two-layer approach (dumb-but-instant keyword check + smart-but-slightly-slower AI check) actually catches more than either layer alone would. The keyword net is fast and 100% predictable but narrow. The AI net is smarter about phrasing but depends on a prompt that actually spells out what "urgent" looks like in detail — my first version of that prompt was too vague ("classify as HOT if it contains emergency indicators") and I had to rewrite it with actual example symptom patterns for each category before it reliably caught the paraphrased case.

Thanks

Appreciate everyone who chimed in yesterday — the suggestion to check whether my Code node was actually looping was the thing that cracked this open, and I wouldn't have thought to look there on my own as a beginner.

What should I stress-test or build next?

https://preview.redd.it/5kiymhpflphh1.png?width=1920&format=png&auto=webp&s=ef95eca3d88abc5351a5b7a3bfe86a0bc9e28b82

https://preview.redd.it/4bfq4hpflphh1.png?width=1920&format=png&auto=webp&s=0c3aea9302b48c649d8fcb18319e801b3dc6f2af

reddit.com
u/Meg_automations — 14 days ago
▲ 27 r/n8nforbeginners+1 crossposts

Built my first n8n workflow: AI-powered patient intake triage for a clinic - beginner looking for feedback + help with a Google Sheets bug

Hey r/n8n,

I just finished my first practice workflow and I’d love your feedback.

I’m a beginner, and this one is for a clinic i asked Claude to make a real life case scenario so i can build a workflow.

The problem it gave me:
When new patients reach out, front-desk staff have to manually read every inquiry, decide how urgent it is, and pick which doctor to assign. That’s slow, inconsistent depending on who’s on shift, and urgent cases can sit in a queue for too long.

So I built an automated patient intake triage system.

What my workflow does:

  1. Patient submits name, email, and reason for visit through Google Forms
  2. New response lands in Google Sheets
  3. n8n picks up the row
  4. Gemini classifies it into:
    • HOT = urgent/emergency → Senior Consultant
    • WARM = specific concern → Specialist
    • COLD = routine/general → General Physician
  5. Staff get a Telegram alert with the patient’s info, urgency level, and assigned doctor

I also added a hardcoded safety net: if certain emergency keywords appear — like chest pain, difficulty breathing, etc. it bypasses Gemini entirely and alerts staff immediately. I didn’t want AI making the call on true emergencies.

I’ve attached my workflow image here.

I have 3 questions:

  1. As a beginner, is this workflow good enough for practice? What should I add, remove, or improve?
  2. Bug I’m stuck on: Every time I execute the flow, it still sends a message based on the first Google Form entry. It’s not considering the newer rows that get added afterward. I expected it to trigger on each new row, but it seems stuck on row 1. What am I doing wrong?
  3. Optional: What’s one new healthcare/clinic-related workflow scenario you’d recommend I practice next? I want to keep building realistic examples.

Any feedback is appreciated - I’m here to learn. Don’t hold back

u/Meg_automations — 15 days ago