Automated Lead Pipeline — Daily SOP
Purpose: Pull targeted HNI/accredited prospects from LinkedIn Sales Navigator, extract with PhantomBuster, enrich & score with paid LLMs (Gemini/ChatGPT), and import approved leads into Zoho CRM and Zoho Campaigns. No other tools allowed.
Scope & Constraints
- Allowed tools only: LinkedIn (Sales Navigator), PhantomBuster, Gemini/ChatGPT, Zoho (CRM, Campaigns, Docs). Calendly link for meetings.
- No external enrichment/verification: No Apollo, Clearbit, ZoomInfo, Hunter, NeverBounce, Google Sheets, etc.
- Data storage: Zoho Docs (canonical CSVs) & Zoho CRM (system of record).
Prerequisites
- LinkedIn Sales Navigator access + the LinkedIn account(s) used to send requests.
- PhantomBuster with access to:
- Sales Navigator Search Export
- LinkedIn Profile Scraper
- Network Booster
- Zoho CRM (create Leads/Contacts), Zoho Campaigns, and Zoho Docs/Drive.
- Paid LLM access (Gemini and/or ChatGPT).
- Calendly link (existing):
https://calendly.com/nick-levenstein/30min
- Shared Zoho Docs folder:
Leads/PhantomRuns/<YYYY-MM-DD>/
Daily Run — Checklist (45–90 min)
- Morning Prep (10 min)
- Open Sales Navigator → Saved search: “Accredited Investors — Primary List”.
Filters (keep unchanged unless Nick approves):- Titles: Founder, Managing Partner, CIO, Family Office, Investor
- Company type: Family Office, Hedge Fund, Private Equity
- Geography: US, UK, Singapore, Hong Kong, Switzerland, Europe
- Keywords: AUM, family office, invests, LP
- Copy the Sales Navigator search URL (not individual profiles).
- Open Sales Navigator → Saved search: “Accredited Investors — Primary List”.
- PhantomBuster Export → Profile Scrape (20–40 min)
- Create a new run of Sales Navigator Search Export. Input: the saved search URL.
- Settings:
- Export limit: up to 500; typical daily: 50–200
- Rate: Phantom defaults; prefer 1 large run/day or smaller 50-profile batches.
- Output filename:
Leads-YYYY-MM-DD.csv
- Run LinkedIn Profile Scraper with the exported profile URLs.
Fields to extract:profile_url, full_name, first_name, last_name, headline, current_company, location, about_snippet, last_activity, public_positions
- Download the profile CSV as
Profiles-YYYY-MM-DD.csv
and upload to Zoho Docs →Leads/PhantomRuns/<YYYY-MM-DD>/
- LLM Enrichment & Scoring (30–60 min)
- For each row in
Profiles-YYYY-MM-DD.csv
, feed: headline, about_snippet, current_company, public_positions, location into Gemini/ChatGPT. - Use this exact prompt (batch up to 20 profiles if supported):
You are an analyst. Here is a LinkedIn profile (public fields only): Headline: {headline} About / Snippet: {about_snippet} Company: {current_company} Positions: {public_positions} Location: {location} Based only on this public info, respond in strict JSON with fields: - prob_accredited_score: integer 0-100 (higher => likely HNI / accredited investor). Base this on title signals (Founder, Managing Partner, Family Office), company type indicators (family office, hedge fund, PE), and entrepreneurship/exit signals. - tags: array of short tags from [family-office, hedge-fund, founder, angel, vc, wealth-manager, recruiter, consultant, other] - personal_line: one short personalization sentence (max 12 words) referencing something visible in the headline/about. - suggested_connection_message: one short non-salesy connection message (max 220 characters) suitable for a LinkedIn connection request. - suggested_followup_message: one short follow-up DM (2 sentences max) for after connection.
- Save JSON outputs to
Enriched-YYYY-MM-DD.jsonl
(one JSON per line) in the same Zoho Docs folder. - Convert to CSV (inside the allowed tools; e.g., paste JSON into ChatGPT and ask for CSV with headers below; download and store as
Enriched-YYYY-MM-DD.csv
):
profile_url full_name first_name last_name headline current_company location about_snippet public_positions prob_accredited_score tags personal_line suggested_connection_message suggested_followup_message Use these exact headers for smooth Zoho import. - For each row in
- Approval & Thresholding (5–10 min)
- Approve for outreach:
prob_accredited_score ≥ 65
and not taggedrecruiter
orconsultant
. - Borderline review: scores 55–64 with tags
family-office
,hedge-fund
, orfounder
→ manual discretion. - Exclude:
recruiter
,consultant
, or missing senior signals.
- Approve for outreach:
- Zoho CRM Import (Leads) (10–15 min)
- Prepare
Zoho-Import-YYYY-MM-DD.csv
with only approved rows and these mappings:CSV Column Zoho Lead Field Notes first_name First Name last_name Last Name Required in Zoho full_name Lead Name (if applicable) Optional current_company Company headline Title Or parse from headline location City / Country Map as available profile_url LinkedIn Custom field: URL about_snippet Description Trim to Zoho limits public_positions Other Details Optional prob_accredited_score Lead Score Numeric 0–100 tags Tags Comma-separated personal_line Personalization Custom field (Text) - Zoho CRM → Leads → Import → Map fields as above. Enable de-duplication on LinkedIn URL + Full Name + Company.
- Post-import, create a view filter: Created Today AND Lead Score ≥ 65.
- Prepare
- Zoho Campaigns List (Optional, 5–10 min)
- Create/maintain list: Prospects—HNI Outreach.
- Add only those who explicitly consent or who opt-in via form. For pure LinkedIn outreach, keep messaging on-platform.
- Outreach (LinkedIn) (10–20 min)
- Use PhantomBuster Network Booster or manual sending (respect daily limits). Personalize with
personal_line
. - Connection message: Use the profile’s
suggested_connection_message
(≤ 220 chars). - After acceptance, send the profile’s
suggested_followup_message
. Include Calendly if appropriate:https://calendly.com/nick-levenstein/30min
- Use PhantomBuster Network Booster or manual sending (respect daily limits). Personalize with
Governance & Audit
- Canonical storage: All daily files live in
Zoho Docs → Leads/PhantomRuns/<YYYY-MM-DD>/
:Leads-YYYY-MM-DD.csv
Profiles-YYYY-MM-DD.csv
Enriched-YYYY-MM-DD.jsonl
Enriched-YYYY-MM-DD.csv
Zoho-Import-YYYY-MM-DD.csv
- Run Log (append daily in a Zoho Doc): date, SN URL used, export count, #approved, #imported, #connections sent, acceptance %, booked calls.
- KPIs (weekly): Acceptance rate (target ≥ 25%), Reply rate (≥ 10%), Booked call rate (≥ 3%), CR to Opportunity (team-defined).
Platform & Compliance Notes
- Respect LinkedIn limits: Keep daily connection volume conservative to avoid restrictions. Prefer quality over quantity.
- Public data only: Use only the fields exported via Phantoms from public profiles.
- Consent: Do not mass-email scraped profiles via Zoho Campaigns unless they’ve opted in. Keep first contact on LinkedIn.
- Data retention: Retain raw exports for audit; remove disqualified profiles from CRM views; honor delete requests promptly.
Messaging Templates (Fallbacks)
Connection (≤220 chars)
Hi {FirstName} — noticed your work with {Signal}. We manage AI-assisted derivatives strategies for HNIs/family offices. Happy to swap notes; if useful, we can schedule a quick intro.
Follow-up (after accept)
Thanks for connecting, {FirstName}. We run AI-driven options overlays for BTC with conservative risk controls. If it’s relevant, here’s my calendar: https://calendly.com/nick-levenstein/30min — otherwise glad to keep in touch.
QA Before Import
- Spot-check 10 profiles: title seniority, company type, obvious mis-tags.
- Verify
prob_accredited_score
rationale matches title/company signals. - Ensure names split correctly (no ALL CAPS; fix known parsing glitches).
- Remove recruiters/consultants unless explicitly relevant.
Troubleshooting
Phantom blocked / low results
- Reduce batch size to 50; add delays; confirm LinkedIn session cookie is fresh.
- Run at consistent local time; avoid concurrent sessions.
LLM JSON formatting issues
- Re-prompt: “Return strict JSON only, no prose, one object per profile.”
- If batching, separate objects with newlines for
.jsonl
.
Zoho import rejects rows
- Ensure Last Name present; shorten long fields; confirm custom fields exist (LinkedIn URL, Personalization).
- Enable de-duplication on LinkedIn URL + Full Name + Company.
Weekly Review (15–30 min, Fridays)
- Update the saved SN search only with Nick’s approval.
- Tune thresholds if acceptance or call rates drift < targets.
- Document any filter changes at top of this SOP (changelog).
Last updated: 22 Sep 2025 (UTC+8)