<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bilal Saleh</title>
    <description>The latest articles on DEV Community by Bilal Saleh (@konvff).</description>
    <link>https://dev.to/konvff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4235370%2F4658d66b-4d80-4ad8-ba7a-698b9f24807e.jpg</url>
      <title>DEV Community: Bilal Saleh</title>
      <link>https://dev.to/konvff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/konvff"/>
    <language>en</language>
    <item>
      <title>How to auto-alert yourself about every new lead with n8n</title>
      <dc:creator>Bilal Saleh</dc:creator>
      <pubDate>Mon, 09 Nov 2026 14:56:18 +0000</pubDate>
      <link>https://dev.to/konvff/how-to-auto-alert-yourself-about-every-new-lead-with-n8n-4ieb</link>
      <guid>https://dev.to/konvff/how-to-auto-alert-yourself-about-every-new-lead-with-n8n-4ieb</guid>
      <description>&lt;p&gt;If a lead fills your form at 9pm and you only see the email at 11am, they've often already booked someone else.&lt;/p&gt;

&lt;p&gt;Email alerts are easy to ignore. A WhatsApp ping on your phone isn't. This tutorial walks through a free n8n workflow that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Receives a website form submission via webhook&lt;/li&gt;
&lt;li&gt;Validates it (real email &lt;strong&gt;or&lt;/strong&gt; a phone with 8+ digits)&lt;/li&gt;
&lt;li&gt;Saves the lead to Google Sheets&lt;/li&gt;
&lt;li&gt;Alerts &lt;strong&gt;you&lt;/strong&gt; by email and WhatsApp within seconds&lt;/li&gt;
&lt;li&gt;Auto-replies to the lead if they left an email&lt;/li&gt;
&lt;li&gt;Returns a clean JSON response the form can show as success/error&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No custom code. Built-in n8n nodes only. Works on n8n Cloud and the free self-hosted Community Edition.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you'll need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An n8n account (Cloud or self-hosted)&lt;/li&gt;
&lt;li&gt;A Google account (for Sheets + Gmail)&lt;/li&gt;
&lt;li&gt;Optional: a Twilio account if you want WhatsApp/SMS alerts (email-only works without it)&lt;/li&gt;
&lt;li&gt;A website form you can point at a webhook URL (WordPress, Webflow, Framer, or plain HTML)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1 — Get the workflow JSON
&lt;/h2&gt;

&lt;p&gt;Download the free "Lead Capture Lite" pack (workflow JSON + HTML form example + sheet headers):&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://pebble71.gumroad.com/l/free-n8n-lead-capture" rel="noopener noreferrer"&gt;https://pebble71.gumroad.com/l/free-n8n-lead-capture&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or grab the JSON straight from the public gist: &lt;a href="https://gist.github.com/konvff/74439ec1f076fbc509c91b3b79e59dd5" rel="noopener noreferrer"&gt;https://gist.github.com/konvff/74439ec1f076fbc509c91b3b79e59dd5&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 — Import into n8n
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open n8n → &lt;strong&gt;New workflow&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;⋯ → Import from File…&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose &lt;code&gt;02-website-lead-capture-alerts.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;You should see about a dozen nodes, including sticky notes that explain the setup on the canvas itself&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 3 — Connect credentials
&lt;/h2&gt;

&lt;p&gt;Click each of these nodes and connect (or create) credentials:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Node&lt;/th&gt;
&lt;th&gt;Credential&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Save Lead to Sheet&lt;/td&gt;
&lt;td&gt;Google Sheets OAuth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Email Alert to You&lt;/td&gt;
&lt;td&gt;Gmail OAuth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-Reply to Lead&lt;/td&gt;
&lt;td&gt;Gmail OAuth (same account is fine)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WhatsApp Alert to You&lt;/td&gt;
&lt;td&gt;Twilio API (optional)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you're skipping WhatsApp for now, disable the Twilio node or set it to &lt;em&gt;Continue On Fail&lt;/em&gt; so a missing credential doesn't stop the rest of the run.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4 — Edit the Settings box
&lt;/h2&gt;

&lt;p&gt;Open &lt;strong&gt;⚙️ Settings + Clean Lead&lt;/strong&gt;. This is the only place you should need to type your business details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business name (used in the auto-reply)&lt;/li&gt;
&lt;li&gt;Your alert email&lt;/li&gt;
&lt;li&gt;Your WhatsApp number in international format, e.g. &lt;code&gt;+923001234567&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Twilio WhatsApp sender (if using Twilio)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same node also normalises the incoming payload. It accepts &lt;code&gt;name&lt;/code&gt; or &lt;code&gt;full_name&lt;/code&gt;, &lt;code&gt;phone&lt;/code&gt; or &lt;code&gt;whatsapp&lt;/code&gt;, lowercases the email, and strips junk characters from the phone. That means one workflow works with slightly different forms without rewriting expressions everywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5 — Create the Google Sheet
&lt;/h2&gt;

&lt;p&gt;Make a sheet with a tab named &lt;code&gt;Leads&lt;/code&gt; and this header row:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csvs"&gt;&lt;code&gt;&lt;span class="k"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;phone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;service&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;source&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy the sheet URL into the &lt;strong&gt;Save Lead to Sheet&lt;/strong&gt; node (document field). Map columns to the cleaned fields from the Settings node — not from the webhook directly, because the Sheets node output replaces your original fields later in the flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6 — Activate and wire the form
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Activate&lt;/strong&gt; the workflow&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Lead Form Webhook&lt;/strong&gt; node and copy the &lt;strong&gt;Production URL&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Point your form at that URL&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a plain HTML site, the free pack includes &lt;code&gt;lead-form-example.html&lt;/code&gt; that posts JSON with &lt;code&gt;fetch()&lt;/code&gt;. Two gotchas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;allowedOrigins&lt;/code&gt; on the webhook if the form lives on a different domain, or the browser will block the request (CORS).&lt;/li&gt;
&lt;li&gt;Use the Production URL after activating. The Test URL only works while you're listening in the editor.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 7 — Test the unhappy paths
&lt;/h2&gt;

&lt;p&gt;Don't only test a perfect submission.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Submit with neither email nor phone → you should get a 400-style JSON error and nothing written to the sheet&lt;/li&gt;
&lt;li&gt;Submit with email only → sheet row + email alert + auto-reply (WhatsApp alert may no-op if disabled)&lt;/li&gt;
&lt;li&gt;Submit with phone only → sheet row + alerts, no auto-reply email&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If WhatsApp isn't arriving: Twilio's sandbox only delivers to numbers that have already texted the join code. Test with your own phone first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why validate before you save
&lt;/h2&gt;

&lt;p&gt;A lot of "form → sheet" templates happily log empty or spam submissions. That pollutes your CRM-ish sheet and trains you to ignore it. The &lt;strong&gt;Valid Lead?&lt;/strong&gt; IF node in this workflow requires a plausible email &lt;strong&gt;or&lt;/strong&gt; a long-enough phone before anything is written. Invalid hits get a &lt;code&gt;Respond Invalid&lt;/code&gt; JSON payload so your form UI can show an error instead of a fake success.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this fits in a bigger stack
&lt;/h2&gt;

&lt;p&gt;Lead alerts alone won't run a business. The same pattern — webhook or trigger → validate → log → notify → optional customer message — is what you reuse for appointment reminders, review requests, and invoice chasers.&lt;/p&gt;

&lt;p&gt;If you want those next five as ready-made templates (plus an 11-page setup guide), they're in the Small Business Automation Pack:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://pebble71.gumroad.com/l/small-business-n8n-pack" rel="noopener noreferrer"&gt;https://pebble71.gumroad.com/l/small-business-n8n-pack&lt;/a&gt;&lt;br&gt;&lt;br&gt;
($19+ PWYW; code &lt;strong&gt;LAUNCH50&lt;/strong&gt; takes 50% off for the first 50 buyers)&lt;/p&gt;

&lt;h2&gt;
  
  
  Recap
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Import the free JSON&lt;/li&gt;
&lt;li&gt;Connect Google (and Twilio if you want WhatsApp)&lt;/li&gt;
&lt;li&gt;Fill one Settings node&lt;/li&gt;
&lt;li&gt;Create a &lt;code&gt;Leads&lt;/code&gt; sheet&lt;/li&gt;
&lt;li&gt;Activate, paste the Production webhook into your form&lt;/li&gt;
&lt;li&gt;Test valid and invalid submissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You should feel the first ping on your phone the next time someone fills the form — including after hours. That's the whole point.&lt;/p&gt;

&lt;p&gt;Questions about CORS, Twilio sandbox, or mapping a WordPress / Webflow form? Drop a comment and I'll help.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Workflow by FlowMind Agency. n8n, Google, OpenAI, Twilio and WhatsApp are trademarks of their respective owners; this is an independent guide.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>nocode</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
