Hi n8n community,
I’m building an Invoice Reminder Automation System that:
-
Serves an HTML form for users to upload a Weekly Outstanding Invoice Report (Excel/CSV)
-
Extracts and loads a dynamic customer list from the uploaded file
-
Lets the user choose 1 of 4 email templates via dropdown:
-
Template 1
-
Template 2
-
Template 3
-
Template 4
-
-
Allows multi-customer selection and displays the number of selected customers
-
Generates an email draft preview for user review, including:
-
A summary of all outstanding invoices
-
A dynamically populated table containing invoice number, due date, and amount
-
Issues I faced:
-
POST webhook submission was failing
-
GET webhook was returning an empty body
-
Respond to Webhook nodes were not correctly linked
-
Frontend expected JSON, but response was incorrectly set as HTML
-
Unused “Respond to Webhook” node caused execution errors
-
Confusion about whether GET & POST webhooks should share the same path
-
Webhook not receiving binary file correctly due to missing config (Raw Body / Binary field key mismatch)
My questions:
-
What is the best way to chain Webhook (GET) → Webhook (POST) → Respond to Webhook properly?
-
How do I pass the uploaded file (
report) into Extract From File node correctly? -
Can both GET & POST share the same path, or should they be different?
-
What is the correct response mode if the frontend expects
response.json()? -
Is it possible to trigger 2 webhooks simultaneously in one flow?
Would appreciate any advice or sample workflows similar to this.
Thanks in advance!
— Justin
