Uitgaande berichten en templates
Start WhatsApp-gesprekken en oproepen vanuit je agent
Overzicht
Een agent kan alleen vrije WhatsApp-berichten versturen binnen een actief gesprek. Om als eerste contact op te nemen met een gebruiker — voor meldingen, heractivatie of geplande gesprekken — stuur je een door Meta goedgekeurde berichttemplate. Op deze pagina lees je hoe je templates maakt, uitgaande berichten en gesprekken verstuurt en dit op grote schaal uitvoert.
Templates maken in WhatsApp Manager
Templates worden gemaakt en goedgekeurd in WhatsApp Manager, niet in ElevenLabs.
Bij het maken van een template:
- Kies een categorie: Utility voor transactionele berichten, Marketing voor promotieberichten of Authentication voor verificatiecodes. Meta hanteert verschillende prijzen en rate limits voor elke categorie — zie WhatsApp-prijzen.
- Kies een parameterindeling: positioneel (
{{1}},{{2}}) of benoemd ({{customer_name}}). Bij benoemde parameters moet elke waarde die je verstuurt eenparameter_namehebben. - Dien de template ter goedkeuring in. Goedkeuring duurt meestal enkele minuten tot uren. Een template die in behandeling is of is afgewezen, kan niet worden verstuurd — de API accepteert de request, maar Meta bezorgt het bericht nooit.
Meta beperkt hoeveel marketing- templates één gebruiker binnen een bepaalde periode kan ontvangen. Als een marketingtemplate stilzwijgend niet wordt bezorgd, is deze limiet een veelvoorkomende oorzaak (Meta-fout 131049).
Een uitgaand bericht versturen
Door een templatebericht te versturen, start je een nieuw gesprek. De agent blijft stil totdat de gebruiker antwoordt — de template is zelf het eerste bericht en er starten geen gesprekstimers voordat de gebruiker reageert.
Dashboard
Python
TypeScript
cURL
Ga naar de WhatsApp-pagina, selecteer je account en klik op de knop Uitgaand -> Bericht. Selecteer een agent, voer een WhatsApp-gebruikers-ID in en kies de berichttemplate en bijbehorende parameters:

Zie de API-referentie voor het volledige requestschema.
Een AI-assistent kan deze voorbeelden aanpassen aan je template. Wijs de assistent naar de
llms.txt van de ElevenLabs-documentatie (of de uitgebreidere llms-full.txt), plak je
templatedefinitie uit WhatsApp Manager en vraag om de request — de assistent maakt een cURL-
command of SDK-aanroep met de juiste template_params voor je template.
Templateparameters
template_params is een lijst met component-objecten, één voor elk templateonderdeel met parameters:
{"type": "body", "parameters": [...]}voor placeholders in de body{"type": "header", "parameters": [...]}voor een header met parameters (tekst, afbeelding, document of locatie){"type": "button", "sub_type": ..., "index": ..., "parameters": [...]}voor knopparameters
Elk item in parameters is een waardeobject, zoals {"type": "text", "text": "Daniele"}. Voeg bij templates met benoemde parameters parameter_name toe aan elke waarde. Als je de componentwrapper weglaat — bijvoorbeeld door {"type": "text", ...} rechtstreeks in template_params door te geven — wordt dit afgewezen.
Indeling van het nummer van de ontvanger
whatsapp_user_id mag alleen cijfers bevatten: de landcode gevolgd door het nummer, zonder +, spaties of streepjes. Bijvoorbeeld 14155552671, niet +1 (415) 555-2671.
In sommige landen verschilt de ID die WhatsApp voor een persoon gebruikt van het gekozen nummer — zo hebben
Mexicaanse nummers een extra 1 na de landcode (521...), en Braziliaanse
nummers kunnen een negende cijfer bevatten of weglaten. Als de gebruiker je eerder een bericht heeft gestuurd, gebruik dan bij voorkeur de
whatsapp_user_id uit dat eerdere gesprek, die je kunt kopiëren uit de gespreksgeschiedenis.
Dynamische variabelen, branches en omgevingen
Met het veld conversation_initiation_client_data kun je dynamische variabelen voor het gesprek instellen en het vastzetten op een specifieke agentbranch en omgeving:
Deze instellingen blijven voor het gesprek behouden: wanneer de gebruiker antwoordt, wordt de agent hervat op de aangevraagde branch en omgeving. De branch en omgeving worden eerst gevalideerd — als een van beide niet bestaat, mislukt de request met een fout en wordt er geen bericht verstuurd.
Via dit requestveld ontvangen uitgaande gesprekken dynamische variabelen; inkomende gesprekken ontvangen deze in plaats daarvan via een webhook voor gespreksinitiatie — zie initialisatiecontext.
Templateparameters vullen alleen de tekst van de template in — ze zijn niet beschikbaar voor de agent. Als de
agent een waarde uit de template nodig heeft (zoals de naam van de klant), geef deze dan nogmaals door in
dynamic_variables.
Na het versturen
Een geslaagde request retourneert een conversation_id en het gesprek verschijnt in je geschiedenis met de ingevulde template als eerste bericht. De agent wordt pas uitgevoerd nadat de gebruiker antwoordt. Door de template te versturen, start je noch de timer voor de maximale duur, noch de inactiviteitstimer; beide beginnen zodra het gesprek wordt hervat. Een 200-response betekent dat ElevenLabs de request heeft geaccepteerd — Meta kan de bezorging daarna nog steeds weigeren. Als het bericht nooit aankomt, zie Probleemoplossing.
Een uitgaand gesprek plannen
Voor uitgaande WhatsApp-gesprekken is toestemming van de gebruiker nodig — zie toestemmingen voor gesprekken van gebruikers. Maak in WhatsApp Manager een berichttemplate met een component voor een verzoek om toestemming voor een gesprek. Wanneer je een gesprek plant, controleert ElevenLabs de toestemmingsstatus:
- Toestemming al verleend: het gesprek wordt onmiddellijk gestart.
- Toestemming nog niet gevraagd: de template voor het toestemmingsverzoek wordt verstuurd en het gesprek start zodra de gebruiker toestemming geeft.
- Toestemming geweigerd: het gesprek wordt als mislukt geregistreerd met de reden
User declined the call permission request.
Dashboard
Python
TypeScript
cURL
Ga naar de WhatsApp-pagina, selecteer je account en klik op de knop Uitgaand -> Gesprek. Selecteer een agent, voer een WhatsApp-gebruikers-ID in en kies de template voor het verzoek om toestemming voor een gesprek:

Zie de API-referentie voor het volledige requestschema. Net als bij uitgaande berichten stelt conversation_initiation_client_data dynamische variabelen in en zet het het gesprek vast op een branch en omgeving; een onbekende branch of omgeving wordt afgewezen voordat het gesprek wordt gepland.
Meta brengt kosten in rekening voor uitgaande gesprekken en voor verzoeken om toestemming voor een gesprek die buiten een Customer Service Window worden verstuurd. Voeg in WhatsApp Manager een betaalmethode toe voordat je gesprekken plant.
Campagnes en batches
Gebruik batchgesprekken met whatsapp_params om veel gebruikers te bellen: geef de telefoonnummer-ID en de template voor het verzoek om toestemming voor een gesprek één keer op, en een whatsapp_user_id per ontvanger.
Er is nog geen native batchendpoint voor uitgaande berichten. Roep voor templatecampagnes het endpoint voor uitgaande berichten één keer per ontvanger aan en blijf binnen Meta’s berichtlimieten voor je nummer — zie berichtlimieten.