{"product_id":"capture-website-leads-to-google-sheets-via-webhook-validation","title":"Capture Website Leads to Google Sheets via Webhook Validation","description":"\u003ch3\u003eCapture every website lead and save it automatically to Google Sheets—validated first via a webhook\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow receives lead submissions from your website (or any tool that POSTs JSON), validates that the lead has a \u003cb\u003ename\u003c\/b\u003e, and then appends each valid inquiry to your \u003cb\u003eGoogle Sheets\u003c\/b\u003e—no manual copy-paste and no lost submissions.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eReceives leads via Webhook:\u003c\/b\u003e Your form (or lead source) sends JSON to the workflow’s webhook URL.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eCentralized setup with CONFIG:\u003c\/b\u003e All key settings (Google Sheet ID, tab name, and business name) are maintained in a single CONFIG node.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003ePrepares \u0026amp; validates incoming data:\u003c\/b\u003e The \u003ci\u003ePrepare Lead\u003c\/i\u003e step merges incoming fields with your configuration, then an \u003cb\u003eHas Name?\u003c\/b\u003e filter removes rows where no name is provided.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eSaves to Google Sheets:\u003c\/b\u003e For each valid lead, the \u003ci\u003eSave Lead to Sheets\u003c\/i\u003e node appends a new row including \u003cb\u003etimestamp\u003c\/b\u003e and a \u003cb\u003estatus\u003c\/b\u003e of \u003cb\u003enew\u003c\/b\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eDoesn’t hide invalid leads:\u003c\/b\u003e Instead of silently failing, invalid submissions are \u003cb\u003elogged\u003c\/b\u003e so you can review data quality.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eTest before going live:\u003c\/b\u003e A \u003ci\u003eManual Trigger\u003c\/i\u003e lets you test end-to-end and confirm a row is created prior to connecting your real form.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAgencies capturing leads from landing page forms and storing them in one shared Google Sheet.\u003c\/li\u003e\n  \u003cli\u003eFreelancers routing “Contact Us” submissions into a spreadsheet for quick follow-up.\u003c\/li\u003e\n  \u003cli\u003eSaaS operators validating incoming form data so incomplete inquiries don’t pollute reporting.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eIntegrations:\u003c\/b\u003e n8n Webhook + \u003cb\u003eGoogle Sheets\u003c\/b\u003e via \u003cb\u003eGoogle OAuth2\u003c\/b\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eNodes\/tools used:\u003c\/b\u003e IF, Set, Code, Webhook, Sticky Note, Google Sheets, Manual Trigger.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003e\u003cb\u003eRequirements:\u003c\/b\u003e n8n (self-hosted or cloud) and a Google account for Google Sheets OAuth2.\u003c\/p\u003e\n\u003cp\u003eSet up your Sheet header as: \u003cb\u003ename, email, phone, source, status, created_at\u003c\/b\u003e, then paste the workflow’s Production Webhook URL into your form.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46081396900019,"sku":"N8N-19883","price":72.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/EUq6CHMC3v-o9MTQje45A_kMlJeb36.png?v=1790240780","url":"https:\/\/buyflowscripts.com\/products\/capture-website-leads-to-google-sheets-via-webhook-validation","provider":"N8N Commerce","version":"1.0","type":"link"}