What this does
Pass any text to WAGHL's TTS webhook. ElevenLabs converts it to natural-sounding audio using your selected voice. The result is delivered as a WhatsApp voice note to your customer.
Prerequisites
- An active ElevenLabs subscription with credits
- Access to your WAGHL dashboard
- A GoHighLevel sub-account
Step 1: Generate your ElevenLabs API key
Visit ElevenLabs
Go to elevenlabs.io. Sign in or register. Confirm your account has sufficient credits.
Create an API key
Navigate to API Keys → Create API Key. Set permissions, click Create. Copy and securely store the key — you can't retrieve it later.
Step 2: Add the key to WAGHL
Open WAGHL dashboard
Log in to WAGHL. Navigate to Users.
Edit your location
Locate your Location ID. Click the pencil (edit) icon. Paste your ElevenLabs API key into the API key field. Click Update.
Step 3: Get your voice ID
You need a specific voice to use. Two options:
Pick a pre-built voice
On ElevenLabs, click Voices. Browse the available pre-made voices. Click the three dots (⋮) next to any voice and copy its voice ID.
Use a cloned voice
Or clone your own: navigate to My Voices, set up a custom voice, then click the three dots (⋮) on it and copy the voice ID.
Step 4: Build the GHL workflow
Create or edit a workflow
In your GHL sub-account, open Automation → create or edit a workflow. Add a trigger of your choice.
Add the webhook action
Action: Webhook. URL: from the table below. Method: POST.
Add custom data
Required keys (see table below for full reference):
voice_id— your copied ElevenLabs voice IDmessage— the text to convert to voice
Save, publish, test
Save the action, publish the workflow, then test by triggering it on a contact. Within seconds the contact's WhatsApp should receive a voice note.
Webhook URLs
| Provider Name | Webhook URL |
|---|---|
| WhatsApp Gateway |
https://trigger.apimerger.com/tts
|
| WhatsApp Gateway 1 |
https://trigger1.apimerger.com/tts
|
| WA1 Connector |
https://wa1.apimerger.com/tts
|
| WA2 Connector |
https://wa2.apimerger.com/tts
|
Custom data reference
voice_id(required) — your ElevenLabs voice IDmessage(required) — text to convert to voice noteapi_key(optional) — only needed if you skipped Step 2
Alternative: GHL Premium Action
If you'd rather skip the webhook setup, GHL has a built-in premium action:
- In a workflow, click Premium Actions
- Choose Text-to-Speech
- Enter your message and select a voice
Premium actions cost a small per-execution fee but skip the manual setup. The webhook approach is free.
Alternative: API key in webhook
If you don't want to store your ElevenLabs API key in WAGHL admin: skip step 2, and pass the key directly via webhook custom data using the api_key field.
Review your voice notes
After sending, navigate to GHL Conversations to review and manage the generated voice notes — they appear like any other outbound WhatsApp message.
What's next?
- ElevenLabs Speech-to-Text — auto-transcribe inbound voice notes
- ChatGPT TTS — simpler/cheaper alternative for basic voice generation
- Record voice notes manually — straight from GHL conversation panel