JotForm to Google Sheets, leads and emails ready
Your lead gen “system” is probably a form, a spreadsheet, and a lot of copy-paste. Then you still have to research the company, guess the right customer profile, find a few targets, and write outreach that doesn’t sound like it came from a template. It’s slow. And honestly, it’s exhausting.
This hits marketing managers and agency owners first, because the pipeline pressure is constant. But consultants and small teams feel it too. This JotForm Sheets automation turns every form submission into researched leads plus ready-to-edit outreach drafts inside Google Sheets.
Below you’ll see exactly what the workflow does, what results to expect, and what you need to run it without getting buried in technical setup.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: JotForm to Google Sheets, leads and emails ready
flowchart LR
subgraph sg0["JotForm Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/jotform.dark.svg' width='40' height='40' /></div><br/>JotForm Trigger"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>perplexity"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>personalized emails"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Leads"]
n6@{ icon: "mdi:robot", form: "rounded", label: "ICP finder", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "ICP industry finder", pos: "b", h: 48 }
n5 --> n2
n6 --> n1
n3 --> n6
n1 --> n7
n0 --> n3
n2 --> n4
n7 --> n5
n4 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n6,n7 ai
class n3,n4,n5 api
classDef customIcon fill:none,stroke:none
class n0,n3,n4,n5 customIcon
The Problem: Lead research and outreach don’t scale
Getting a new inbound inquiry should feel like progress. Instead, it creates a to-do list. You open the website, skim a few pages, try to summarize what they do, and then you guess who their best customers are. After that, you hunt for five similar businesses you can pitch, and you write “personalized” emails that all start to look the same by the third draft. Meanwhile, responses slow down because you’re sending later than you should.
The friction compounds. You lose speed, consistency, and quality at the same time.
- Research gets rushed, so your targeting drifts and the wrong leads end up in your list.
- You spend about 1–2 hours per submission just to go from “new form entry” to “five decent prospects.”
- Outreach drafts take longer than they should because you keep rethinking the same positioning.
- Details slip, like mixing up industries or sending a message that doesn’t match what the prospect actually does.
The Solution: JotForm → research → leads → emails → Google Sheets
This workflow starts the moment someone submits your JotForm intake. It takes the website and business details from that form, then runs automated research using the Perplexity API to pull a clear, usable company snapshot. Next, it asks GPT-4o-mini to turn that snapshot into an ideal customer profile (ICP), so you’re not guessing what “good fit” means. After that, the workflow forces a single, specific industry sector (no vague categories, and it avoids SaaS), then uses Apify to find up to five matching leads in the United States. Finally, it loops through each lead and generates a tailored outreach email draft per company, using a professional, non-pushy tone aimed at starting a partnership conversation. Everything is organized so you can review and send faster.
The workflow kicks off with a form submission. Research and ICP building happen before lead sourcing, which keeps targeting consistent. Then each lead gets its own outreach draft, so you’re not stuck rewriting the same message five different ways.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get 10 JotForm submissions in a week. Manually, if you spend about 30 minutes researching each company, another 30 minutes defining “who to target,” and roughly 45 minutes finding five leads and drafting emails, that’s about 2 hours per submission (around 20 hours weekly). With this workflow, you submit the form and wait: Perplexity research, ICP creation, lead sourcing (5 leads), and five email drafts typically finish in roughly 10–20 minutes per submission. You still review before sending, but you’re reviewing instead of building from scratch.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- JotForm to capture intake submissions.
- Google Sheets to store leads and drafts centrally.
- Perplexity API token (get it from your Perplexity API settings).
- OpenAI API key (get it from the OpenAI API dashboard).
- Apify API token (get it from Apify Console under Integrations).
Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and map fields into a Google Sheet.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A JotForm submission triggers everything. When your intake form is submitted (the workflow is configured to a specific Form ID), n8n grabs the website URL and the basic business context you asked for.
Automated research turns a website into a usable snapshot. n8n sends that URL to Perplexity via an HTTP request and receives a research-style summary you can actually use for positioning.
AI defines the ICP and locks in a sector. GPT-4o-mini produces a detailed ideal customer profile, then a second GPT-4o-mini step outputs one specific industry sector (kept intentionally narrow so your targeting doesn’t get muddy).
Apify finds leads and drafts outreach per lead. One Apify actor returns up to five matching businesses, then the workflow loops through them and calls a second actor to generate a tailored email draft for each prospect.
You can easily modify the industry rules or the email tone to match your offer. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the JotForm Trigger
Set up the intake form trigger to start the workflow when a new submission arrives.
- Add the JotForm Intake Trigger node as your trigger.
- Set Form to
252802732808054. - Credential Required: Connect your jotFormApi credentials.
Step 2: Connect External Data Sources
Gather enrichment data from external APIs before profiling and lead generation.
- In External Search Request, set URL to
https://api.perplexity.ai/searchand Method toPOST. - Set JSON Body to
={ "query": [ "{{ $json.website }}" ] }. - Enable Send Body and Send Headers, and keep Specify Body as
json. - In External Search Request, add an Authorization header value for your API key.
- In Lead Source Request, set URL to
https://api.apify.com/v2/acts/james.logantech~local-business-lead-generator/run-sync-get-dataset-items?token=and Method toPOST. - Set JSON Body to
={ "buisness_types": [ "{{ $json.message.content }}" ], "location": "United states", "max_results": 5 }.
Step 3: Set Up AI Profiling and Classification
Use AI to define the ideal client profile (ICP) and classify it into a single sector.
- In Ideal Client Profiler, select Model
gpt-4o-miniand keep the provided system/user messages. - Credential Required: Connect your openAiApi credentials in Ideal Client Profiler.
- In Map ICP Fields, add an assignment with Name
ICPand Value={{ $('Ideal Client Profiler').item.json.message.content }}. - In ICP Sector Classifier, select Model
gpt-4o-miniand keep the provided system/user messages referencing{{ $json.ICP }}. - Credential Required: Connect your openAiApi credentials in ICP Sector Classifier.
ICP field, which stabilizes sector classification output.Step 4: Configure Output Actions and Batching
Generate leads, then craft tailored outreach emails for each lead using batch iteration.
- In Batch Iterator, keep default settings to process items in batches.
- In Tailored Email Builder, set URL to
https://api.apify.com/v2/acts/onescales~pitches-pro/run-sync-get-dataset-items?token=and Method toPOST. - Set JSON Body to
={ "additionalNotes": "Focus on the time-saving aspect. Avoid technical jargon. Include a soft CTA.", "benefits": "Save 10+ hours per week by automating manual tasks ", "businessName": "{{ $json.name }}", "goal": "Partnership", "language": "English", "tone": "Professional yet approachable, confident but not pushy", "whatPromoting": "Our automation services." }. - Confirm the loop: Lead Source Request → Batch Iterator → Tailored Email Builder → Batch Iterator.
?token= query string in both Lead Source Request and Tailored Email Builder.Step 5: Test and Activate Your Workflow
Verify the full execution path from intake to email generation, then activate the workflow.
- Click Execute Workflow and submit a test entry to your JotForm to trigger JotForm Intake Trigger.
- Confirm the execution flow follows: JotForm Intake Trigger → External Search Request → Ideal Client Profiler → Map ICP Fields → ICP Sector Classifier → Lead Source Request → Batch Iterator → Tailored Email Builder → Batch Iterator.
- Successful execution should show enriched search data, a single-sector ICP classification, lead items, and a tailored email output per lead.
- Toggle the workflow to Active to run in production.
Common Gotchas
- JotForm credentials can expire or need specific permissions. If things break, check your JotForm connected apps and the form access settings first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Apify actors sometimes return slightly different fields across datasets. If your mapping suddenly looks wrong, open the latest dataset run in Apify and compare the field names you’re writing into Google Sheets.
Frequently Asked Questions
About an hour if your API keys are ready.
No. You’ll mostly connect accounts and map a few fields into Google Sheets.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Perplexity, OpenAI, and Apify API usage costs, which depend on how many submissions you run.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but you’ll change it in the lead sourcing request. Update the Apify “Local Business Lead Generator” HTTP Request configuration to your target location and adjust the maximum results (it’s set to 5 by default). You can also tweak the sector classifier prompt so it returns industries that make sense for your market.
Most of the time it’s an expired token or the trigger no longer has access to that specific form. Reconnect JotForm in n8n, then confirm the Form ID matches the one you’re actually using. If the submission payload changed (new fields, renamed fields), you may also need to remap the website/company fields feeding the research request.
It’s designed to return up to 5 leads per form submission, and it can run all day as long as your n8n plan and API limits allow it.
Often, yes, because this flow isn’t a simple two-step zap. You’re chaining research, two AI reasoning steps, lead sourcing, and then looping over items to generate multiple drafts per submission. n8n handles that kind of branching and iteration cleanly, and self-hosting can keep execution costs predictable when volume grows. Zapier and Make can still work, but you’ll typically fight loop limitations and end up with more “glue” scenarios. If you want, Talk to an automation expert and you can sanity-check the best platform for your volume and budget.
Once this is running, a form submission becomes a mini outbound sprint you didn’t have to do manually. You get the leads, the drafts, and your time back.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.