How to use it.
A walk through every screen — what it does, how it connects to the next one, and the buttons worth knowing about. Read top-to-bottom the first time; skim later.
01The flow in 60 seconds
- Find leads — two paths: Scout (Google Maps search for a town + category, e.g. "Plumbers in Edinburgh") or Triggers (UK companies that just incorporated at Companies House, by SIC code + location).
- Tick the businesses worth pitching, hit + Add selected → they land in your hunt list, and a background email-scan starts immediately on each.
- Open My Leads: rows with a green ✓ in the Email column are send-ready. Rows with — still need an email (try Deep Dive or paste one in). Rows with a pulsing ⚠ have a suspicious placeholder email that'll probably bounce. For CH leads with no website yet, the Find contact button in the drawer Googles the company name to surface their own site + socials.
- Connect Gmail once, write a template (six small tokens:
{{business_name}},{{phone}},{{address}},{{site_age}},{{cms}},{{signature}}— or click ✦ AI assist to generate a draft from a brief), tick the leads you want, hit Send template → preview each rendered email, optionally tap a tone chip to AI-personalise per lead, then send. Outreach goes from your own inbox. - Open Insights to see opens, replies and reply-rate per template over the last 30 days. Flip statuses on My Leads (New → Contacted → Replied → Converted) as conversations land.
02Scout — finding leads
The Scout tab runs a live search against Google Maps. Every result is exactly as fresh as Google's index. Inputs:
- Location — any UK town, postcode, or city. "Edinburgh" / "Duns" / "TD11 3HS" all work.
- Custom keyword (optional) — a free-text search that runs alongside any categories you've ticked. Use it for niches not in the category list ("yoga retreat", "wedding band"). Counts as one extra category.
- Business types — tick one or more from the 10 columns (Building & Construction, Trade Specialists, …, Water Hygiene & Legionella, Fire Safety & Compliance). Each ticked category costs one Google query.
Two run modes:
- Run scout — one search per category in the location's centre. Returns up to 10 fresh businesses per category.
- Sweep wider — tiles the area into 5 overlapping circles (centre + N/S/E/W) for wider coverage. Returns up to 50 fresh businesses per category. Use this when the centre-only search exhausts.
Reading the results
- Each row shows name · phone · website · rating · reviews · address. Yellow
NO WEBbadge = no website listed on Google. YellowLOWbadge = rating < 4. - Three filters at the top: No website on Google, Website on Google, Low rating. The "no website" filter is honest about its data source — Google only reports a website if the business added one to their Google Business profile, so some businesses with real sites will still slip through. Spot-check before sending.
- Counter shows
[ N visible / M total ]. - Leads you've already saved to My Leads are hidden from new scout results automatically — even across different searches. Delete a lead and it becomes findable again on the next scan.
Adding to your leads
Three ways, in order of granularity:
- + Add on a single row.
- + Add N selected — tick checkboxes, add per category or globally. The global selection bar at the top sums across every category so you can pick from multiple trades and add them in one click.
- + Add all visible in the toolbar — adds every un-added row that matches your current filters. The label shows the count.
Every newly-added lead immediately triggers a background email scan (more on that below). A toast at the bottom-right shows progress as each website gets crawled; emails that get found auto-fill in My Leads.
03Sessions — saved searches
Every Scout run auto-saves as a session — a snapshot of the results at that moment, with the original query and location. Useful when you want to re-add results later without re-running the search.
- Reopen — expand the session card to see its results table; tick + Add to copy specific rows into your leads.
- Rename — sessions auto-name after the bizTypes + location (e.g.
plumbers, joiners — Edinburgh). Rename them anything you like. - Delete — removes the session card. Leads you've already added to your hunt list stay; this only deletes the snapshot.
04My Leads — the hunt list
Your hunt list is where outreach happens. Each row is a business you've decided to chase.
Pipeline cards + status filter
The five pipeline cards at the top of the page double as filters. Click any one to narrow the table to just that status; click All to reset. The card numbers update in real time as you flip statuses.
- New — added but not contacted yet.
- Contacted — you've sent at least one email. Auto-flips when a Gmail send succeeds.
- Replied — flip manually when a reply lands in your inbox.
- Not interested — they've passed. Also auto-flipped when a recipient hits the unsubscribe link in an old email.
- Converted — paying client. The win column.
Search bar + sort dropdown
Above the table, two controls let you cut through a long list:
- Search — case-insensitive substring match across business name, business type, address (so city works too), and email. Debounced 120ms.
- Sort — nine options: Newest / Oldest first, Has email first (send-ready leads at the top), Name A→Z / Z→A, Rating high → low / low → high, Reviews most → least / least → most.
The Select all master checkbox and + Add batch actions respect whatever the search + sort + status filter are currently showing — so "select all" actually means "select everything currently visible."
The Email column at a glance
The Email column tells you at a glance which leads are send-ready:
- ✓ (green) — has an email on file. Hover the tick for the address.
- — (yellow) — no email yet. The tooltip distinguishes between "scan pending" and "auto-scan ran but found nothing — try Deep Dive."
- ⚠ (red, pulsing) — auto-scan extracted a placeholder email like
hi@myweb.comorexample@gmail.com. These bounce 100% of the time. Open the drawer and replace it or delete the lead.
The lead drawer
Click any row to open the drawer. From there:
- Email field — paste a contact email if you found one manually, or let Deep Dive auto-fill it. Edit any time.
- Status buttons — flip the lead's status.
- Activity log — every email sent, every status change, every note you've added, every open recorded against the tracking pixel.
- Add note — free-text log entry, e.g. "Called, left voicemail" or "Sent quote".
- Deep Dive panel — heavier per-lead scan, see [05].
- Delete lead at the bottom. Activity log goes with it. The lead's place_id also gets dropped from the "seen" set so the underlying business surfaces again on the next scout.
- Per-row × button on each table row deletes without opening the drawer (with confirmation).
Bulk actions
Tick checkboxes to expose a selection bar at the top of the table:
- Send template ▶ — opens the send modal with that batch.
- Share ↗ — generates a link another SyL user can open to import these into their leads (more on that in [09]).
- Delete — bulk delete the selected leads in one round-trip.
05Email scan & Deep Dive — getting contacts
Auto email-scan (background)
The moment you add a lead from /app, a lightweight email-scan kicks off in the background. It fetches the lead's website, parses every name@domain string it can find, and auto-fills the best match (same-domain emails rank highest). You'll see a progress toast at the bottom-right with a live counter: Searching emails · 12/30 (found 4). The scan runs 4 in parallel and is idempotent — re-adding the same lead doesn't re-scan.
Stock placeholder emails that lazy theme authors leave in the markup — hi@myweb.com, example@gmail.com, yourname@…, test@…, etc. — are filtered out at scan time, so they don't get saved as the lead's email. Any that slipped through before this filter shipped show a pulsing ⚠ in the Email column so you can fix or delete them before sending.
If you close the /app tab mid-batch (or never visit /leads after adding), the first time you open My Leads, a catch-up scan runs against any lead still missing an email — up to 20 per page load, with the same live-counter toast. So even legacy leads slowly accumulate emails over a few visits.
Deep Dive (manual, heavier)
The auto-scan only looks at the lead's homepage and only extracts emails. Deep Dive, inside the lead drawer, runs the heavier version — it pulls:
- Email addresses — same extractor as the auto-scan, but you get all the candidates as clickable chips so you can pick a different one if the top match isn't right.
- Socials — Facebook, Instagram, LinkedIn, X, TikTok profile links. Skips utility paths like
/share,/intent. - UK Companies House data (if configured) — director names, SIC codes, incorporation date, company age.
Click Deep Dive in the drawer to run it on a single lead. Findings render as chips below; same-domain emails (the contact at info@theirsite.com) get a green "match" badge. Click any chip to set it as the lead's primary email.
UK Companies House enrichment
If a COMPANIES_HOUSE_API_KEY is configured on the server, Deep Dive also hits the free UK Companies House API to pull director names, SIC codes, incorporation date and company age. To enable: register a personal API key at developer.company-information.service.gov.uk (free, takes ~2 minutes) and set it as COMPANIES_HOUSE_API_KEY in your Vercel env vars. Without the key, this section silently no-ops.
Matching is conservative: we only attach company info when the business name is a strong-or-exact match and the postcode overlaps. False positives are worse than no data.
06Templates — writing the cold email
Templates store reusable email copy. Each one has a Subject + Body. Use the six available tokens and they get replaced per-lead at send time. Anything more situational is handled by the AI personalisation pass at send time, which adapts per-lead using Deep Dive data.
The six tokens
Click any chip in the editor's variable palette to insert at the cursor. Everything else either lives in the AI personalisation pass or doesn't belong in a template at all.
{{business_name}}— the lead's business name.{{phone}}— the lead's phone number.{{address}}— the lead's full address.{{site_age}}— e.g. "12 years". Empty unless Deep Dive ran a site audit. Wrap in{{#site_age}}…{{/site_age}}so the section disappears for leads we don't have site age for.{{cms}}— detected CMS / site-builder (Wix, WordPress, Shopify…) from Deep Dive. Empty if not detected. Wrap in{{#cms}}…{{/cms}}.{{signature}}— your sign-off block from Settings.
Older templates that referenced the deprecated tokens (e.g. {{your_name}}, {{observation}}, {{social_proof}}) will render those tokens as literal text — clean them up by switching to the six above or letting ✦ Refine with AI rewrite the template for you.
Conditional sections
Two markers let you skip whole paragraphs when a token is empty:
{{#x}}…{{/x}}— render the block only ifxis non-empty.{{^x}}…{{/x}}— render only ifxis empty.
Example: {{#cms}}I noticed your site's on {{cms}} — gets the job done, but I think you could go further.{{/cms}} — the whole line drops out for leads where Deep Dive hasn't detected a CMS, so you don't end up with an awkward empty sentence.
Editor
- + New — blank template. The ✦ AI assist panel auto-opens so first-timers find it. See AI personalisation below for what it does.
- + Sample — a curated baseline using the six tokens + conditional sections. Click it the first time, edit to your voice, save.
- ✦ Refine with AI button (next to the Body field) — give an instruction like "shorter, 3 sentences" or "less salesy" and Claude rewrites in place.
- Preview tab — renders against placeholder data exactly the way the recipient will see it. Your real
{{signature}}is pulled in once/api/meresolves. Use the Preview against dropdown to render the template using a real lead's actual data — catches bad templates before you waste a send. - Unknown tokens show a yellow warning bar so you can spot typos before sending.
07Gmail send & open tracking
One-time: at the top of My Leads, click Connect Gmail. You'll see a Google consent screen asking only for the gmail.send scope (we can't read your inbox, only send). After approval you're back on My Leads with the panel showing connected as you@gmail.com.
Send-from your domain (recommended)
Click the ⚙ Send-from toggle in the connected bar to reveal a "Send from" field. Type a verified "Send mail as" alias from your Gmail account (e.g. info@yourdomain.com) and outreach will go from that address instead of @gmail.com. You configure the alias once in Gmail Settings → Accounts → "Send mail as".
For best deliverability, configure that alias to send through your domain's own SMTP (Zoho, Google Workspace, your own server) rather than Gmail's. That gives you proper DKIM alignment with your From: domain, which materially drops spam-folder rates. The DNS work is: add SPF + DMARC on the sending domain so receivers can verify the messages.
PASS with your sending domain (not gmail.com). If DKIM aligns with your domain, you're in the best possible shape for cold outreach.Composing & previewing the batch
- Tick the leads you want to email.
- Hit Send template ▶ in the selection bar.
- Pick a template from the (themed) dropdown.
- Set Delay between sends (default 5 sec — keeps Gmail's spam heuristics happy and avoids looking like a script).
- Use the ‹ › stepper (or ← / → arrow keys) to walk through every rendered email. What you preview is what the recipient gets.
- Edit any individual email inline — type into the subject or body fields in the preview pane and that lead gets your edited version instead of the templated one. The other leads still get the templated copy. An "edited" badge appears on overridden leads.
- Remove from batch — spot a lead who shouldn't be in this run? Click Remove from batch in the preview and they're dropped without re-ticking the table. The send count and modal title update live.
- Hit Send N — progress streams live: ✓ sent, ⚠ skipped (no email on file), ✕ failed (with reason).
After the batch finishes you get a "Well done" modal showing the count sent, replies expected in 24-48 hours, and how many sends you've got left on the daily cap (resets at midnight UTC).
What gets logged + tracked
- Each successful send creates an
email_sentactivity log entry on that lead, with subject, template name and a unique tracking id. - The HTML body of every outbound includes a 1×1 transparent open-tracking pixel tied to that tracking id. When the recipient's mail client renders the message, an
email_openedactivity row gets logged. Gmail and Apple Mail prefetch images on the recipient's behalf, so the first open is sometimes their provider — we surface it as such on Insights. - Lead status auto-flips from
new→contacted. - Daily counter on the Gmail panel updates:
N / 50 sent today.
08Insights — what's actually working
Insights aggregates the open + reply data from every send so you can see which templates are pulling and which ones to retire.
What you'll see
- KPI strip — total Sent, Opened, Replied, Reply rate, Won (converted leads). Reply rate is the headline number — fired off the same template ten times and got one reply? That's 10%. Higher is rare in cold outreach; aim for 4-10% and consider it healthy.
- Activity chart (last 30 days) — line chart of sends + opens by day, hover any point for the exact counts. Pattern-spot: did Tuesday-morning batches open better than Friday-afternoon ones?
- By template (top 6) — grouped bar chart of Sent / Opened / Replied per template. Hover any bar for the value. Best to send the same template to at least 25 leads before reading anything into the rate.
- Templates table — every template ranked by reply rate, with sent count, unique recipients, open rate, won count and last-sent date. Renamed or deleted templates show their original name (with "(deleted)" if relevant) so you can still see the historical performance.
Open rate caveat: Gmail and Apple Mail proxy image fetches, so the very first "open" is often the provider prefetching rather than a human read. Repeat opens, mobile opens and opens hours after delivery are real signal. Reply rate counts a lead once their status flips to Replied or Converted in My Leads — so flip statuses as conversations land for the chart to be useful.
09Share leads with another user
If another ScoutYourLead beta user wants some of your leads:
- On My leads, tick the leads you want to share.
- Click Share ↗ in the selection bar → modal opens with a copyable URL.
- Send them the URL (any channel — Slack, email, WhatsApp).
- They open the URL, sign in with their own account, and click Add N to my leads.
Notes:
- The link works for any signed-in SyL user — they don't have to know the URL was generated for them.
- Activity log + private notes are NOT shared. Only base lead data (name, phone, website, address, type, email, rating, reviews).
- Re-imports are idempotent — a lead they already have shows up as
already in yoursand isn't duplicated. - The link doesn't expire and can't be revoked yet (later release).
10Settings, profile & billing
Settings is split into three panels:
Identity
- Display name — populates
{{your_name}}in templates and the From-name on outbound emails ("Sam Wright <you@gmail.com>"). Falls back to your email's local-part if blank — usually doesn't read great, so set a real name. - Signature — multi-line block that populates
{{signature}}. Use it for your sign-off, role, contact info, links. Falls back to your display name if blank. - Live preview shows what the rendered signature will look like as you type.
Billing
Shows your current tier, monthly usage, and (for paid tiers) renewal date + a "Manage subscription" button that opens the Stripe Customer Portal. Beta operators see a "Beta access · Unlimited · invite-only" badge and no upgrade flow — beta access is permanent and never downgraded.
Free-tier users see four plan cards (Free / Starter / Pro / Agency) with one-click checkout via Stripe. Paid subscriptions can be cancelled or plan-switched from the Customer Portal at any time. If a paid subscription lapses, the tier auto-flips to free — leads stay intact, just the scout caps tighten.
11Triggers — UK new-incorporation radar
Triggers searches the live UK Companies House register for businesses that just incorporated. Where Scout finds mature businesses (often with sites already, harder to displace), Triggers finds brand-new ones — no website, no marketing, no incumbents. Easier sells. First-mover advantage.
Running a search
- SIC codes — comma-separated 4-5 digit UK industry codes (e.g.
56101, 56102for restaurants + takeaways). Or click any of the curated presets (Food & drink, Beauty & wellness, Trades & building, Retail, Healthcare, Sports & fitness, Legal & accounting, Tech & IT, Architecture & engineering, Marketing & advertising). Shift-click presets to append rather than replace. - Location — town, county, or postcode area. Optional.
- Incorporated — date window (Last 7 / 14 / 30 / 60 / 90 / 180 / 365 days). 30 days is the default.
- Name contains — optional keyword in the registered name.
Reading the results
- Each row shows the registered name (links to Companies House), SIC codes, registered address, an age pill in warn-orange (
3d ago/today), the CH number, incorporation date, and company type. - + Add to leads on any row imports the company as a lead with a synthetic
CH:<number>place_id (so it can't clash with Google-Places leads). Already-added rows show ✓ Added.
Finding contact info for CH leads (the catch)
Companies House gives you name + registered address + director, but no phone, no email, no website. To reach a new company you need to find their online presence yourself. The lead drawer has a Find contact button for any lead with no website — it Googles the company name and returns:
- A likely own-website URL if one's been registered (populates
lead.websiteautomatically so you can then run Deep Dive on it). - Social pages (LinkedIn / Facebook / Instagram) when no own-site exists yet — you can open them and look for an email in the About section.
- Nothing usable for companies too new to have any web presence — wait a couple of weeks or skip.
Find Contact uses Google Custom Search (requires GOOGLE_CSE_ID configured on the server). Quota: 50 searches per user per day. Results are cached per lead — re-clicking is free.
12AI personalisation
Turn on in Settings → AI personalisation. Two places it kicks in:
On the Templates page — author faster
Each template editor has a ✦ AI assist panel at the top:
- Brief textarea — describe your offer + target audience in plain English, e.g. "cold email to UK plumbers offering a one-page website for £400, friendly but direct."
- Tone selector — Warm / Professional / Data-driven.
- Generate — Claude Haiku writes a subject + body into the editor using only the six template tokens. You edit + save.
- ✦ Refine with AI button (next to the body field) — give an instruction like "shorter, 3 sentences" or "more direct about the price", and the AI rewrites in place.
- Preview against dropdown in preview mode — pick any of your real leads and the template renders with that lead's actual data (business name, phone, address, site age, detected CMS).
On the send modal — personalise per lead
When you open the send modal with AI enabled, each lead's preview shows a row of three tone chips above the editable body:
- Warm — friendly and human, like a peer reaching out.
- Professional — polished, confident, business-appropriate.
- Data-driven — cites concrete numbers in the opener (PageSpeed score, site age in years, CMS detected, year incorporated, director name). Needs Deep Dive to have run first.
Click a chip and Claude rewrites that lead's subject + body using the lead's Deep Dive findings, while preserving your template's CTA and signature verbatim. Status pill shows [ tone · done ] for fresh rewrites or [ cached · tone ] when you re-click a tone you've tried before (no second AI call). You can still edit by hand after — the edited pill appears, edits persist as you step between leads.
What signals the AI sees
For each rewrite, the server packs these into a SIGNALS JSON object the AI reads (only fields with data are included):
business_name,address,phone,contact_email,google_rating,review_count— from Google Places (every lead has these).pagespeed_score,site_age_years,detected_tech,companies_house(company type, date_of_creation, SIC codes, first director's name),social_platforms— from Deep Dive (must be run first).
The AI is explicitly instructed never to invent facts — if a signal is missing, it stays close to the template's original opener for that lead.
Switching it off
Flip the toggle in Settings off — the tone chip row disappears from the send modal entirely, templates render with token substitution only, no AI calls.
13Tiers, caps & what to expect
Plans & quotas by tier
The billed unit is a lead — a fresh-to-you business surfaced in a scout, sweep, or "Show next 10". Each plan includes a monthly lead allowance. Scouts/day (a scout = one Run scout or Sweep wider click) and categories-per-scout are secondary caps that bound how fast and how wide you can pull.
- Beta — unlimited leads, scouts, categories, and Sweep. Default tier for every approved operator; never charged, never auto-downgraded.
- Free — 50 leads/month · 1 scout/day · 1 category · no Sweep. The fallback tier for users whose paid subscription lapsed.
- Starter (£29/mo) — 350 leads/month · 5 scouts/day · up to 3 categories · no Sweep. (~£0.08/lead)
- Pro (£59/mo) — 1,000 leads/month · 15 scouts/day · 8 categories · Sweep. (~£0.06/lead)
- Agency (£99/mo) — 2,500 leads/month · 30 scouts/day · 15 categories · Sweep. (~£0.04/lead)
Once the monthly lead allowance is reached, results are trimmed to the remaining budget and a "monthly lead limit reached" notice shows. Lead and scout caps reset on the 1st; daily scout caps reset at 00:00 UTC. Trimmed-but-undelivered businesses aren't marked seen, so they resurface after the reset.
AI credits meter per-lead AI uses (email personalisation + review insights), capped monthly by tier: Free 10 · Starter 150 · Pro 500 · Agency unlimited. Cache hits (re-opening an already-generated email or analysis) don't cost a credit; only a fresh generation does.
Other limits
- Daily Gmail send cap: 50 emails per connected Gmail account per day. Hard-enforced by us before Gmail's own limits kick in. Resets at 00:00 UTC.
- Per-search: max 15 categories per Run scout / Sweep wider. Each category returns up to 10 (or 50 in sweep mode) fresh-to-you businesses.
- Search rate-limit: 10 searches per minute, 200 per day per IP (independent of the per-user scout quota).
- Send batch: no hard cap on selection, but you can't send more than the day's remaining Gmail quota.
- Magic-link: sign-in link valid for 15 minutes, single-use.
- Session cookie: 30 days. Sign out from the user pill if you're on a shared device.
Stuck on something not covered here? Email info@scoutyourlead.com — every message gets read.