AI Video Prospecting via WhatsApp in SA
April 4, 2026The era of the "spray and pray" cold email is officially over. In a world where every decision-maker's inbox is flooded with generic AI-generated text, the only way to stand out is through high-friction, high-value personalization. And nothing says "I actually looked at your profile" like a personalized video message.
But sending these manually doesn't scale. If you're a founder or a high-volume sales team in South Africa, you don't have 10 hours a day to record individual Loom videos.
I recently built a system that automates this entire pipeline — from lead capture to AI video generation to WhatsApp delivery. This isn't just a gimmick; it's a conversion machine that leverages the 90%+ open rates of WhatsApp in the SA market.
Here is the "plumbing" behind the AI video prospecting engine.
The Architectural Stack
To build this, you need a few moving parts that play nicely together:
- The Lead Engine: A CRM or a lead list (Google Sheets, Airtable, or HubSpot).
- The Video AI: HeyGen or Synthesia (we'll use HeyGen's API for this guide).
- The Messaging Layer: WhatsApp Business API (via a provider like Wati, Twilio, or Meta direct).
- The Glue: A Node.js backend or a low-code tool like Make.com to orchestrate the webhooks.
Step 1: Capturing the Variables
Personalization only works if the data is clean. For a video to feel real, the AI needs at least three variables:
- : To say "Hi [Name]".
first_name - : To show you've researched them.
company_name - : A specific sentence about their recent LinkedIn post or website.
personalized_hook
In our Node.js setup, we fetch these from a database:
const leads = await db.collection('prospects').find({ status: 'queued' }).toArray();
Step 2: Triggering the AI Video Generation
We use HeyGen's Video Avatar API. This allows us to take a pre-recorded "base" video of yourself and dynamically swap the audio and lip-syncing based on our text variables.
Here’s the simplified payload we send to HeyGen:
const response = await axios.post('https://api.heygen.com/v1/video.generate', { video_settings: { ratio: "9:16", // Vertical for WhatsApp quality: "high" }, test: false, version: "v2", clips: [ { avatar_id: "your_custom_avatar_id", input_text: `Hi ${lead.first_name}, I saw that ${lead.company_name} is expanding their dev team in Cape Town. I wanted to share a quick idea on how you can automate your technical recruitment...`, voice_id: "your_cloned_voice_id" } ] }, { headers: { 'X-Api-Key': process.env.HEYGEN_API_KEY } });
The API returns a
video_idvideo_generatedStep 3: Handling the Webhook and WhatsApp Delivery
Once HeyGen finishes the video, it pings our server with the S3 URL of the
.mp4Important: You cannot send a "cold" video on WhatsApp without an approved Message Template.
Your template should look something like this:
"Hi {{1}}, I made a quick video for you regarding {{2}}. Check it out below!"
When the webhook hits, we trigger the WhatsApp Business API:
const sendVideo = async (phoneNumber, videoUrl, leadName) => { await axios.post(`https://graph.facebook.com/v17.0/${process.env.WA_PHONE_NUMBER_ID}/messages`, { messaging_product: "whatsapp", to: phoneNumber, type: "template", template: { name: "video_prospecting_v1", language: { code: "en" }, components: [ { type: "header", parameters: [{ type: "video", video: { link: videoUrl } }] }, { type: "body", parameters: [{ type: "text", text: leadName }, { type: "text", text: "your recruitment goals" }] } ] } }, { headers: { 'Authorization': `Bearer ${process.env.WA_ACCESS_TOKEN}` } }); };
Why This Works in South Africa
South Africans are notoriously "mobile-first." While local CEOs might ignore an email from a random
.comMoreover, the cost of the WhatsApp API (around R0.60 to R1.50 per conversation in SA) is negligible compared to the value of a high-intent B2B lead. HeyGen credits cost around $2 (R38) per minute of video. Total cost per high-impact touchpoint: ~R45.
If your Average Order Value is R50,000+, that R45 is the best marketing spend you'll ever make.
The Human Handoff
The biggest mistake is automating the entire conversation. Once the prospect replies "That's cool, how does it work?", the AI should step back. We use a simple
is_automatedSecurity & POPIA Compliance
Because you are processing names and phone numbers, ensure:
- You have a legal basis for processing (Legitimate Interest often applies for B2B, but consult a pro).
- Data is encrypted in transit.
- You provide an immediate "Opt-out" or "Stop" mechanism in your first message.
Final Thoughts
Building the "plumbing" for AI video prospecting takes about a week of development time, but it creates a moat around your business. Your competitors are still sending generic emails; you're sending high-quality, personalized video messages that land in their pockets.
If you're looking to build this kind of automation into your sales stack, reach out on WhatsApp. I help SA companies build the tech that powers their growth.