WhatsApp-Automatisierung

WhatsApp-Automatisierung — Einrichtung & Betrieb

Diese Anleitung beschreibt, wie die WhatsApp-Automatisierung (eingehende Nachricht → Workflow → 24h-Branching → Claude-AI-Antwort → Terminbuchung) scharf geschaltet und betrieben wird. Alles läuft zentral im Flow Builder (Seite „Workflows").

1. Voraussetzungen

Extern (mit Vorlaufzeit — früh starten):

  • WhatsApp Business (WABA) Sender bei Twilio, von Meta freigeschaltet, inkl.

Absendenummer.

  • Genehmigte Nachrichtenvorlagen (Templates) in Twilio (Content-SIDs) für:
  • die Erstansprache (außerhalb des 24h-Fensters),
  • die Fallback-/Reaktivierung (wenn das 24h-Fenster geschlossen ist).

In der App (Owner):

  • Twilio-Zugang: twilio_account_sid, twilio_auth_token und

twilio_whatsapp_number (Einstellungen → Telefonie/Twilio, bzw. ENV TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN / TWILIO_WHATSAPP_NUMBER).

  • Org-eigener Anthropic-API-Key (KI-Karte) — wird in workspace_ai

gespeichert. Ohne Key antwortet die KI nicht.

  • Rollen: Workflows, Funnel scharf stellen und Kill-Switch sind owner-only.
  • Event-Typ mit verbundenem Google-Kalender des Hosts (für freie Slots,

Meet-Link, Bestätigung) — nur nötig, wenn der Funnel Termine bucht.

2. Aktivierung Schritt für Schritt

Reihenfolge wichtig: ohne diese Schritte blockiert das Sende-Gate bewusst jeden automatischen Versand (Fail-safe).
  1. Twilio-Inbound-Webhook setzen

In der Twilio-Konsole (WhatsApp Sender → „When a message comes in"): https://<deine-domain>/api/twilio/whatsapp-inbound (HTTP POST). Die Nummer muss zur Org passen (twilio_whatsapp_number), sonst wird die Nachricht keinem Workspace zugeordnet.

  1. Anthropic-Key hinterlegen

Workspace → KI-Einstellungen → eigenen Anthropic-Key eintragen.

  1. Vorlagen hinterlegen

Die genehmigten Twilio-Content-SIDs stehen im Builder unter der Aktion „WhatsApp-Vorlage senden" als Auswahl bereit (geladen aus Twilio).

  1. Funnel scharf stellen + Versand-Einwilligung

Workflows → „WhatsApp · Erweitert" → Funnel-Sicherheit:

  • „Funnel scharf stellen" (Aktivierungs-Gate) einschalten.
  • „Ich sende verantwortungsvoll" (Sender-Opt-in) pro sendendem User

einschalten. Ohne Opt-in der Absende-Identität sendet die Engine NICHT.

  • Optional Tageslimit (Meta-Schutz) prüfen (Standard 50).
  1. Workflow bauen (siehe Abschnitt 3) und über „Online schicken"

veröffentlichen (Versionsbump + Doppel-Bestätigung). Nur veröffentlichte, aktive Workflows laufen.

3. Workflow anlegen und mit WhatsApp verbinden

Im Flow Builder gibt es keinen separaten WhatsApp-Modus — WhatsApp ist über Trigger und Aktionen Teil jedes Workflows.

Trigger (Auslöser):

  • „WhatsApp-Antwort erhalten" — reaktiv: startet, wenn ein Kontakt schreibt

(optional Schlüsselwort-Filter).

  • „Manuelle Kontakt-Auswahl" — für den gedrosselten Batch-Drip: in der

Kontaktliste mehrere Kontakte markieren → Bulk-Aktion „Workflow" → diesen Workflow wählen. Der Versand wird über ein Drip-Fenster (Std.) mit Jitter verteilt (Meta-sicher, durabel über den Minuten-Cron).

Aktionen (Auswahl):

  • „WhatsApp-Vorlage senden" — genehmigte Vorlage (Content-SID); funktioniert

auch außerhalb des 24h-Fensters.

  • „KI antwortet auf WhatsApp (mit Ziel)" — Claude-Freitext im offenen

24h-Fenster; Feld „Ziel der KI" steuert das Gesprächsziel.

  • „WhatsApp-Frage senden & auf Antwort warten" — pausiert den Lauf bis zur

Antwort (Funnel-Schritt).

  • „Freie Termin-Slots abrufen" + „Termin buchen (KI wählt den Slot)"

siehe Abschnitt 5.

Verbindung „hinterlegen": Es genügt, den Workflow zu veröffentlichen und (für Batch) über die Bulk-Aktion „Workflow" zu starten bzw. (reaktiv) den Trigger „WhatsApp-Antwort erhalten" zu nutzen. Der Inbound-Webhook ruft die Engine automatisch auf.

4. Das 24h-Branching

WhatsApp erlaubt freien Text nur innerhalb von 24 Stunden nach der letzten eingehenden Nachricht des Kontakts. Die Engine pflegt dafür contacts.last_whatsapp_inbound_at.

Im Builder über einen Filter-/Pfad-Knoten mit Feld „WhatsApp-Fenster (24h)":

  • window_open → Kunde hat < 24h geschrieben → KI-Freitext erlaubt

(whatsapp_ai_reply, whatsapp_ask, WhatsApp senden).

  • window_closed → Fenster zu → nur genehmigte Vorlage

(WhatsApp-Vorlage senden) zur Reaktivierung; sobald der Kunde wieder antwortet, öffnet sich das Fenster und der Flow läuft nahtlos weiter.

Wichtig: Freitext-Aktionen prüfen das Fenster zusätzlich selbst und brechen außerhalb ab (window_closed) — der Vorlagen-Pfad ist der vorgesehene Weg nach außen.

5. Terminbuchung anhängen

Im Funnel ohne Link — die KI bietet echte Zeiten an und bucht:

  1. „Freie Termin-Slots abrufen" (Event-Typ + Tage-Vorlauf) — legt die nächsten

freien Slots in den Kontext.

  1. „KI antwortet auf WhatsApp" — bietet die Slots konkret an und fragt, welcher

passt (kein Link).

  1. „WhatsApp-Frage senden & auf Antwort warten" — wartet auf die Wahl.
  2. „Termin buchen (KI wählt den Slot)" — ordnet die Antwort einem Slot zu und

bucht (Google-Event/Meet, Bestätigung, Reminder über den Cron).

Kontakt-Anlage (Event-Typ-Einstellung „Kontakt automatisch anlegen"):

  • An (Standard): Unbekannte E-Mail → Kontakt wird neu angelegt, dann

Leadstatus gesetzt (über „Status nach Buchung"). Bekannte E-Mail → nur Status.

  • Aus: Unbekannte E-Mail → Gast-Buchung (Termin ohne CRM-Kontakt).
  • Im Event-Typ-Editor gibt es eine Test-Box: E-Mail eingeben → „Prüfen" zeigt

ohne echte Buchung, was passieren würde.

6. Compliance & Kill-Switch (rechtlich beachten)

  • Einwilligung/Opt-in der Empfänger: WhatsApp-Erstansprache nur an Kontakte,

die zugestimmt haben. Außerhalb 24h ausschließlich genehmigte Vorlagen.

  • Opt-out/STOP: Schreibt ein Kontakt „STOP" (bzw. Stopp, Unsubscribe,

Abmelden, Abbestellen, Optout — exakt; bzw. eindeutige Wörter führend), wird er zentral abgemeldet, laufende Funnel-Läufe werden gestoppt und eine Bestätigung gesendet. Abgemeldete werden bei JEDEM Versand geprüft (fail-safe).

  • Tageslimit (daily_cap, Standard 50): schützt vor Meta-Sperren.
  • Sender-Opt-in (pro User) und Funnel scharf stellen: ohne beide sendet

die Engine nicht — Schutz gegen versehentlichen Massenversand.

  • Not-Aus (Kill-Switch): Workflows → „WhatsApp · Erweitert" → „Funnel-Sicherheit"

Not-Aus. Stoppt SOFORT alle laufenden Drips + wartenden Schritte der ganzen Org und entwaffnet den Funnel. Doppelt bestätigt.

7. Troubleshooting

SymptomUrsache / Lösung
KI antwortet nichtKein Org-Anthropic-Key (workspace_ai) → KI-Karte ausfüllen.
Gar kein Versand, Lauf zeigt blocked_*blocked_not_armed → Funnel scharf stellen. blocked_sender_not_opted_in → Sender-Opt-in. blocked_opted_out → Empfänger ist abgemeldet. blocked_check_failed → DB/Prüfung nicht erreichbar (fail-safe).
Versand stoppt nach X/Tagdaily_cap erreicht → Limit prüfen.
Inbound kommt nicht anTwilio-Webhook falsch/fehlt, oder WA-Nummer keinem Workspace zugeordnet (twilio_whatsapp_number). Diagnose: Tabelle whatsapp_unrouted.
Außerhalb 24h keine Freitext-AntwortErwartet — window_closed. Vorlagen-Pfad nutzen.
Vorlage nicht wählbarTwilio-Template nicht genehmigt / nicht geladen.
Termin wird nicht gebuchtEvent-Typ ohne freie Slots oder Host-Google-Kalender nicht verbunden.
Drip läuft nicht weiterVercel-Cron /api/cron/workflow-tick inaktiv? (jede Minute nötig).