{"id":793,"date":"2025-10-08T12:43:25","date_gmt":"2025-10-08T12:43:25","guid":{"rendered":"https:\/\/savywork.com\/automations\/?page_id=793"},"modified":"2025-10-15T07:18:38","modified_gmt":"2025-10-15T07:18:38","slug":"automated-lead-generation-agent","status":"publish","type":"page","link":"https:\/\/savywork.com\/automations\/automated-lead-generation-agent\/","title":{"rendered":"Automated Lead Generation Agent"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"793\" class=\"elementor elementor-793\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-545de2ca elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"545de2ca\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-174e10af\" data-id=\"174e10af\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7d66a150 elementor-widget elementor-widget-text-editor\" data-id=\"7d66a150\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div>\n<p><\/p>\n<div class=\"is-layout-flow wp-block-column-is-layout-flow\">\n<h3><strong>About <\/strong><\/h3>\n<div>\n<p data-start=\"141\" data-end=\"498\">The Lead Generation Agent is an automated AI-powered system designed to collect potential client data effortlessly. It scrapes business information from Google Maps and websites, extracts valid email addresses, filters out duplicates or irrelevant entries, and stores the results neatly in a Google Sheet. This agent saves hours of manual research and data entry, giving you verified and organized leads instantly for outreach or marketing campaigns.<\/p>\n<p data-start=\"141\" data-end=\"498\">\u00a0<\/p>\n<\/div>\n<\/div>\n<h3>\u00a0<\/h3>\n<\/div>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9292e0 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"d9292e0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"868\" height=\"579\" src=\"https:\/\/savywork.com\/automations\/wp-content\/uploads\/2025\/10\/Screenshot-2025-10-08-020324.png\" class=\"elementor-animation-grow attachment-full size-full wp-image-789\" alt=\"\" srcset=\"https:\/\/savywork.com\/automations\/wp-content\/uploads\/2025\/10\/Screenshot-2025-10-08-020324.png 868w, https:\/\/savywork.com\/automations\/wp-content\/uploads\/2025\/10\/Screenshot-2025-10-08-020324-300x200.png 300w, https:\/\/savywork.com\/automations\/wp-content\/uploads\/2025\/10\/Screenshot-2025-10-08-020324-768x512.png 768w, https:\/\/savywork.com\/automations\/wp-content\/uploads\/2025\/10\/Screenshot-2025-10-08-020324-90x60.png 90w\" sizes=\"(max-width: 868px) 100vw, 868px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cb6e790\" data-id=\"cb6e790\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8434f61 elementor-widget elementor-widget-text-editor\" data-id=\"8434f61\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h3>How it works:<\/h3>\n<p>The workflow starts when the process is triggered, automatically scraping data from Google Maps based on your target search. It extracts business URLs, filters out unwanted or duplicate links, and then visits each site to gather contact information. The agent intelligently extracts valid emails from the scraped pages, removes empty or repeated entries, and appends the clean, structured data into a Google Sheet. The process ensures accuracy and scalability while running completely hands-free.<\/p>\n<p><!-- \/wp:paragraph --><!-- wp:heading {\"level\":3} --><\/p>\n<div>\n<h3 style=\"box-sizing: border-box; margin: 0px 0px 10px; font-size: 34px; line-height: 1.235em; color: #111111; font-family: Montserrat, sans-serif; font-weight: bold;\">Key Features:<\/h3>\n<p data-start=\"1112\" data-end=\"1159\">Automated Google Maps and website scraping<\/p>\n<p data-start=\"1162\" data-end=\"1215\">Accurate email extraction from business websites<\/p>\n<p data-start=\"1218\" data-end=\"1274\">Duplicate and empty data filtering for clean output<\/p>\n<p data-start=\"1277\" data-end=\"1319\">Auto-export of leads to Google Sheets<\/p>\n<p data-start=\"1322\" data-end=\"1386\">Fast, scalable, and ideal for sales, marketing, and outreach<\/p>\n<p data-start=\"2204\" data-end=\"2300\">\u00a0<\/p>\n<\/div>\n<div>\n<h3>See Work Flow In Action<\/h3>\n<div>\u00a0<\/div>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bbb4ad8 elementor-align-justify elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"bbb4ad8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/drive.google.com\/file\/d\/1vKaZ77qNi65t6NJ2iD-szgziN_83ZGQT\/view?usp=drive_link\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Demo<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5fe6c77 elementor-align-justify elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"5fe6c77\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/savywork.com\/product\/book-professional-online-consultation-meeting-for-1-hour\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Book Consultation Today &gt;&gt;&gt;<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-92bceee elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"92bceee\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e7bc94e\" data-id=\"e7bc94e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fd33531 elementor-widget elementor-widget-text-editor\" data-id=\"fd33531\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"wp-block-columns\">\n<p><!-- wp:column --><\/p>\n<div class=\"wp-block-column\">\n<h3 dir=\"auto\">For whom this AI automation will benefit?<\/h3>\n<ul>\n<li>Sales teams qualifying and nurturing leads without manual effort.<\/li>\n<li>Digital marketers optimizing campaigns by identifying high-potential prospects.<\/li>\n<li>Startups scaling growth by automating outreach to targeted audiences.<\/li>\n<li>B2B companies streamlining pipeline development across multiple channels.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">\u00a0<\/h3>\n<\/div>\n<\/div>\n<p><!-- \/wp:buttons --><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a691e1b elementor-widget elementor-widget-html\" data-id=\"a691e1b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"UTF-8\" \/>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\r\n  <title>Lead Generation<\/title>\r\n  <style>\r\n    body {\r\n      font-family: Arial, sans-serif;\r\n      max-width: 1000px;\r\n      margin: 0 auto;\r\n      padding: 20px;\r\n      background-color: #f9fafb;\r\n    }\r\n\r\n    h1 {\r\n      text-align: center;\r\n      color: #333;\r\n    }\r\n\r\n    form {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: 10px;\r\n      margin-bottom: 20px;\r\n    }\r\n\r\n    label {\r\n      font-weight: bold;\r\n    }\r\n\r\n    input {\r\n      padding: 8px;\r\n      border: 1px solid #ccc;\r\n      border-radius: 4px;\r\n    }\r\n\r\n    button {\r\n      padding: 10px;\r\n      background-color: #4CAF50;\r\n      color: white;\r\n      border: none;\r\n      border-radius: 4px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    button:hover {\r\n      background-color: #45a049;\r\n    }\r\n\r\n    #result,\r\n    #emails {\r\n      margin-top: 20px;\r\n    }\r\n\r\n    #emails {\r\n      background-color: #e8f4f8;\r\n      border: 1px solid #b3d4e0;\r\n      border-radius: 4px;\r\n      padding: 20px;\r\n    }\r\n\r\n    table {\r\n      width: 100%;\r\n      border-collapse: collapse;\r\n      margin-top: 10px;\r\n    }\r\n\r\n    th,\r\n    td {\r\n      padding: 10px;\r\n      border: 1px solid #ddd;\r\n      vertical-align: top;\r\n      text-align: left;\r\n    }\r\n\r\n    th {\r\n      background-color: #f2f2f2;\r\n    }\r\n\r\n    td {\r\n      background-color: #ffffff;\r\n    }\r\n\r\n    .error {\r\n      color: red;\r\n      font-weight: bold;\r\n    }\r\n\r\n    .success {\r\n      color: green;\r\n      font-weight: bold;\r\n    }\r\n\r\n    .social-links a {\r\n      display: inline-block;\r\n      margin-right: 8px;\r\n      color: #1a73e8;\r\n      text-decoration: none;\r\n    }\r\n\r\n    .social-links a:hover {\r\n      text-decoration: underline;\r\n    }\r\n\r\n    .company-name {\r\n      font-weight: bold;\r\n      color: #333;\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <h1>Lead Generation<\/h1>\r\n  <p>Enter the industry name and location to generate company details from Google Maps search.<\/p>\r\n\r\n  <form id=\"leadForm\">\r\n    <label for=\"industry\">Industry Name (e.g., Interior designer):<\/label>\r\n    <input type=\"text\" id=\"industry\" name=\"industry\" required \/>\r\n\r\n    <label for=\"location\">Location (e.g., Mumbai):<\/label>\r\n    <input type=\"text\" id=\"location\" name=\"location\" required \/>\r\n\r\n    <button type=\"submit\" id=\"submitBtn\">Generate Leads<\/button>\r\n  <\/form>\r\n\r\n  <div id=\"result\"><\/div>\r\n  <div id=\"emails\"><\/div>\r\n\r\n  <script>\r\n    document.getElementById('leadForm').addEventListener('submit', async function (event) {\r\n      event.preventDefault();\r\n\r\n      const industry = document.getElementById('industry').value.trim().replace(\/\\s+\/g, '+');\r\n      const location = document.getElementById('location').value.trim().replace(\/\\s+\/g, '+');\r\n      const webhookUrl = 'https:\/\/n8n.srv1012252.hstgr.cloud\/webhook\/2ba4e9f3-3df4-4992-9f35-1e8d3162a86b';\r\n      const submitBtn = document.getElementById('submitBtn');\r\n      const resultDiv = document.getElementById('result');\r\n      const emailsDiv = document.getElementById('emails');\r\n\r\n      if (industry && location) {\r\n        const searchUrl = `https:\/\/www.google.com\/maps\/search\/${industry}+${location}`;\r\n        resultDiv.innerHTML = `<strong>Generated URL:<\/strong> ${searchUrl}<br><small>Processing with n8n workflow...<\/small>`;\r\n\r\n        submitBtn.disabled = true;\r\n        submitBtn.textContent = 'Processing...';\r\n        emailsDiv.innerHTML = '<p class=\"loading\">Loading data from workflow... This may take a few moments.<\/p>';\r\n\r\n        try {\r\n          const response = await fetch(webhookUrl, {\r\n            method: 'POST',\r\n            headers: { 'Content-Type': 'application\/json' },\r\n            body: JSON.stringify({\r\n              url: searchUrl,\r\n              industry: document.getElementById('industry').value.trim(),\r\n              location: document.getElementById('location').value.trim()\r\n            })\r\n          });\r\n\r\n          if (!response.ok) {\r\n            throw new Error(`Webhook request failed with status ${response.status}`);\r\n          }\r\n\r\n          const data = await response.json();\r\n          console.log('Webhook response:', data);\r\n\r\n          let extractedData = [];\r\n\r\n          if (Array.isArray(data)) {\r\n            const firstItem = data[0];\r\n            if (firstItem && Array.isArray(firstItem.extractedData)) {\r\n              extractedData = firstItem.extractedData.map(item => ({\r\n                company: item.companyName || '',\r\n                email: Array.isArray(item.emails) ? item.emails.join(', ') : item.emails || '',\r\n                phones: Array.isArray(item.phoneNumbers) ? item.phoneNumbers.join(', ') : item.phoneNumbers || '',\r\n                socials: Array.isArray(item.socialLinks)\r\n                  ? item.socialLinks.map(link => `<a href=\"${link}\" target=\"_blank\">${link}<\/a>`).join('<br>')\r\n                  : item.socialLinks\r\n                    ? `<a href=\"${item.socialLinks}\" target=\"_blank\">${item.socialLinks}<\/a>`\r\n                    : ''\r\n              }));\r\n            } else {\r\n              extractedData = data.map(item => ({\r\n                company: item.companyName || '',\r\n                email: Array.isArray(item.emails) ? item.emails.join(', ') : item.emails || '',\r\n                phones: Array.isArray(item.phoneNumbers) ? item.phoneNumbers.join(', ') : item.phoneNumbers || '',\r\n                socials: Array.isArray(item.socialLinks)\r\n                  ? item.socialLinks.map(link => `<a href=\"${link}\" target=\"_blank\">${link}<\/a>`).join('<br>')\r\n                  : item.socialLinks\r\n                    ? `<a href=\"${item.socialLinks}\" target=\"_blank\">${item.socialLinks}<\/a>`\r\n                    : ''\r\n              }));\r\n            }\r\n          }\r\n\r\n          if (extractedData.length > 0) {\r\n            const tableRows = extractedData\r\n              .map(\r\n                row => `\r\n              <tr>\r\n                <td class=\"company-name\">${row.company}<\/td>\r\n                <td>${row.email}<\/td>\r\n                <td>${row.phones}<\/td>\r\n                <td class=\"social-links\">${row.socials}<\/td>\r\n              <\/tr>`\r\n              )\r\n              .join('');\r\n\r\n            emailsDiv.innerHTML = `\r\n              <p class=\"success\">\u2705 Found ${extractedData.length} records:<\/p>\r\n              <table>\r\n                <thead>\r\n                  <tr>\r\n                    <th>Company<\/th>\r\n                    <th>Email(s)<\/th>\r\n                    <th>Phone(s)<\/th>\r\n                    <th>Social Links<\/th>\r\n                  <\/tr>\r\n                <\/thead>\r\n                <tbody>${tableRows}<\/tbody>\r\n              <\/table>\r\n              <p><small>Data has also been added to your Google Sheet.<\/small><\/p>\r\n            `;\r\n          } else {\r\n            emailsDiv.innerHTML = `\r\n              <p class=\"error\">\u274c No data extracted from the workflow.<\/p>\r\n              <p><small>Check the console (F12 \u2192 Console) for the actual response structure.<\/small><\/p>\r\n            `;\r\n          }\r\n        } catch (error) {\r\n          console.error('Error:', error);\r\n          emailsDiv.innerHTML = `\r\n            <p class=\"error\">\u274c Error fetching data: ${error.message}<\/p>\r\n            <p><small>Check browser console (F12) for more details.<\/small><\/p>\r\n          `;\r\n        } finally {\r\n          submitBtn.disabled = false;\r\n          submitBtn.textContent = 'Generate Leads';\r\n        }\r\n      } else {\r\n        resultDiv.innerHTML = '<p class=\"error\">Please fill in all fields.<\/p>';\r\n        emailsDiv.innerHTML = '';\r\n      }\r\n    });\r\n  <\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>About The Lead Generation Agent is an automated AI-powered system designed to collect potential client data effortlessly. It scrapes business information from Google Maps and websites, extracts valid email addresses, filters out duplicates or irrelevant entries, and stores the results neatly in a Google Sheet. This agent saves hours of manual research and data entry, &hellip; <\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-793","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/pages\/793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/comments?post=793"}],"version-history":[{"count":9,"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/pages\/793\/revisions"}],"predecessor-version":[{"id":907,"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/pages\/793\/revisions\/907"}],"wp:attachment":[{"href":"https:\/\/savywork.com\/automations\/wp-json\/wp\/v2\/media?parent=793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}