Your sales team spends three hours a day on LinkedIn, noting down prospects, switching to Gmail to compose emails, then copying names into a spreadsheet. The emails read like they were written by a committee. Response rates sit at 2%. Meanwhile, your competitors are moving five times faster with half the effort. This is not inevitable. The gap between manual prospecting and automated prospecting is not a matter of luck or seniority. It is a matter of workflow design. You can build a system that pulls prospect research from LinkedIn, generates personalised outreach based on actual company data, and distributes messages without a human ever copying and pasting again. The stack we will build today combines four tools: ColdConvert AI handles email generation with real personalisation; MindPal orchestrates a multi-agent workflow to research and enrich prospect data; Payman AI manages task assignment if you want human review at any point; and Postwise handles distribution across LinkedIn if you prefer that channel. The orchestration layer can be Zapier, n8n, or Make, depending on your technical comfort and throughput requirements. We will walk through a production setup using n8n, which offers the most flexibility for this particular workflow.
The Automated Workflow
The flow works like this: a LinkedIn sales navigator CSV export lands in a shared folder; your orchestration tool picks it up; it enriches each prospect with company research via MindPal; it generates a personalised email via ColdConvert AI; it optionally sends that to Payman for human review; then it delivers the final message via Gmail or LinkedIn. Zero manual handoff between steps. Setting up n8n as your orchestration backbone n8n will be your command centre. Create a new workflow and add a File Trigger node that watches your designated folder for CSV uploads.
Trigger: File > When a file is created or modified
Path: /uploads/prospects
File Name Pattern: *.csv
Parse the CSV with a Function node to extract each row as a separate object:
javascript
const data = $input.item.json;
const rows = data.split('\n').slice(1);
const prospects = rows .filter(row => row.trim()) .map(row => { const [name, company, title, linkedinUrl] = row.split(','); return { name: name.trim(), company: company.trim(), title: title.trim(), linkedinUrl: linkedinUrl.trim() }; }); return prospects.map(p => ({ json: p }));
Now send each prospect to MindPal for enrichment. You will use MindPal's webhook endpoint to trigger a research workflow:
POST https://api.mindpal.io/v1/workflows/{workflow_id}/execute
Headers: Authorization: Bearer YOUR_MINDPAL_API_KEY Content-Type: application/json Body:
{ "inputs": { "company_name": "{{$node.\"Parse CSV\".json.company}}", "prospect_name": "{{$node.\"Parse CSV\".json.name}}", "prospect_title": "{{$node.\"Parse CSV\".json.title}}" }
}
Set up a MindPal workflow that chains multiple agents: one researches the company (recent news, funding, headcount); another searches for problem in that industry; a third compiles recent company announcements. Return this as structured JSON from MindPal back to n8n. Once you receive the enriched data, pass it to ColdConvert AI:
POST https://api.coldconvert.com/v2/generate-email
Headers: Authorization: Bearer YOUR_COLDCONVERT_API_KEY Content-Type: application/json Body:
{ "prospect_name": "{{$node.\"Parse CSV\".json.name}}", "prospect_company": "{{$node.\"Parse CSV\".json.company}}", "prospect_title": "{{$node.\"Parse CSV\".json.title}}", "company_research": "{{$node.\"MindPal Research\".json.research_summary}}", "pain_points": "{{$node.\"MindPal Research\".json.identified_pain_points}}", "tone": "professional_direct", "include_cta": true
}
ColdConvert will return a generated email body. Store this in a data store node (or a Google Sheet) as a log.
Optional human review step with Payman AI
If you want subject matter experts to approve emails before sending, route them through Payman:
POST https://api.payman.ai/v1/tasks/create
Headers: Authorization: Bearer YOUR_PAYMAN_API_KEY Content-Type: application/json Body:
{ "task_type": "review", "title": "Review cold email for {{$node.\"Parse CSV\".json.name}} at {{$node.\"Parse CSV\".json.company}}", "description": "{{$node.\"ColdConvert\".json.email_body}}", "assignee_count": 1, "reward": 0.50, "deadline_hours": 2, "callback_url": "YOUR_N8N_WEBHOOK_URL"
}
Payman will assign the review to a worker, who approves or rejects. The callback webhook returns the decision. Only approved emails proceed to the next step.
Final delivery to Gmail or LinkedIn
For Gmail delivery, configure the Gmail node in n8n:
Gmail: Send Email
To: {{$node.\"Parse CSV\".json.prospect_email}}
Subject: {{$node.\"ColdConvert\".json.email_subject}}
Body: {{$node.\"ColdConvert\".json.email_body}}
Alternatively, use Postwise to distribute across LinkedIn directly. Postwise has an API for scheduling posts, though note that LinkedIn's Terms of Service restrict some forms of automation. Always check current compliance requirements before deploying at scale.
POST https://api.postwise.com/v1/schedule
Headers: Authorization: Bearer YOUR_POSTWISE_API_KEY Content-Type: application/json Body:
{ "content": "{{$node.\"ColdConvert\".json.personalized_message}}", "platform": "linkedin", "recipient_id": "{{$node.\"Parse CSV\".json.linkedinUrl}}", "schedule_time": "2025-03-15T09:00:00Z"
}
End-to-end flow structure
Your n8n workflow should look like this: 1. File Trigger (watch folder for CSV) 2. Function Node (parse CSV into objects) 3. Loop over each prospect 4. MindPal Webhook (enrich with research) 5. Wait for MindPal response (Set node) 6. ColdConvert API call (generate email) 7. (Optional) Payman task creation (human review) 8. (Optional) Wait for Payman callback 9. Gmail or Postwise delivery 10. Data Store or Sheet logging Use n8n's built-in error handling to catch failed API calls and queue them for retry. Set exponential backoff to respect rate limits.
The Manual Alternative
If you prefer granular control over every email before sending, you can skip automation and use the tools individually. Generate emails in ColdConvert, review them in a Google Doc, then send manually. This is slower, but it gives you peace of mind that every message matches your brand voice. Use MindPal's interface directly to research prospects one by one, take notes in Notion, then compose emails in Gmail. This approach trades speed for control; it makes sense for very small lists (under 50 prospects per week) or highly sensitive industries where personal oversight is non-negotiable.
Pro Tips
Rate limiting and API quotas.
MindPal and ColdConvert both have per-minute limits.
If you are sending 100 prospects, stagger requests with a 2-second delay between each call. Use n8n's Rate Limit node to enforce this automatically. Check your API documentation for burst limits versus sustained throughput.
Testing with a small batch first.
Run your workflow on a CSV with 5 prospects before deploying to your full list. Verify that personalisation is actually happening; check one generated email carefully to make sure the problem and company research are relevant. A single misconfigured variable will ruin 500 emails at once.
Monitoring for quality degradation.
Set up a Slack notification that sends you one random generated email per day. Read it as if you were the prospect. Over time, AI-generated emails can drift in tone or start repeating phrases. Catch this early by spot-checking.
Cost optimisation: use cheaper models for research.
MindPal might use GPT-4.1 for complex reasoning by default. For simple company research, use GPT-4.1 mini or Claude Haiku 4.5 instead. This cuts API costs by 60% without sacrificing quality for straightforward lookups.
Handling bounces and invalid emails.
If you are sending to Gmail addresses, configure bounce handling in Gmail's SMTP settings. n8n can catch delivery errors and flag those prospects for manual follow-up or removal from future sends.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| n8n | Cloud Pro | £20 | Includes 5,000 executions; add more for high-volume sends |
| MindPal | Starter | £50 | Unlimited agent workflows; includes API access |
| ColdConvert AI | Standard | £149 | Up to 2,000 emails per month; overage £0.10 per email |
| Payman AI | Pay-as-you-go | £0.50 per task | Only charged if you use human review step |
| Postwise | Growth | £99 | If using LinkedIn distribution; includes scheduling |
| Gmail API | Free | £0 | If sending to Gmail; included in Google Workspace |