Back to Alchemy
Alchemy RecipeIntermediateautomation

Automate sales prospecting: research, personalisation and follow-up sequences

Your sales team closes their laptops at 5 PM with three prospects researched, five personalised emails sent, and zero follow-ups scheduled. Tomorrow they'll repeat this process. Next week, the same again. If you're running a sales operation, you already know that most of your team's time dissolves into research, composition, and tracking. None of that generates revenue. All of it can be automated. The conventional approach to sales prospecting treats research and outreach as separate activities. A rep finds a prospect on LinkedIn, manually writes their company summary, customises an email template, sends it, then sets a calendar reminder to follow up in a week. When they forget that reminder (they will), the lead goes cold. The entire cycle is designed around human memory and manual effort, which means it scales poorly and rarely works consistently across your team. What if your sales stack could work like a real system instead: prospects researched automatically, emails personalised and sent without intervention, follow-up sequences triggered based on engagement, and every interaction logged? That's not theoretical. It's a workflow you can build this afternoon with four tools and an orchestration layer.

The Automated Workflow

We'll use Zapier as the orchestration backbone here, though n8n or Make work identically. The workflow moves through three distinct stages: research, composition, and sequencing.

Stage 1: Trigger on a new prospect

Your sales team adds a prospect to a spreadsheet (Google Sheets works fine) or a CRM webhook fires when someone is added to a "Prospecting" list. Zapier detects this event and passes the prospect's name and company to the next step.

Trigger: Google Sheets row added
Fields passed:
- prospect_name
- prospect_company
- prospect_email
- prospect_industry

Stage 2: Research with ChatGPT Writer

ChatGPT Writer (powered by GPT-4.1) receives the prospect's company name and generates a brief research summary. You're not asking it to write the email yet, just to gather intelligence: recent news, company size, known problems in their sector, potential problem your product solves. Create a Zapier step that calls the OpenAI API directly. Here's the prompt structure:

POST https://api.openai.com/v1/chat/completions { "model": "gpt-4.1", "messages": [ { "role": "user", "content": "Research {{prospect_company}} and provide: 1) Company overview (2 sentences), 2) Recent news or developments (if any), 3) Likely problem for a B2B SaaS sales tool. Format as JSON with keys: overview, news, pain_points." } ], "temperature": 0.7, "max_tokens": 500
}

Zapier stores the response (especially the pain_points field) for use in the next step. This takes about 2 seconds per prospect.

Stage 3: Generate personalised email with ColdConvert AI

Now you have research context. Pass that to ColdConvert AI, which specialises in generating personalised cold emails. Feed it:

  • Prospect name
  • Company name
  • problem (from the research step)
  • Your value proposition (static, from your Zapier config) ColdConvert's API accepts this structure:
POST https://api.coldconvert.ai/v1/email/generate { "prospect_name": "{{prospect_name}}", "company": "{{prospect_company}}", "pain_points": "{{pain_points}}", "value_prop": "We reduce sales cycle time by 40% through AI-powered prospecting", "sender_name": "Your Name", "tone": "professional_friendly"
}

The response is a complete, ready-to-send email. Zapier stores this as a variable.

Stage 4: Send via Gmail or your email provider

Use Zapier's Gmail action (or your email provider's API) to send the generated email to the prospect. Log the send time and email body to your CRM or spreadsheet for audit purposes.

Zapier Gmail action:
To: {{prospect_email}}
Subject: {{email_subject_from_coldconvert}}
Body: {{email_body_from_coldconvert}}

Stage 5: Schedule follow-up sequences

Here's where most teams break down. Zapier creates a second workflow triggered 5 days after the initial send. If the prospect hasn't replied (check via Gmail label or CRM status), Zapier schedules a follow-up email. For the follow-up, use GPT-4o mini (cheaper than 4.1, sufficient for this task) to generate a second touch:

POST https://api.openai.com/v1/chat/completions { "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "Write a brief, non-salesy follow-up email to {{prospect_name}} at {{prospect_company}}. Reference the original email sent 5 days ago about {{value_prop}}. Keep it under 100 words. Use a conversational tone that assumes they missed the first one." } ], "temperature": 0.6, "max_tokens": 150
}

Create a Zapier schedule step that repeats this process on days 5, 10, and 15 post-initial send. Each follow-up is unique because it's generated fresh. Complete flow in pseudocode: 1. Prospect added to sheet → Zapier triggers 2. Call OpenAI (research) → store pain_points 3. Call ColdConvert (email generation) → store email body 4. Send via Gmail → log timestamp 5. Wait 5 days → check Gmail for reply 6. If no reply: Call OpenAI (follow-up 1) → Send 7. Wait 5 days → If no reply: Call OpenAI (follow-up 2) → Send 8. Wait 5 days → If no reply: Call OpenAI (follow-up 3) → Send 9. Mark prospect as "exhausted sequence" in CRM Every single step is automated. Your team's only job is to add names to the sheet.

The Manual Alternative

If you want more control over individual emails, skip ColdConvert AI and use ChatGPT Writer as your sole email generator. This takes longer (you'll write more detailed prompts) but gives you finer tuning. Many teams do this for their first 20 prospects, then switch to full automation once they see the pattern works. Alternatively, skip the 5/10/15 day sequences and send all follow-ups manually as replies to engagement signals. This keeps human judgment in the loop at the cost of follow-up rates dropping to whatever your team remembers to do.

Pro Tips

Rate limits and costs:

OpenAI's free trial tier has strict rate limits.

If you're running this for 50+ prospects per day, you'll need to upgrade to a paid account and request higher limits. ColdConvert charges per email generated; budget 10-20 API calls per prospect (initial + follow-ups).

Error handling:

Set up Zapier's built-in error notifications so you see failed research calls or email sends immediately. A missing email address will halt the sequence, and you need to know. Test the workflow with five prospects manually before running it on 50.

Deduplication:

Zapier has no built-in deduplication. If a prospect appears twice in your sheet, they'll receive two initial emails. Add a helper column in Google Sheets that marks prospects as processed, then filter Zapier's trigger to only read unmarked rows.

Personalisation depth:

The workflow above generates surface-level personalisation. If you want deeper customisation (mentioning a specific recent news article about the company), use Claude Opus 4.6 instead of GPT-4.1; it reads longer context windows and produces more detailed research summaries.

Cost optimisation:

Use GPT-4o mini for follow-ups and Claude Haiku 4.5 for research summaries. Reserve GPT-4.1 only for the initial email generation, where quality matters most. This cuts your API costs by 60% without noticeable quality loss.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
ZapierProfessional$49Supports multi-step workflows; free tier too limited for this
OpenAI API (GPT-4.1, GPT-4o mini)Pay-as-you-go$30–80Roughly $0.03 per research call, $0.01 per follow-up email
ColdConvert AIGrowth Plan$99$0.15 per email generated; includes deliverability support
Google Workspace or Gmail APIFree or $6+$0–6Free if you already use Gmail; API calls are negligible cost
n8n (if self-hosted alternative)Self-hostedFreeOpen source; no per-workflow fees
Total$178–234Covers 100–200 prospects per month