> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Ausgehende Nachrichten & Vorlagen

## Überblick

Ein Agent kann frei formulierte WhatsApp-Nachrichten nur innerhalb einer aktiven Unterhaltung senden. Um einen Nutzer zuerst zu erreichen — für Benachrichtigungen, erneute Kontaktaufnahme oder geplante Anrufe — senden Sie eine von Meta genehmigte **Nachrichtenvorlage**. Auf dieser Seite erfahren Sie, wie Sie Vorlagen erstellen, ausgehende Nachrichten und Anrufe senden und dies im großen Umfang durchführen.

## Vorlagen im WhatsApp Manager erstellen

Vorlagen werden im [WhatsApp Manager](https://business.facebook.com/latest/whatsapp_manager/message_templates) erstellt und genehmigt, nicht in ElevenLabs.

Beim Erstellen einer Vorlage:

* Wählen Sie eine Kategorie: **Utility** für Transaktionsnachrichten, **Marketing** für Werbenachrichten oder **Authentication** für Bestätigungscodes. Meta berechnet Preise und begrenzt die Rate für jede Kategorie unterschiedlich — siehe [WhatsApp-Preise](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing).
* Wählen Sie ein Parameterformat: positionell (`{{1}}`, `{{2}}`) oder benannt (`{{customer_name}}`). Benannte Parameter erfordern für jeden gesendeten Wert einen `parameter_name`.
* Reichen Sie die Vorlage zur Genehmigung ein. Die Genehmigung dauert meist Minuten bis Stunden. Eine ausstehende oder abgelehnte Vorlage kann nicht gesendet werden — die API akzeptiert die Anfrage, aber Meta stellt die Nachricht nie zu.

> **Note**
>
> Meta begrenzt, wie viele [Marketing- Vorlagen](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/marketing-templates/per-user-limits)
> ein einzelner Nutzer innerhalb eines bestimmten Zeitraums erhalten kann. Wenn eine Marketingvorlage stillschweigend nicht zugestellt wird,
> ist dieses Limit eine häufige Ursache (Meta-Fehler 131049).

## Ausgehende Nachricht senden

Das Senden einer Vorlagennachricht startet eine neue Unterhaltung. Der Agent bleibt still, bis der Nutzer antwortet — die Vorlage selbst ist die erste Nachricht, und es starten keine Unterhaltungstimer, bevor der Nutzer antwortet.

#### Dashboard

Öffnen Sie die [WhatsApp-Seite](https://elevenlabs.io/app/agents/whatsapp), wählen Sie Ihr Konto aus und klicken Sie auf ***Outbound -> Message***. Wählen Sie einen Agenten, geben Sie eine WhatsApp-Nutzer-ID an und wählen Sie die Nachrichtenvorlage sowie ihre Parameter:

![Dialog für ausgehende WhatsApp-Nachricht](/docs/_fern-img/13913c2ccc1d92cb59e7332b6fdb4a8c8c64760a334d1a311fa2007831eeb986.webp)

#### Python

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.whatsapp.outbound_message(
    whatsapp_phone_number_id="524029457612345",
    whatsapp_user_id="12213231492",
    template_name="welcome",
    template_language_code="en",
    template_params=[
        {
            "type": "body",
            "parameters": [
                {
                    "type": "text",
                    "parameter_name": "name",
                    "text": "Daniele",
                }
            ],
        }
    ],
    agent_id="agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
    conversation_initiation_client_data={
        "dynamic_variables": {"customer_name": "Daniele"},
    },
)
```

#### TypeScript

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.whatsapp.outboundMessage({
  whatsappPhoneNumberId: "524029457612345",
  whatsappUserId: "12213231492",
  templateName: "welcome",
  templateLanguageCode: "en",
  templateParams: [
    {
      type: "body",
      parameters: [
        {
          type: "text",
          parameterName: "name",
          text: "Daniele",
        },
      ],
    },
  ],
  agentId: "agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
  conversationInitiationClientData: {
    dynamicVariables: { customer_name: "Daniele" },
  },
});
```

#### cURL

```bash
curl -X POST https://api.elevenlabs.io/v1/convai/whatsapp/outbound-message \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "whatsapp_phone_number_id": "524029457612345",
    "whatsapp_user_id": "12213231492",
    "template_name": "welcome",
    "template_language_code": "en",
    "template_params": [
      {
        "type": "body",
        "parameters": [
          {"type": "text", "parameter_name": "name", "text": "Daniele"}
        ]
      }
    ],
    "agent_id": "agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
    "conversation_initiation_client_data": {
      "dynamic_variables": {"customer_name": "Daniele"}
    }
  }'
```

Das vollständige Anfrageschema finden Sie in der [API-Referenz](/docs/de/api-reference/whats-app/outbound-message).

> **Tip**
>
> Ein KI-Assistent kann diese Beispiele an Ihre Vorlage anpassen. Verweisen Sie ihn auf die ElevenLabs-Dokumentation
> [llms.txt](/docs/de/llms.txt) (oder die ausführlichere [llms-full.txt](/docs/de/llms-full.txt)), fügen Sie Ihre
> Vorlagendefinition aus dem WhatsApp Manager ein und bitten Sie um die Anfrage — er erstellt einen cURL-
> Befehl oder SDK-Aufruf mit den korrekten `template_params` für Ihre Vorlage.

### Vorlagenparameter

`template_params` ist eine Liste von **Komponenten**-Objekten, eines für jede Vorlagenkomponente mit Parametern:

* `{"type": "body", "parameters": [...]}` für Platzhalter im Nachrichtentext
* `{"type": "header", "parameters": [...]}` für einen parametrisierten Header (Text, Bild, Dokument oder Standort)
* `{"type": "button", "sub_type": ..., "index": ..., "parameters": [...]}` für Schaltflächenparameter

Jeder Eintrag in `parameters` ist ein Wertobjekt wie `{"type": "text", "text": "Daniele"}`. Fügen Sie bei Vorlagen mit benannten Parametern für jeden Wert `parameter_name` ein. Das Weglassen des Komponenten-Wrappers — wenn Sie beispielsweise `{"type": "text", ...}` direkt in `template_params` übergeben — wird abgelehnt.

### Format der Empfängernummer

`whatsapp_user_id` darf nur Ziffern enthalten: die Ländervorwahl gefolgt von der Nummer, ohne `+`, Leerzeichen oder Bindestriche. Beispiel: `14155552671`, nicht `+1 (415) 555-2671`.

> **Warning**
>
> In einigen Ländern unterscheidet sich die von WhatsApp verwendete ID einer Person von ihrer gewählten Nummer —
> mexikanische Nummern haben beispielsweise eine zusätzliche `1` nach der Ländervorwahl (`521...`), und brasilianische
> Nummern können eine neunte Ziffer enthalten oder weglassen. Wenn der Nutzer Ihnen bereits geschrieben hat, verwenden Sie bevorzugt die
> `whatsapp_user_id` aus dieser früheren Unterhaltung, die Sie aus dem Unterhaltungsverlauf kopieren können.

### Dynamische Variablen, Branches und Umgebungen

Mit dem Feld `conversation_initiation_client_data` können Sie [dynamische Variablen](/docs/de/eleven-agents/customization/personalization/dynamic-variables) für die Unterhaltung festlegen und sie an einen bestimmten [Agent-Branch](/docs/de/eleven-agents/operate/versioning) und eine [Umgebung](/docs/de/eleven-agents/integrate/environment-variables) binden:

```json
{
  "dynamic_variables": { "customer_name": "Daniele" },
  "branch_id": "agtbrch_8721kwarbs83e233mg1fzkaf9pg0",
  "environment": "staging"
}
```

Diese Einstellungen bleiben für die Unterhaltung bestehen: Wenn der Nutzer antwortet, setzt der Agent die Unterhaltung im angeforderten Branch und in der angeforderten Umgebung fort. Branch und Umgebung werden zuerst validiert — falls eines davon nicht existiert, schlägt die Anfrage mit einem Fehler fehl und es wird keine Nachricht gesendet.

Über dieses Anfragefeld erhalten ausgehende Unterhaltungen dynamische Variablen; eingehende Unterhaltungen erhalten sie stattdessen über einen Webhook zur Gesprächsinitialisierung — siehe [Initialisierungskontext](/docs/de/eleven-agents/whatsapp#initialization-context).

> **Note**
>
> Vorlagenparameter füllen nur den Vorlagentext aus — sie werden dem Agenten nicht bereitgestellt. Wenn der
> Agent einen Wert aus der Vorlage benötigt (etwa den Namen des Kunden), übergeben Sie ihn erneut in
> `dynamic_variables`.

### Nach dem Senden

Eine erfolgreiche Anfrage gibt eine `conversation_id` zurück und die Unterhaltung erscheint in Ihrem Verlauf, mit der gerenderten Vorlage als erster Nachricht. Der Agent wird erst ausgeführt, wenn der Nutzer antwortet. Durch das Senden der Vorlage starten weder der Timer für die maximale Dauer noch der Inaktivitätstimer; beide beginnen, sobald die Unterhaltung fortgesetzt wird. Eine `200`-Antwort bedeutet, dass ElevenLabs die Anfrage akzeptiert hat — Meta kann die Zustellung danach dennoch ablehnen. Wenn die Nachricht nie ankommt, lesen Sie [Fehlerbehebung](/docs/de/eleven-agents/whatsapp/troubleshooting).

## Ausgehenden Anruf planen

Ausgehende WhatsApp-Anrufe erfordern die Zustimmung des Nutzers — siehe [Nutzerberechtigungen für Anrufe](https://developers.facebook.com/documentation/business-messaging/whatsapp/calling/user-call-permissions). Erstellen Sie im [WhatsApp Manager](https://business.facebook.com/latest/whatsapp_manager/message_templates) eine Nachrichtenvorlage mit einer Komponente für eine **Anrufberechtigungsanfrage**. Wenn Sie einen Anruf planen, prüft ElevenLabs den Berechtigungsstatus:

* Berechtigung bereits erteilt: Der Anruf wird sofort aufgebaut.
* Berechtigung noch nicht angefragt: Die Vorlage für die Berechtigungsanfrage wird gesendet und der Anruf wird aufgebaut, sobald der Nutzer zustimmt.
* Berechtigung abgelehnt: Die Unterhaltung wird mit dem Grund `User declined the call permission request.` als fehlgeschlagen erfasst.

#### Dashboard

Öffnen Sie die [WhatsApp-Seite](https://elevenlabs.io/app/agents/whatsapp), wählen Sie Ihr Konto aus und klicken Sie auf ***Outbound -> Call***. Wählen Sie einen Agenten, geben Sie eine WhatsApp-Nutzer-ID an und wählen Sie die Vorlage für die Anrufberechtigungsanfrage:

![Dialog für ausgehenden WhatsApp-Anruf](/docs/_fern-img/1fcf7968f1651ce8e9474e770aad4dce4e702c69b4522f5bcc65efcd8bf8a3e4.webp)

#### Python

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.whatsapp.outbound_call(
    whatsapp_phone_number_id="524029457612345",
    whatsapp_user_id="12213231492",
    whatsapp_call_permission_request_template_name="call_permission",
    whatsapp_call_permission_request_template_language_code="en",
    agent_id="agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
    conversation_initiation_client_data={
        "dynamic_variables": {"customer_name": "Daniele"},
    },
)
```

#### TypeScript

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.whatsapp.outboundCall({
  whatsappPhoneNumberId: "524029457612345",
  whatsappUserId: "12213231492",
  whatsappCallPermissionRequestTemplateName: "call_permission",
  whatsappCallPermissionRequestTemplateLanguageCode: "en",
  agentId: "agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
  conversationInitiationClientData: {
    dynamicVariables: { customer_name: "Daniele" },
  },
});
```

#### cURL

```bash
curl -X POST https://api.elevenlabs.io/v1/convai/whatsapp/outbound-call \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "whatsapp_phone_number_id": "524029457612345",
    "whatsapp_user_id": "12213231492",
    "whatsapp_call_permission_request_template_name": "call_permission",
    "whatsapp_call_permission_request_template_language_code": "en",
    "agent_id": "agent_9201kwcrbq9qfxaa2t8nnnkqf2w9",
    "conversation_initiation_client_data": {
      "dynamic_variables": {"customer_name": "Daniele"}
    }
  }'
```

Das vollständige Anfrageschema finden Sie in der [API-Referenz](/docs/de/api-reference/whats-app/outbound-call). Wie bei ausgehenden Nachrichten legt `conversation_initiation_client_data` dynamische Variablen fest und bindet die Unterhaltung an einen Branch und eine Umgebung. Ein unbekannter Branch oder eine unbekannte Umgebung wird abgelehnt, bevor der Anruf geplant wird.

> **Note**
>
> Meta berechnet Gebühren für ausgehende Anrufe und für Anrufberechtigungsanfragen, die außerhalb eines [Customer-Service- Fensters](https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/send-messages#customer-service-windows) gesendet werden.
> Fügen Sie im WhatsApp Manager eine Zahlungsmethode hinzu, bevor Sie Anrufe planen.

## Kampagnen und Stapelverarbeitung

Um viele Nutzer anzurufen, verwenden Sie [Stapelanrufe](/docs/de/eleven-agents/phone-numbers/batch-calls) mit `whatsapp_params`: Geben Sie die Telefonnummer-ID und die Vorlage für die Anrufberechtigungsanfrage einmal an sowie eine `whatsapp_user_id` pro Empfänger.

Es gibt noch keinen nativen Batch-Endpunkt für ausgehende Nachrichten. Rufen Sie für Vorlagenkampagnen den [Endpunkt für ausgehende Nachrichten](/docs/de/api-reference/whats-app/outbound-message) einmal pro Empfänger auf und halten Sie die Messaging-Limits von Meta für Ihre Nummer ein — siehe [Messaging-Limits](https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/messaging-limits).