{"product_id":"n8n-webhook-to-google-sheets-lead-capture-slack-alerts","title":"n8n Webhook to Google Sheets Lead Capture + Slack Alerts","description":"\u003ch3\u003eCapture website leads with an n8n Webhook, save them to Google Sheets, and alert your team in Slack—only for truly new contacts.\u003c\/h3\u003e\n\u003cp\u003eThis n8n automation turns any POSTed lead submission into a clean, deduplicated record in Google Sheets and sends a \u003cstrong\u003eSlack alert only when a genuinely new lead is captured\u003c\/strong\u003e. If the same email comes in again, your sheet gets updated quietly—no noisy notifications.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives lead submissions via Webhook\u003c\/strong\u003e (from a website form or any JSON sender).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalizes and validates input\u003c\/strong\u003e by mapping common field-name variants into a consistent lead schema, flagging free-mail domains, and ensuring the submission contains a usable email address.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReturns immediate feedback\u003c\/strong\u003e: valid leads receive a JSON acknowledgement; invalid submissions return \u003cstrong\u003eHTTP 400\u003c\/strong\u003e with an error message.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePrevents duplicates in Google Sheets\u003c\/strong\u003e by looking up the submitted email in the \u003cstrong\u003eLeads\u003c\/strong\u003e worksheet.\u003c\/li\u003e\n  \u003cli\u003eIf the email is \u003cstrong\u003enew\u003c\/strong\u003e, appends a full lead record including \u003cstrong\u003efirst_seen, last_seen, times_seen\u003c\/strong\u003e, then posts a formatted \u003cstrong\u003e“new lead”\u003c\/strong\u003e message to \u003cstrong\u003eSlack\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIf the email \u003cstrong\u003ealready exists\u003c\/strong\u003e, updates the existing row by bumping \u003cstrong\u003etimes_seen\u003c\/strong\u003e and refreshing \u003cstrong\u003elast_seen\u003c\/strong\u003e, without sending a Slack notification.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eCollect SaaS demo requests or contact form submissions directly from your website into Google Sheets.\u003c\/li\u003e\n  \u003cli\u003eKeep sales\/ops informed in Slack when a truly new lead arrives—while ignoring repeat form submissions.\u003c\/li\u003e\n  \u003cli\u003eMaintain accurate lead engagement metrics using \u003cstrong\u003efirst_seen \/ last_seen \/ times_seen\u003c\/strong\u003e for the same email.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/logic:\u003c\/strong\u003e webhook, if, code, slack, google sheets, sticky note.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets setup:\u003c\/strong\u003e create a spreadsheet with a worksheet named \u003cstrong\u003eLeads\u003c\/strong\u003e and headers: \u003cstrong\u003eemail, name, company, phone, source, message, first_seen, last_seen, times_seen, status\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAuth:\u003c\/strong\u003e Google Sheets OAuth2 credentials (with Google Sheets API and Google Drive API enabled).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45756675326131,"sku":"N8N-17749","price":76.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/SWn_G4BpFQKRsHucI8f5n_f8wN1a1C.png?v=1785747887","url":"https:\/\/buyflowscripts.com\/products\/n8n-webhook-to-google-sheets-lead-capture-slack-alerts","provider":"N8N Commerce","version":"1.0","type":"link"}