Inside the implementation
From enquiry to an organised next step.
- 01
Website Form
Four required fields capture the project enquiry.
- 02
Server Validation
Validate the enquiry and sign the request with a server-only key.
- 03
Google Apps Script
Verify the signature and check the submission ID before saving.
- 04
Google Sheets
Save the enquiry as a structured lead record.
- 05
Email Notification
A scheduled worker emails the owner and records notification status.
Saved first. Receipt next. Owner alert follows.
After Google Sheets saves the lead, Apps Script confirms receipt to the website. The email worker checks every minute, subject to Google's scheduling and quotas. An uncertain send is marked for review without losing the enquiry.
Own portfolio · 23 October 2026
- Enquiry saved
- Owner notification sent
- Status recorded: Sent
Illustrated from the built workflow and its verified internal test. No private lead records are displayed.
Recorded internal test · 17 October 2026
Watch the enquiry workflow
Silent walkthrough · edited for privacy. Recorded on 17 October 2026 using the earlier n8n version. The current enquiry backend uses Google Apps Script.
Business problem
A website form needs a dependable way to save enquiries and tell the business owner that a new conversation needs attention.
What I personally built
I built this portfolio's enquiry flow, originally with n8n Cloud, and migrated the live intake to Google Apps Script. The server signs validated requests, Google Sheets stores the lead, and a scheduled worker sends the owner email. Submission IDs prevent duplicate retries, and notification status is tracked separately from saved receipt.
Tools & integrations
How the workflow works
- Validate the enquiry on the server and sign the request to Google Apps Script.
- Check the submission ID and save a new lead in Google Sheets.
- Confirm receipt to the visitor after the lead is saved.
- Send the owner email through the scheduled worker and record its notification status.
Testing & evidence
An internal test on 23 October 2026 verified the Google Apps Script migration: the fictional enquiry was saved, an identical retry created no duplicate, an invalid signature was rejected, and the notification worker recorded Sent. The privacy-edited recording from 17 October 2026 demonstrates the earlier n8n implementation; it is historical evidence, not a recording of the current backend.
Outcome & current status
Verified implementation test on my own portfolio. The result demonstrates the enquiry-to-notification path; it is not a client outcome, measured sales improvement, or response-time guarantee.