GoGHL Logo
All posts
WhatsAppHow-to

AI Voice Notes on WhatsApp: ElevenLabs Voices Inside GoHighLevel Workflows

How to send cloned AI voice notes on WhatsApp from GHL workflows using the [AUDIO] prefix, ElevenLabs API, and your own OpenAI key for inbound transcription.

June 12, 2026 Β· 7 min read Β· GoGHL Team

A 20-second voice note does something a paragraph of text cannot: it signals that a human spent time on this message. Even when the contact cannot consciously identify that the voice is AI-generated, the format alone carries more weight than typed words. The effort perception is different.

That perception gap is measurable in reply rates. Voice notes average higher open-and-reply rates than text in personal messaging apps, and WhatsApp is still primarily a personal messaging app in the mind of most contacts - even when businesses are on the other end.

GoGHL's WhatsApp integration ships a full text-to-speech pipeline built on ElevenLabs, plus an inbound speech-to-text system powered by your own OpenAI key. This post covers the exact mechanics of both, including the `[AUDIO]` message prefix, voice cloning, personalization tokens, and the three recipes where this combination does the most work.

Why Voice Notes Outperform Text in High-Stakes Messages

The core dynamic is effort signaling. When a contact receives a voice note, they interpret it as something a person recorded specifically for them. That interpretation does not require the message to actually be personal - the format alone creates the impression.

Compare that to a well-written paragraph. Even with the contact's name merged in, a text message reads like a template. It may be a good template, but the contact's pattern recognition identifies it as such within the first sentence. Voice notes bypass that pattern because they are still rare enough in business contexts to register as unusual.

There is also a cognitive consumption difference. Listening is lower-effort than reading for most people, particularly on mobile. A contact who would not read a 150-word follow-up message in full will often listen to a 25-second voice note while doing something else.

The honest trade-off: voice notes cannot be skimmed. If your message requires the contact to reference specific details - a URL, a confirmation number, a list of options - text or an interactive button message is more functional. Voice notes work best for emotional connection moments: welcome messages, no-show rescues, milestone acknowledgments.

Setting Up ElevenLabs Text-to-Speech in GoGHL

The TTS feature lives under WhatsApp menu (location sidebar) β†’ Settings β†’ Text-to-Speech. Paste your ElevenLabs API key there and toggle the feature on. The API key needs both 'Text-to-Speech' and 'Voices' permissions enabled on the ElevenLabs side - a key with only one permission will authenticate but fail silently when the workflow fires.

ElevenLabs billing runs on character count against your own plan. GoGHL does not add a per-message fee on top. The integration covers all sub-accounts under one agency install, so you can deploy TTS across every client location from a single ElevenLabs key or configure separate keys per location for billing isolation.

  • Prefix every TTS message with [AUDIO] [voice_id] - the brackets are required, including around the voice ID
  • Find your voice ID in the ElevenLabs dashboard under Voices β†’ the voice's detail page
  • Merge fields like {{contact.first_name}} work inside the audio text - they resolve before TTS renders
  • Keep scripts under ~300–450 words to stay within the 2–3 minute recommended limit
  • Hundreds of pre-made ElevenLabs voices are available across multiple languages

Exact TTS message syntax (verbatim from GoGHL docs): [AUDIO] [voice_id] Your text message here Example: [AUDIO] [XrExE9yKIg1WjnnlVkGX] In the ancient land of Eldoria... With personalization: [AUDIO] [XrExE9yKIg1WjnnlVkGX] Hi {{contact.first_name}}, just confirming your appointment tomorrow at 10 AM. Works in: manual messages, workflows, trigger-based messages, scheduled broadcasts, custom values. Recommended script length: under 2–3 minutes (~300–450 words).

Voice Cloning: One Recording, Every Sub-Account

ElevenLabs supports custom cloned voices. You record the agency owner - or any named persona - once, ElevenLabs generates a voice model, and you paste that voice ID into GoGHL. From that point, every automated message in every client sub-account that uses that ID speaks in the cloned voice.

The practical use case for agencies is brand consistency. An agency that positions its owner as a thought leader can have that owner's voice appear in welcome messages, follow-up sequences, and re-engagement campaigns across all 20 of their client accounts - without the owner recording 20 separate sets of messages.

For white-label agencies, the same logic applies with a persona voice: one fictional 'account manager' voice that clients hear consistently, creating a perception of dedicated attention at a fraction of the operational cost.

Inbound Speech-to-Text: Every Voice Note Becomes CRM Data

The other half of the voice stack is inbound transcription. When a contact sends your client a WhatsApp voice note, GoGHL can automatically transcribe it using your OpenAI API key. The transcript appears directly under the voice note in the conversation tab - visible to any team member, searchable in the CRM, and usable as a trigger condition in workflows.

Setup is in Agency or Sub-Location settings β†’ Speech-to-Text section. Paste the OpenAI API key and toggle the feature on. OpenAI's transcription model runs on the Whisper API, which GoGHL documents as having 'minimal' credit consumption per voice note.

The workflow automation angle is significant. A contact who sends a voice note saying 'I am not available this week, can we reschedule?' can trigger an automated rescheduling sequence without any human reviewing the message first. The transcript text is the trigger condition - treat it like any other inbound text message in your automation logic.

Inbound speech-to-text setup: 1. Agency Settings (or Sub-Location Settings) β†’ Speech-to-Text section 2. Paste your OpenAI API key β†’ toggle on 3. Incoming voice notes auto-transcribe; transcript appears under the audio in Conversations 4. Transcript text is usable in workflow trigger conditions and automations 5. Searchable in CRM alongside all other conversation history

Three Recipes That Use Both Directions

Recipe 1: Voice welcome after form fill. A contact submits a lead form. The GHL workflow fires a `[AUDIO] [voice_id] Hi {{contact.first_name}}, this is [Name] from [Agency]. I just saw your request and I am personally following up - you should hear back within the hour.` The message lands as a WhatsApp voice note. Reply rate benchmarks on this type of message consistently outperform text-only equivalents in agency use cases. Pair with an interactive button in the same workflow for a booking CTA.

Recipe 2: Voice no-show rescue. A contact misses a scheduled call. Standard text re-engagement gets a low response rate after the first no-show. A voice note - `Hi {{contact.first_name}}, I noticed we missed our call earlier. No problem at all - here is a link to grab a new time that works for you.` - registers differently because it does not read like a system-generated recovery email. The tone carries. Follow the voice note with a `cta_url` button in the next message.

Recipe 3: Transcribed voicemail to AI text reply. A contact leaves a voice note with a detailed question. The OpenAI transcription converts it to text, which triggers a GHL workflow with AI-generated reply logic. The AI reads the transcript, generates a response, and sends a follow-up text - or another voice note - within seconds. The contact asked a voice question and got a voice answer with no human in the loop.

All three recipes run through the same unified inbox that handles your SMS and iMessage channels. The voice note thread and the follow-up text appear in the same conversation view, so a human agent stepping in has full context.

What to Watch Out For

Script length is the most common deployment error. A 600-word script that runs 4 minutes does not perform better than a 250-word script that runs 90 seconds. It performs worse, because completion rate drops sharply after about 2 minutes in business voice messages. Keep scripts under 300-450 words.

Voice ID management matters at agency scale. If you are using the same cloned voice ID across 15 sub-accounts and the ElevenLabs voice owner requests deletion, all 15 sub-accounts break silently - the `[AUDIO]` prefix fires but no audio generates. Maintain a voice ID registry in your agency documentation and test monthly.

On the inbound side, OpenAI Whisper handles most accents and English dialects well, but accuracy drops on heavily accented speech, background noise, and non-English languages. Do not build critical automation logic (payment confirmations, opt-out processing) that depends solely on transcript accuracy without a human review fallback.

The `[AUDIO]` prefix is one of the highest-leverage features in the GoGHL stack because it changes the medium, not just the message. Voice notes in an automated workflow do not feel like automation to most contacts. That gap between perception and reality is where the conversion lift comes from. Set up your ElevenLabs key, clone one voice, and run it against your current highest-drop-off workflow step first - that is where you will see the impact most clearly.

Try it inside your own GHL account

One install adds WhatsApp, iMessage, and SMS to every sub-account. Free for 7 days, no credit card.