Overview
This lesson is part of the n8n AI Automation - Zero to Hero course, Section: 3. Deep Dive Concepts.
Watch the video above for the full tutorial, or read the written guide below.
What Is the Webhook Node and How Does It Differ from API Polling?
The Webhook Node in n8n acts as a real-time data listener that triggers your workflow the instant data arrives at its URL. Unlike API polling, where your system must repeatedly request updates on a fixed interval, the Webhook receives a push the moment an external event fires. This removes polling delays and wasted compute, making it ideal for infrequent but time-sensitive events like form submissions, CRM entries, or security incidents.
How to Connect Google Forms to the n8n Webhook Node
Google Forms has no native webhook field in its settings. You bridge it to n8n by pasting a short Apps Script into the form's built-in code editor and registering an onSubmit trigger. The script intercepts each form submission and POSTs the response data to your n8n Webhook URL, connecting Google's closed form system to any external workflow.
Inside your Google Form editor, click the three-dot menu next to your profile icon and select "Apps Script." Paste the provided script into the editor, replace the placeholder URL with your n8n test URL (copied from the Webhook Node panel after switching the HTTP method from GET to POST), and save the project to Google Drive with a recognizable name like "User Registration Form."
In the Apps Script dashboard, add a new trigger: set the function to onSubmit, deployment to Head, event source to From Form, and event type to On form submit. Save. Google prompts you to authorize access, including permission to "connect to an external service." Click the "Advanced" link to pass the unverified-app warning, since you authored the script, then grant permissions. Back in n8n, click "Listen for test events" on the Webhook Node and submit a live form response. The node displays the received payload with field values nested under body in the JSON output.
Key Takeaways
- The Webhook Node must use the POST method, not the default GET, when receiving form submissions. Change the HTTP method in the node panel before clicking "Listen for test events."
- Google Forms requires an Apps Script
onSubmittrigger to forward submissions to an external URL. There is no native webhook configuration anywhere in Forms settings. - The test URL and production URL are separate endpoints. Configure the Apps Script with the test URL during development, then swap to the production URL before activating your n8n workflow.
- The Webhook payload nests form field values under
body. Use dot notation ($json.body["Your Name"]) to reference specific fields in downstream nodes like IF, Slack, or Amazon SES. - The Apps Script authorization requires clicking "Advanced" to bypass the "Google hasn't verified this app" screen. This is expected behavior for any self-authored script that connects to an external service.
Related Lessons
- Lesson 11: How Branching works in n8n Workflows | Smart Automations with Multiple Paths
- Lesson 12: How to Use Merge Node in n8n | Combine Data Like a Pro
- Lesson 13: How to Use Set Node in n8n | Edit Fields Node | Add, Edit, Clean Data
- Lesson 14: How to Use Aggregate Node in n8n | Combine & Summarize Data
- Lesson 15: How to Use Remove Duplicates Node in n8n | Clean Your Data Fast
Next Steps
Continue your n8n journey with the full n8n AI Automation - Zero to Hero course.