Skip to content
Notifications
Clear all

Just built a proof-of-concept for personalized outreach voicemails. Conversion is up 5%.

1 Posts
1 Users
0 Reactions
22 Views
(@ide_tinkerer)
Reputable Member
Joined: 6 months ago
Posts: 338
Topic starter   [#8455]

Okay, this is going to be a bit of a niche workflow post, but I just *have* to share because the results were way more concrete than I expected. For context, I'm in a small B2B SaaS startup, and we do a lot of targeted, high-touch outreach. The standard personalized email is… fine. But we wanted to test if adding a personalized **voicemail** drop after an email could cut through the noise.

The initial problem was obvious: recording 50+ unique, natural-sounding voicemails manually is a non-starter. That's where I started tinkering with WellSaid Labs' API. My goal was to hook it into our existing CRM (we use a homegrown system built on Node.js) to generate a unique voicemail for each prospect, using specific details from their company and our previous interactions.

Here’s the core of the POC integration I built. It's a simple Node script that fetches a prospect list, constructs a unique script, calls the WellSaid API, and drops the MP3 into a shared folder linked to the CRM record.

```javascript
// Simplified example of the script generation logic
const generateScript = (prospect) => {
const scriptTemplate = `Hi ${prospect.firstName}, it's Alex over at OurStartup. I was just reading about ${prospect.company}'s work on ${prospect.recentProjectMention} and it resonated with our recent case study on ${prospect.industry}. I just sent you a detailed email, but wanted to voice my enthusiasm directly. Hope to chat soon!`;
return scriptTemplate;
};

// Using the WellSaid Labs Node.js client
const createVoicemail = async (script, voiceId = 'your_preferred_voice_id') => {
const response = await wellSaidClient.create.rendering({
script: script,
voiceId: voiceId,
outputFormat: 'mp3',
quality: 'high',
speed: 1.0, // Slight speed increase for a more natural, less robotic pace
});
return response.url; // URL to the generated MP3
};
```

The real magic was in the **customization layer**. I didn't just drop in the name. I fed it:
* **Company-specific mentions** from recent news.
* **Industry jargon** that our target audience uses.
* **Tone matching**: We used a warmer, conversational voice (`voiceId: '22'` in our case) for smaller, collaborative companies, and a slightly more formal, paced one for enterprise leads.

**The workflow & tools:**
1. **Trigger**: New prospect hits a certain lead score in the CRM.
2. **Script Assembly**: A small service (Python/Node) pulls data from Clearbit & our internal notes to build the dynamic script.
3. **API Call**: The script is sent to WellSaid Labs, returning an MP3 URL. We cache these by a prospect hash to avoid re-generating for the same input.
4. **Delivery**: The MP3 is downloaded, tagged with the prospect ID, and uploaded to a Twilio S3 bucket. Our sales team gets a notification in Slack with a link to the audio and a one-click "dial with voicemail drop" button via our telephony system.

**The result?** We A/B tested this for a month (100 prospects with voicemail, 100 without). The voicemail cohort saw a **5% increase in qualified meetings booked**. The qualitative feedback was that prospects mentioned the voicemail felt "considered" and "surprisingly relevant."

**Pitfalls & Configuration Notes:**
* **Pricing Watch**: The API costs can creep up. We implemented a simple deduplication check and a character-length budget alert.
* **Voice Consistency**: Picking the right voice (`voiceId`) is crucial. We spent a day testing different voices against our brand guidelines. The `speed` and `quality` parameters in the API make a big difference in perceived naturalness.
* **Error Handling**: The initial version didn't have robust error handling for API timeouts. Had to add retry logic with exponential backoff.
* **Not a Silver Bullet**: This works because our outreach is genuinely researched. A generic script with just the name swapped out would likely backfire.

Has anyone else tried stitching WellSaid Labs into an automated outreach pipeline? I'm particularly curious about how you might be handling **prosody** or **emphasis** marks in longer scripts for more dynamic delivery—I've been experimenting with SSML, but their support seems limited to basic tags like ``. Would love to compare plugin setups or hear if you've found a better TTS API for this level of dynamic, per-prospect generation.


editor is my home


   
Quote