Back to Alchemy
Alchemy RecipeIntermediateworkflow

Sales prospecting pipeline from LinkedIn profiles to personalised outreach sequences

Your sales team loses three hours a day to the same tedious cycle: finding prospects on LinkedIn, researching their backgrounds, crafting personalised emails, and hoping someone replies. That's fifteen hours a week per person, time that should go towards actual conversations and closing deals. The irony is that AI can handle all of this work in parallel, yet most teams still treat it as a manual process because they haven't wired their tools together. This workflow solves that. You'll feed LinkedIn profile URLs into an automated system that extracts prospect data, generates contextually personalised outreach sequences, tracks the cost of your AI operations, and optionally pays contractors to handle tasks that still need human judgment. No copy-pasting between tabs. No waiting for one step to finish before starting the next. Just prospect data flowing through a chain of AI tools and emerging as ready-to-send campaigns.

The Automated Workflow

We'll use n8n as the orchestration backbone because it handles API calls, loops, and conditional logic without requiring you to write much code yourself. The flow looks like this: LinkedIn profile URLs land in a webhook, we extract prospect information using a web scraper, generate personalised email sequences, estimate costs with BurnRate, and optionally route complex tasks to Payman AI for human validation.

Setting up the webhook trigger.

Create a new workflow in n8n and add a Webhook node. This becomes your entry point. You'll configure it to accept POST requests with LinkedIn profile URLs.

POST /webhook/prospect-intake
Content-Type: application/json { "linkedinUrl": "https://www.linkedin.com/in/example-person", "campaignId": "campaign_001", "companyTarget": "TechCorp"
}

Extracting prospect data.

Next, add an HTTP Request node to scrape the LinkedIn profile. LinkedIn blocks automated scraping, so instead use a service like ScraperAPI or Bright Data that handles the technical challenges. Alternatively, if you have access to Apollo.io or Hunter.io, use their APIs directly since many sales teams already have accounts there.

{ "method": "GET", "url": "https://api.hunter.io/v2/domain-search", "headers": { "Authorization": "Bearer YOUR_HUNTER_KEY" }, "qs": { "domain": "person-company.com", "limit": 10 }
}

This returns structured data: prospect name, job title, company, email pattern, seniority level, and LinkedIn URL.

Generating personalised email copy.

Add a new node to call ChatGPT Writer or ColdConvert AI via their APIs. Feed the prospect data from the previous step as context. ColdConvert AI is specifically designed for cold email generation, so it often outperforms generic models for this task.

{ "method": "POST", "url": "https://api.coldconvert.ai/generate", "headers": { "Authorization": "Bearer YOUR_COLDCONVERT_KEY" }, "body": { "prospectName": "Jane Smith", "companyName": "TechCorp", "prospectRole": "Engineering Manager", "yourCompany": "SalesTools Inc", "productDescription": "AI-powered sales pipeline automation", "tone": "professional", "targetLength": "short" }
}

The response includes a subject line and email body. Store these in a variable for the next step.

Creating multi-step sequences.

Most cold outreach works better as a sequence, not a single email. Use an n8n Function node or a Code node to build a three-email sequence: initial contact, follow-up after three days, and final push after five more days.

javascript
const emailSequence = [ { day: 0, subject: response.data.subject, body: response.data.body, type: "initial" }, { day: 3, subject: `Following up: ${response.data.subject}`, body: `Hi ${prospectName}, I wanted to circle back on my previous email...`, type: "followup" }, { day: 8, subject: `Last chance: ${response.data.subject}`, body: `Hi ${prospectName}, this is my final attempt...`, type: "final" }
]; return emailSequence;

Cost tracking with BurnRate.

Before sending anything, run a cost audit. BurnRate tracks Claude and other AI model costs, so integrate it to understand exactly how much this workflow is spending per prospect.

{ "method": "POST", "url": "https://api.burnrate.io/v1/track", "headers": { "Authorization": "Bearer YOUR_BURNRATE_KEY" }, "body": { "model": "coldconvert-ai", "inputTokens": 450, "outputTokens": 280, "campaignId": "campaign_001", "prospectId": "jane_smith_001" }
}

Store the cost data for later analysis. If costs exceed your budget per prospect (say, $0.15), you can pause the sequence or trigger an alert.

Optional: human validation via Payman AI.

For enterprises where a human reviewer should approve outreach before sending, add a Payman AI node. This assigns the email sequence to a contractor for quick review, and they approve or request changes.

{ "method": "POST", "url": "https://api.payman.ai/tasks", "headers": { "Authorization": "Bearer YOUR_PAYMAN_KEY" }, "body": { "taskType": "email-approval", "content": emailSequence, "prospectName": prospectName, "budget": 2.50, "deadline": "2h", "instructions": "Review for tone, accuracy, and compliance. Approve or suggest edits." }
}

Sending via your email platform.

Once approved (or skipped), send via your preferred platform. If you use Gmail, integrate the Gmail node. If you use Mailchimp or a CRM like HubSpot, use their REST APIs.

{ "method": "POST", "url": "https://api.mailchimp.com/3.0/campaigns", "headers": { "Authorization": "Bearer YOUR_MAILCHIMP_KEY" }, "body": { "type": "regular", "recipients": { "list_id": "YOUR_LIST_ID" }, "settings": { "subject_line": emailSequence[0].subject, "from_name": "Your Name", "reply_to": "your-email@company.com" } }
}

Storing results for follow-up.

Add a final node to write all data (prospect info, email sequences, costs, timestamps) to a Google Sheet or database. This becomes your master record for tracking replies and measuring campaign performance.

{ "method": "POST", "url": "https://sheets.googleapis.com/v4/spreadsheets/SHEET_ID/values/append", "headers": { "Authorization": "Bearer YOUR_GOOGLE_KEY" }, "body": { "values": [ [ prospectName, companyName, prospectRole, emailSequence[0].subject, prospectData.email, costData.totalCost, new Date().toISOString(), "pending" ] ] }
}

The Manual Alternative

If you prefer more granular control or find the workflow too rigid, build it step by step in a spreadsheet. Use ChatGPT Writer to draft emails manually (it's faster than writing from scratch), then copy those drafts into your CRM or email tool. Check BurnRate weekly to understand your costs. This takes longer but lets you review every email before sending, which some teams prefer for brand consistency.

Pro Tips

Deduplication matters.

Before generating emails, check whether you've already contacted this prospect.

Add a lookup node that queries your CRM or database for existing records. Otherwise you'll waste money and credibility sending duplicate emails.

Rate limits on API endpoints are real.

Most email generation services throttle requests to 10-20 per minute. Use n8n's Rate Limiter node to queue prospects and avoid hitting these ceilings. Better to process slowly and reliably than fast and broken.

Test the sequence on a small cohort first.

Run the workflow on five to ten prospects, review the results manually, and measure reply rates before scaling to hundreds. Your first campaign should inform your prompts and timing, not consume your entire budget.

Use Claude Opus 4.6 for research tasks if you add them.

Some workflows benefit from deeper analysis of prospect information before writing emails. Opus handles longer context windows and complex reasoning better than smaller models.

Monitor email deliverability.

Adding too many personalised sequences to the same domain can trigger spam filters. Spread sends across time, vary your sending domains if possible, and track bounce rates in your email platform.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
n8nCloud Pro or Self-Hosted£20–100Depends on workflow executions. Self-hosted is free but requires infrastructure.
ChatGPT Writer or ColdConvert AIAPI access£0.02–0.05 per prospectVaries by model used and email length. ~£50–100 for 2,000 prospects.
Hunter.io or Apollo.ioStarter plan£50–150Email lookup and prospecting data. Some workflows use free tier.
BurnRateFree or Pro£0–30Free tier covers basic tracking; Pro adds detailed cost breakdowns and optimisation rules.
Payman AIPay-as-you-go£2–5 per approval taskOptional; only include if you need human review.
Gmail API or MailchimpFree to Standard£0–50Gmail API is free; Mailchimp charges based on list size.
Total£72–335Cost per month for a mid-scale operation. Scales down for smaller teams.