Dokumentation

Free einrichten, Pro aktivieren, Video-Provider verbinden — Schritt für Schritt.

Free & Pro 2.2.52 Troubleshooting →

Schnellstart (Free)

  1. Free-ZIP von WordPress.org oder Entwickler-ZIP installieren.
  2. Plugin aktivieren — Datenbanktabellen werden angelegt.
  3. MeetFlow → Einstellungen → Allgemein: Dauer & Geschäftszeiten.
  4. MeetFlow → Einstellungen → E-Mail: Benachrichtigungs-Adresse, Verteiler, Texte & Erinnerungen.
  5. MeetFlow → Einstellungen → Design: optional eigenes CSS für Frontend und Admin.
  6. Shortcode auf einer Seite: [meetflow_booking]
MeetFlow Admin — Einstellungen Allgemein

Hinweis: Der Tab «E-Mail» ist im Free enthalten (Benachrichtigung, Verteiler, Erinnerungen, anpassbare Texte). Tabs «Design» und «Sprachen» (WordPress-Locale) gelten für Free und Pro. Pro ergänzt Video-Konferenzen und SMS.

Verfügbarkeit

MeetFlow → Kalender — Tage sperren, Ferien, Wochenenden blockieren.

Verfügbarkeitskalender

Design & Theme

Free & Pro: Das Buchungsformular übernimmt standardmässig Typografie, Farben und Buttons vom aktiven WordPress-Theme. Für Feintuning ohne Theme-Dateien zu bearbeiten:

MeetFlow → Einstellungen → Design

  • Eigenes CSS (Frontend) — zusätzliche Regeln für .meetflow-calendar (Shortcode-Formular, Zeitslots, Erfolgsmeldung)
  • Eigenes CSS (Admin) — MeetFlow-Admin (Buchungen, Kalender, Einstellungen, Pro-Tabs)

CSS-Variablen im Plugin (optional überschreiben):

.meetflow-calendar {
  --meetflow-accent: #0066cc;
  --meetflow-accent-text: #ffffff;
  --meetflow-border: rgba(0,0,0,.15);
  --meetflow-radius: 8px;
  --meetflow-gap: 1rem;
}

Pro-Meeting-Links und SMS ändern das Frontend-Layout nicht — dasselbe Formular, erweiterte Backend-Funktionen.

Sprachen & Übersetzungen

Free & Pro nutzen denselben Free-Core inkl. Textdomain kitech-meetflow.

Mitgelieferte Sprachen

  • Deutsch (de_DE, de_CH)
  • Französisch (fr_FR)
  • Italienisch (it_IT)

WordPress-Sprache

  1. Einstellungen → Allgemein → Sprache der Website — Frontend & E-Mails folgen der Site-Locale.
  2. Benutzer → Profil → Sprache — Admin-Oberfläche in persönlicher Sprache (wenn gesetzt).
  3. Nach WordPress.org-Release: zusätzliche Sprachen via Dashboard → Updates → Übersetzungen.

Sprach-Plugins

  • Loco Translate — Übersetzungen bearbeiten; Dateien in wp-content/languages/plugins/ überschreiben mitgelieferte .mo-Dateien.
  • Polylang / WPML / TranslatePress — MeetFlow lädt Texte neu, wenn die aktive Sprache wechselt (Frontend pro Sprachversion).

Pro-Provider-Tabs und Setup-Anleitungen sind ebenfalls übersetzt. In den Provider-Anleitungen unten stehen links die exakten Feldnamen der Anbieter-Konsole (deutsch, wo die Oberfläche deutsch ist) und rechts die Feldbezeichnung in MeetFlow — nicht einfach «Client ID» zu «Client ID» kopieren, sondern jeweils das richtige Feld an der richtigen Stelle.

Pro installieren & Lizenz

  1. Free muss aktiv sein (2.2.11+ empfohlen; mindestens 2.2.7).
  2. Plan wählen: Launch · Grow · Scale (Freemius).
  3. Pro-ZIP hochladen — Ordner pro/ wird geladen.
  4. MeetFlow → License — Lizenzschlüssel eingeben oder Inhaber registrieren.
  5. Provider unter Einstellungen → Video Conference verbinden.
Lizenzseite mit Key-Eingabe

Ausführliche Anleitungen auch im Plugin unter Einstellungen → Setup Guide.

Microsoft Teams / Azure

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → Microsoft Teams. Die Umleitungs-URI und alle IDs immer aus MeetFlow kopieren — pro Umgebung (z. B. dev.lireno.ch / Produktion) anpassen.

So liest du die Tabellen: Spalte links = exakter Name in der Azure-Konsole (deutsche Oberfläche). Spalte rechts = Feld in MeetFlow, wie es im Admin angezeigt wird. Der Wert wird von links nach rechts übertragen — die Bezeichnungen sind oft nicht identisch (z. B. «Anwendungs-ID (Client)» → «Client-ID»).

1) App-Registrierung

  1. Azure-PortalMicrosoft Entra IDApp-Registrierungen+ Neue Registrierung.
  2. Name: MeetFlow (oder Site-Name).
  3. Unterstützte Kontotypen: «Nur Konten in diesem Organisationsverzeichnis» (Single-Tenant, üblich) oder «Konten in einem beliebigen Organisationsverzeichnis» (Multi-Tenant).
  4. Umleitungs-URI (optional): Plattform Web, URI exakt aus MeetFlow kopieren:
    https://dev.lireno.ch/wp-admin/admin.php?page=meetflow-settings&auth=microsoft
  5. Registrieren klicken.
Azure — Neue App-Registrierung (Name, Kontotyp, Umleitungs-URI)

2) IDs und geheimer Clientschlüssel

Übersicht der App-Registrierung und Zertifikate & Geheimnisse.

In der Azure-Konsole (exakter Name)In MeetFlow (Feldname)
ÜbersichtAnwendungs-ID (Client) Client-IDVideokonferenz → Microsoft Teams
ÜbersichtVerzeichnis-ID (Mandant) (GUID) Tenant-IDVideokonferenz → Microsoft Teams — bei Single-Tenant nicht common eintragen
Zertifikate & GeheimnisseGeheime Clientschlüssel+ Neuer geheimer Clientschlüssel → Spalte Wert (nur direkt nach Erstellung sichtbar) Client SecretVideokonferenz → Microsoft Teams — Passwortfeld; leer lassen, wenn unverändert
AuthentifizierungUmleitungs-URIs (Typ Web) — falls nicht bei Registrierung gesetzt Wert aus MeetFlow-Feld Redirect-URI (nur kopieren, nicht einfügen)Gleiche URL wie oben
Azure — Übersicht (Anwendungs-ID, Verzeichnis-ID) + geheimer Clientschlüssel

3) API-Berechtigungen

  1. API-Berechtigungen+ Berechtigung hinzufügenMicrosoft GraphDelegierte Berechtigungen.
  2. Aktivieren: Calendars.ReadWrite, OnlineMeetings.ReadWrite, User.Read.
  3. Administratorzustimmung für … erteilen (Button oben in der Berechtigungsliste).
Azure — API-Berechtigungen + Administratorzustimmung

4) In MeetFlow verbinden

  1. Werte aus Schritt 2 in die drei Felder Client-ID, Client Secret, Tenant-ID eintragen.
  2. Einstellungen speichern (unten auf der Seite).
  3. Button Mit Microsoft verbinden → Anmeldung mit Microsoft-Konto abschliessen.
  4. Provider-Karte Microsoft Teams wählen → Verbindung testen.

Fehler AADSTS50194: Bei Single-Tenant-App die Verzeichnis-ID (Mandant) aus Azure eintragen — nicht common.

MeetFlow — Teams verbunden, Test erfolgreich

Zoom

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → Zoom. Die Zoom Marketplace-Oberfläche ist auf Englisch — Feldnamen dort wörtlich übernehmen.

1) OAuth-App anlegen

  1. Zoom MarketplaceDevelopBuild App.
  2. App-Typ: OAuth → Variante User-managed app (nicht Account-level).
  3. App name: MeetFlowCreate.
Zoom Marketplace — OAuth App (User-managed)

2) Redirect URL und Scopes

Im App-Menü links: App credentials und Scopes.

In Zoom Marketplace (exakter Name)Wert / MeetFlow
Redirect URL for OAuth (unter App credentials) URL aus MeetFlow Redirect-URI kopieren:
https://dev.lireno.ch/wp-admin/admin.php?page=meetflow-settings&auth=zoom
OAuth allow list (falls separat angezeigt) Gleiche Domain/URL wie Redirect URL
Scopes → hinzufügen: meeting:write:meeting, meeting:read:meeting, user:read:user (oder äquivalente Meeting-/User-Scopes) — (nur in Zoom konfigurieren)
Zoom — Redirect URL for OAuth + Scopes

3) Anmeldedaten kopieren

In Zoom (App credentials)In MeetFlow (Feldname)
Client ID Client-IDVideokonferenz → Zoom
Client Secret («Show» / neu generieren falls nötig) Client SecretVideokonferenz → Zoom — Passwortfeld

App im Marketplace auf Activated stellen (nicht nur Entwurf). Unter Information ggf. Kurzbeschreibung ausfüllen.

Zoom — Client ID und Client Secret

4) In MeetFlow verbinden

  1. Einstellungen speichernMit Zoom verbinden → Zoom-Konto autorisieren.
  2. Provider Zoom wählen → Testbuchung → Join-Link in Bestätigung prüfen.

Zoom Pro-Konto oder höher empfohlen für API-Meeting-Erstellung.

MeetFlow — Zoom verbunden

Google Meet / Google Calendar

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → Google Meet. Google Cloud Console kann auf Deutsch gestellt werden — unten die deutschen Menü- und Feldnamen.

1) Projekt und API

  1. In der Google Cloud Console oben ein Projekt wählen oder Neues Projekt anlegen.
  2. APIs und DiensteBibliothek → «Google Calendar API» suchen → Aktivieren.
  3. Branding und Login-Texte später im OAuth-Zustimmungsbildschirm (Schritt 2).
Google Cloud — Projekt + Calendar API aktiviert

2) OAuth-Zustimmungsbildschirm

APIs und DiensteOAuth-Zustimmungsbildschirm

Feld in der Google-KonsoleBeispielwert
NutzertypExtern (Tests mit Testnutzern) oder Intern (nur Google Workspace-Organisation)
App-NameMeetFlow oder MeetFlow Google Calendar
E-Mail-Adresse des Nutzersupportsingo.z.ch@gmail.com
Autorisierte Domainslireno.ch (ohne https://)
Testnutzer (bei Nutzertyp «Extern» im Testmodus)Google-Konto, mit dem du OAuth testest
Google — OAuth-Zustimmungsbildschirm

3) OAuth-Client erstellen

APIs und DiensteAnmeldedatenAnmeldedaten erstellenOAuth-Client-ID

Feld in der Google-KonsoleWert
AnwendungstypWebanwendung
NameMeetFlow Google OAuth
Autorisierte JavaScript-Quellenhttps://dev.lireno.ch
Autorisierte Weiterleitungs-URIshttps://dev.lireno.ch/wp-admin/admin.php?page=meetflow-settings&auth=google — 1:1 aus MeetFlow Redirect-URI kopieren

Nach Erstellen zeigt Google ein Dialogfenster mit Client-ID und Clientschlüssel — beides notieren (Clientschlüssel später nicht mehr vollständig sichtbar).

Google — OAuth-Client (Webanwendung, Quellen, Weiterleitungs-URIs)

4) In MeetFlow eintragen

In Google (OAuth 2.0-Client)In MeetFlow (Feldname)
Client-ID (lange Zeichenkette, endet oft auf .apps.googleusercontent.com) Client-IDVideokonferenz → Google Meet
Clientschlüssel (in Google so benannt — nicht «Client Secret») Client SecretVideokonferenz → Google Meet — MeetFlow nutzt hier die englische Bezeichnung «Client Secret»
  1. Einstellungen speichern.
  2. Mit Google verbinden — Testnutzer muss in Schritt 2 hinterlegt sein, solange die App im Testmodus ist.
  3. Provider Google Meet wählen → Testbuchung mit Meet-Link.
MeetFlow — Google Meet verbunden

Cisco Webex

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → Cisco Webex. Webex Developer Portal ist auf Englisch.

1) Integration erstellen

  1. developer.webex.comMy Webex AppsCreate a new app → Typ Integration.
  2. Integration name: MeetFlow.
  3. Redirect URI(s): exakt aus MeetFlow:
    https://dev.lireno.ch/wp-admin/admin.php?page=meetflow-settings&auth=webex
  4. Add Integration / speichern.
Webex — Integration anlegen + Redirect URI

2) Scopes (Bereiche)

Unter der Integration Scopes aktivieren:

  • meeting:schedules_read
  • meeting:schedules_write

Je nach Org-Richtlinie ggf. zusätzliche Meeting-Scopes. Ältere Docs nennen spark:all — für MeetFlow reichen die Meeting-Schedule-Scopes.

Webex — Scopes

3) OAuth-Bereich Client ID / Client Secret

In Webex (OAuth settings)In MeetFlow (Feldname)
Client ID Client-IDVideokonferenz → Cisco Webex
Client Secret («Show» / Regenerate) Client SecretVideokonferenz → Cisco Webex
Webex — Client ID und Client Secret

4) In MeetFlow verbinden

  1. Einstellungen speichernMit Webex verbinden → Webex-Konto autorisieren.
  2. Verbindung testen — bei Erfolg Status «Mit Webex verbunden».
MeetFlow — Webex verbunden

WhatsApp (Grow+)

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → WhatsApp. Zwei Wege: Meta Cloud API (Produktion) oder Twilio Sandbox (schneller Test).

Option A — Meta Cloud API

  1. developers.facebook.comApp erstellen → Typ Business.
  2. Produkt WhatsApp hinzufügen → Menü WhatsAppAPI Setup (oder «Erste Schritte»).
  3. Webhook unter Configuration eintragen (siehe Tabelle).
In Meta (WhatsApp → API Setup / Configuration)In MeetFlow (Feldname)
Phone number ID Phone Number IDVideokonferenz → WhatsApp → Provider «Meta Business API»
WhatsApp Business Account ID Business Account ID
Temporary access token (Test) oder permanenter Systemnutzer-Token (Produktion) Access Token (Passwortfeld)
Callback URL (Webhook) https://dev.lireno.ch/wp-json/meetflow/v1/whatsapp/webhook — in MeetFlow unter Webhook-Hinweis sichtbar
Verify token (Webhook, selbst gewählt) Webhook Verify Token — identischer Text in Meta und MeetFlow
Meta — WhatsApp API Setup

Option B — Twilio WhatsApp Sandbox

In MeetFlow: Provider-Dropdown Twilio wählen (nicht Meta).

In Twilio Console (Sandbox settings)In MeetFlow (Feldname)
Account SID (auch unter Account Dashboard → Account Info) Account SID
Auth Token («Show» klicken) Auth Token
From (Sandbox-Nummer, Format whatsapp:+14155238886) WhatsApp Number — exakt inkl. Präfix whatsapp:
Sandbox participants — Join-Befehl join … auf dem Handy — (Voraussetzung vor Test)
Twilio — WhatsApp Sandbox

Telegram

MeetFlow-Tab: MeetFlow → Einstellungen → Videokonferenz → Telegram. Bot-Erstellung läuft in der Telegram-App über @BotFather (englische Befehle).

1) Bot erstellen

  1. Telegram öffnen → @BotFather suchen → Chat starten.
  2. Befehl /newbot senden.
  3. Display name (Anzeigename) und username (muss auf bot enden) eingeben.
  4. BotFather antwortet mit HTTP API token — die lange Zeichenkette kopieren.
Bei @BotFatherIn MeetFlow (Feldname)
Token-Zeile nach /newbot (z. B. 7123456789:AAH…) Bot Token
Telegram — BotFather /newbot + Token

2) Chat-ID ermitteln

  1. Dem neuen Bot eine beliebige Nachricht senden (privater Chat).
  2. Im Browser öffnen:
    https://api.telegram.org/bot<DEIN_TOKEN>/getUpdates
  3. Im JSON unter result[0].message.chat.id die Zahl ablesen (bei Gruppen negative ID).
In getUpdates-JSONIn MeetFlow (Feldname)
chat.id Chat ID
getUpdates — chat.id im JSON

3) In MeetFlow testen

  1. Einstellungen speichern → Provider Telegram wählen.
  2. Testbuchung oder Benachrichtigung auslösen → Nachricht im Telegram-Chat prüfen.
MeetFlow — Telegram konfiguriert

SMS (Twilio)

MeetFlow-Tab: MeetFlow → Einstellungen → SMS-Erinnerung (nicht Videokonferenz). Twilio-Feldnamen sind in MeetFlow identisch übernommen — dort 1:1 kopieren.

Twilio API — was in MeetFlow eingetragen werden muss

Bei SMS-Anbieter → Twilio (Standard) reichen Account SID, Auth Token und Phone Number. MeetFlow verbindet sich automatisch mit der Twilio-REST-API — eine API-URL musst du dafür nicht eintragen.

Twilios Standard-Basis-URL für die REST-API ist https://api.twilio.com/2010-04-01. SMS werden intern über Ressourcen-Endpunkte versendet, z. B. /Accounts/{AccountSID}/Messages.json.

Das Feld Custom API URL gilt nur, wenn du als SMS-Anbieter «Custom API» wählst — etwa für einen eigenen SMS-Gateway oder eine Middleware. Dann trägst du die Basis-URL deines Dienstes ein, nicht die aus der Twilio Console.

Andere Twilio-APIs (z. B. Intelligence API unter https://intelligence.twilio.com) werden von MeetFlow für SMS-Erinnerungen nicht benötigt.

1) Account Info

Twilio ConsoleAccount Dashboard → Bereich Account Info

In Twilio (Account Info)In MeetFlow (Feldname)
Account SID Account SIDSMS-Erinnerung → Twilio Console → Account Info
Auth Token (Button Show) Auth Token
Twilio — Account Info

2) Telefonnummer (SMS)

  1. Phone NumbersManageActive numbers.
  2. Buy a number (oder bestehende Nummer wählen) — Capability SMS muss aktiv sein.
  3. Nummer im Format E.164 notieren (z. B. +41791234567).
In Twilio (Active numbers)In MeetFlow (Feldname)
Spalte Number (SMS-fähig) Phone Number
Twilio — Active numbers (SMS)

3) SMS-Erinnerung konfigurieren

  1. Häkchen Send SMS reminders before meetings (DE: «SMS-Erinnerungen vor Terminen senden»).
  2. Reminder in advance (hours) — z. B. 24 für einen Tag vorher.
  3. Texte mit Platzhaltern: {name}, {date}, {time}, {meeting_link}, {hours}.
  4. Optional: Admin SMS number für Kopien an dich.
  5. Einstellungen speichern.
MeetFlow — Tab SMS-Erinnerung

4) Test

  1. Testbuchung mit Mobilnummer im Buchungsformular.
  2. SMS auf dem Gerät prüfen; bei Problemen: Twilio → MonitorLogsMessaging.
SMS auf Testgerät / Twilio Messaging Logs

Reports (Grow+)

MeetFlow-Menü: MeetFlow → Reports. Voraussetzung: Plan Grow oder Scale (Pro 2.2.42+).

  • Statistik-Karten: Total, Pending, Confirmed, Cancelled — stornierte Buchungen sind immer enthalten.
  • Zeitraum-Filter: Standard ±1 Jahr. Filter by umschaltbar:
    • Appointment date — nach Termindatum (auch zukünftige Termine)
    • Created date — nach Erstellungsdatum der Buchung
  • Tabellen: nach Status, nach Meeting-Provider, pro Tag, plus Liste aller Buchungen im Zeitraum.
  • REST-Endpoint: GET /wp-json/meetflow/v1/stats (Admin-Authentifizierung) — Parameter date_from, date_to, date_field=booking_date|created_at.
Buchung fehlt im Report? Prüfe den Zeitraum: Eine heute erstellte Buchung mit Termin nächste Woche erscheint beim Filter «Appointment date» unter dem Termindatum — alternativ auf «Created date» umschalten. Siehe Troubleshooting Reports.

Webhooks (Grow+)

MeetFlow-Tab: MeetFlow → Einstellungen → Integrations. Voraussetzung: Plan Grow oder Scale (Pro 2.2.52+ empfohlen).

MeetFlow sendet JSON-POST-Requests an deine URLs, wenn Buchungen erstellt oder storniert werden — für CRM, Slack, Zapier, Make, n8n oder eigene Apps.

1) Webhook einrichten

  1. Webhook URLs: eine URL pro Zeile — Beispiele:
    • Zapier Catch Hook: https://hooks.zapier.com/hooks/catch/…/…/
    • n8n Webhook-Node: https://deine-n8n.ch/webhook/meetflow-booking
    • Make Custom Webhook: https://hook.eu1.make.com/…
    • Test: webhook.site
  2. Events: «Booking created» und/oder «Booking cancelled» aktivieren.
  3. Optional Signing secret: MeetFlow signiert Requests mit Header X-MeetFlow-Signature (HMAC SHA-256 über den Body, Format sha256=…).
  4. Einstellungen speichern — der Test-Button liest nur gespeicherte URLs.
  5. «Send test webhook» klicken → Erfolgsmeldung «Test webhook sent successfully».

2) Payload

Test-Event: webhook.test. Echte Events: booking.created / booking.cancelled mit vollständigen Buchungsdaten:

{
  "event": "booking.created",
  "timestamp": "2026-07-08T12:00:00+00:00",
  "site_url": "https://deine-site.ch",
  "booking": {
    "id": 42,
    "booking_id": "MF-20260708-ABC",
    "status": "confirmed",
    "customer_name": "Jane Doe",
    "customer_email": "jane@example.com",
    "customer_phone": "+41791234567",
    "booking_date": "2026-07-15",
    "booking_time": "10:00",
    "duration": 30,
    "timezone": "Europe/Zurich",
    "provider": "teams",
    "meeting_url": "https://teams.microsoft.com/…"
  }
}

Header: Content-Type: application/json, X-MeetFlow-Event, optional X-MeetFlow-Signature.

Die Webhooks sind tool-agnostisch — dieselbe URL funktioniert mit Zapier, n8n, Make und eigenen Apps. Detaillierte Anleitungen: Zapier · n8n · Make.

Zapier

MeetFlow-Tab: MeetFlow → Einstellungen → Integrations. Webhooks: Plan Grow+. REST-Polling: Plan Scale — siehe Automation API.

Zwei Wege: sofortige Trigger über Webhooks (empfohlen) oder Polling über die REST-API mit API-Key.

Variante A — Sofort-Trigger (Catch Hook)

  1. In Zapier: Create Zap → Trigger «Webhooks by Zapier» → «Catch Hook».
  2. Die angezeigte Hook-URL kopieren (Format https://hooks.zapier.com/hooks/catch/…/…/).
  3. In MeetFlow: Einstellungen → Integrations → Webhook URLs einfügen → Event «Booking created» aktivieren → speichern.
  4. «Send test webhook» → in Zapier Test trigger → Beispieldaten erscheinen.
  5. Action in Zapier hinzufügen (z. B. Gmail, Slack, Google Sheets, WaNotifier) und Felder aus booking mappen.
  6. Zap veröffentlichen → echte Testbuchung machen.

Variante B — Polling (REST-API mit API-Key)

Details zum Endpoint und API-Key: Automation API (Scale). In Zapier: Trigger «Webhooks by Zapier → GET» mit Bookings-Endpoint und Header X-MeetFlow-API-Key.

Beispiel: WhatsApp-Nachricht via WaNotifier

Ziel: Bei jeder Buchung eine WhatsApp senden (an dich oder den Kunden). Vollständige WaNotifier-Anleitung inkl. API-Key: WaNotifier (WhatsApp).

  1. Zap wie in Variante A: Trigger Catch Hook ← MeetFlow-Webhook.
  2. Action: App WaNotifier → beim ersten Mal erscheint «Connect to Zapier» — API-Key aus WaNotifier einfügen (siehe API-Key finden).
  3. Aktion «Send Message Template (Via a Notification)» wählen.
  4. Mapping: Empfängernummer, Transactional Notification, Template-Variablen aus booking-Feldern.
  5. Test action → WhatsApp prüfen → Zap veröffentlichen.
Hinweis: Die WaNotifier-Aktion «Send Message (Within Active Session)» funktioniert nur, wenn der Empfänger innerhalb der letzten 24 Stunden geschrieben hat. Für Buchungsbestätigungen immer die Template-Variante nutzen.

WhatsApp: WaNotifier/Zapier oder direkt über Meta?

Für WhatsApp-Erinnerungen bei Buchungen gibt es zwei unabhängige Wege — du brauchst nicht beide.

WegWann sinnvollWo einrichten
Direkt Meta Cloud API WhatsApp-Erinnerungen nur aus MeetFlow (ohne Zapier). Weniger Bauteile, Credentials in MeetFlow. WhatsApp → Option A — Meta Cloud API
WaNotifier über Zapier Buchung → Zapier → WhatsApp (und ggf. weitere Actions: Sheets, Slack, CRM). Flexibel, aber Zap + WaNotifier-Konto nötig. Abschnitt oben + WaNotifier
Nicht vermischen: Meta Access Token / Phone Number ID in MeetFlow ≠ WaNotifier API-Key in Zapier. Für den direkten Meta-Weg brauchst du kein Zapier und kein WaNotifier.

WaNotifier (WhatsApp via Zapier)

WaNotifier verbindet WhatsApp Business mit Zapier. MeetFlow liefert die Buchungsdaten per Webhook — WaNotifier sendet die WhatsApp-Nachricht.

1) WaNotifier API-Key finden (für Zapier-Popup «Connect to Zapier»)

Wenn du in Zapier die WaNotifier-Action hinzufügst, erscheint ein Popup «Connect to Zapier» mit dem Feld «Enter API Key (required)». Dieser Key kommt aus deinem WaNotifier-Konto — nicht aus MeetFlow.

Pfad A (empfohlen — laut WaNotifier-Doku):
  1. In app.wanotifier.com einloggen.
  2. Linke Sidebar: AutomationsIntegrations.
  3. Bereich Direct Integrations → bei API Integration auf Manage klicken.
  4. Tab API Keys öffnen.
  5. Feld My API Key → Button Copy — Key in Zwischenablage.
Pfad B (alternativ — über Telefonnummer):
  1. Linke Sidebar: deine WhatsApp-Nummer (z. B. +41 76 739 91 88) aufklappen (Pfeil).
  2. Settings (Zahnrad) neben der Nummer.
  3. Tab API oder API Keys → Key kopieren.

Optional: Add New Key — eigenen Key nur für Zapier anlegen (empfohlen für Übersicht).

Zurück in Zapier: Key ins Popup einfügen → Connect. Zapier prüft den Key und bestätigt die Verbindung.

Key nicht sichtbar? Prüfe, ob du mit dem richtigen WaNotifier-Konto eingeloggt bist (dieselbe Organisation wie die verbundene WhatsApp-Nummer). Free-Trial oder unvollständige Nummern-Verifizierung können manche Tabs ausblenden. Bei Problemen: WaNotifier-Support über das Dashboard.

2) Transactional Notification in WaNotifier anlegen

Vor dem Mapping in Zapier — ohne diese Notification bleibt das Zapier-Feld Transactional Notification leer («No options are available»).

Voraussetzung: Zuerst ein Utility Message Template in WaNotifier anlegen und von Meta genehmigen lassen. Ohne genehmigtes Template kann keine Transactional Notification erstellt werden. Dauer: oft 24–48 Stunden.
  1. WaNotifier: Notifications → Add New (nicht «Broadcast» oder «Marketing»).
  2. Name: z. B. «MeetFlow Neue Buchung».
  3. Type: exakt Transactional / Integration / API (andere Typen erscheinen nicht in Zapier).
  4. Trigger: API request to a Webhook URL.
  5. Message Template: genehmigtes Utility-Template wählen.
  6. Webhook Request Data: Default (für Zapier «Send Message Template»).
  7. Speichern — Status muss On-going zeigen.

Prüfen: Unter Notifications muss die Kampagne sichtbar sein, Typ «Transactional», Status «On-going».

Zurück in Zapier:

  1. WaNotifier-Action öffnen → beim Account-Konto auf Reconnect oder Schritt neu laden.
  2. Feld Transactional Notification erneut öffnen — die Notification sollte im Dropdown erscheinen.

Immer noch leer? → Troubleshooting «No options available»

3) Zap: MeetFlow → WaNotifier

  1. Trigger: Webhooks by Zapier → Catch Hook ← MeetFlow-Webhook-URL (siehe Zapier).
  2. Action: WaNotifier → Send Message Template (Via a Notification).
  3. Beim ersten Mal: WaNotifier verbinden (API-Key aus Schritt 1).
  4. Felder mappen:
    Zapier-Feld (WaNotifier)MeetFlow-Webhook / Wert
    Recipient WhatsApp Number Feste Nummer +41767399188 (an dich) oder booking → customer_phone (an Kunde — mit Ländercode im Formular)
    Transactional Notification Die Notification aus Schritt 2 (Dropdown)
    Body Variables ({{1}}, {{2}} …) booking → customer_name, booking → booking_date, booking → booking_time
  5. Test Step → WhatsApp prüfen → Zap Publish.

Probleme? → Troubleshooting WaNotifier

n8n

Kein separates MeetFlow-Modul nötig — n8n nutzt dieselben Webhooks (Grow+) oder die Automation API (Scale) wie Zapier.

Variante A — Sofort-Trigger (Webhook-Node, empfohlen)

  1. In n8n: neuen Workflow anlegen → Node Webhook als Trigger.
  2. HTTP Method: POST · Path: z. B. meetflow-booking (frei wählbar).
  3. Workflow aktivieren → die Produktions-URL kopieren (z. B. https://deine-n8n.ch/webhook/meetflow-booking).
  4. In MeetFlow: Einstellungen → Integrations → Webhook URLs einfügen → «Booking created» aktivieren → speichern.
  5. «Send test webhook» in MeetFlow → in n8n auf «Listen for test event» / Execution-Log prüfen.
  6. Weitere Nodes hinzufügen: z. B. Slack, Gmail, HTTP Request (WaNotifier), Google Sheets.
  7. Felder aus dem Webhook-Body mappen: {{ $json.booking.customer_name }}, {{ $json.booking.booking_date }}, {{ $json.booking.booking_time }}, {{ $json.booking.meeting_url }}
  8. Echte Testbuchung → Execution in n8n prüfen.
Hinweis: n8n muss von deiner WordPress-Site per HTTPS erreichbar sein. Bei Self-Hosted: gültiges TLS-Zertifikat und keine Firewall-Blockade für ausgehende Requests von WordPress.

Variante B — Polling (Schedule + HTTP Request)

Plan Scale erforderlich. Siehe Automation API.

  1. Trigger: Schedule Trigger (z. B. alle 5 Minuten).
  2. Node HTTP Request:
    • Method: GET
    • URL: https://deine-site.ch/wp-json/meetflow/v1/integrations/bookings
    • Query: since = letzter Lauf (ISO-Zeitstempel), limit = 25
    • Header: X-MeetFlow-API-Key = Key aus MeetFlow Integrations
  3. Split In Batches oder Loop über bookings-Array → pro Buchung Aktion ausführen.

Beispiel: WhatsApp via WaNotifier

  1. Webhook-Trigger wie Variante A.
  2. Node HTTP Request → WaNotifier API (Template-Nachricht) oder WaNotifier-Community-Node falls installiert.
  3. Empfänger: feste Nummer oder {{ $json.booking.customer_phone }} (mit Ländercode).

Probleme? → Troubleshooting Integrations

Make (ehem. Integromat)

Kein separates MeetFlow-Modul nötig — Make nutzt dieselben Webhooks (Grow+) oder die Automation API (Scale).

Variante A — Sofort-Trigger (Custom Webhook, empfohlen)

  1. In Make: neues Szenario → Modul Webhooks → Custom webhook als Trigger.
  2. Webhook anlegen → die URL kopieren (Format https://hook.eu1.make.com/… oder US-Region).
  3. In MeetFlow: Einstellungen → Integrations → Webhook URLs einfügen → «Booking created» aktivieren → speichern.
  4. «Send test webhook» in MeetFlow → in Make «Determine data structure» / «Redetermine» — Make erkennt die JSON-Felder.
  5. Weitere Module hinzufügen: z. B. Gmail, Slack, Google Sheets, HTTP (WaNotifier).
  6. Felder mappen: booking.customer_name, booking.booking_date, booking.booking_time, booking.meeting_url
  7. Szenario aktivieren (Schalter ON) → echte Testbuchung.

Variante B — Polling (Schedule + HTTP)

Plan Scale erforderlich. Siehe Automation API.

  1. Trigger: Schedule (Intervall z. B. 5 Minuten).
  2. Modul HTTP → Make a request:
    • URL: https://deine-site.ch/wp-json/meetflow/v1/integrations/bookings?limit=25&since=…
    • Method: GET
    • Header: X-MeetFlow-API-Key = Key aus MeetFlow
  3. Iterator über das bookings-Array → pro Eintrag Aktion ausführen.

Beispiel: WhatsApp via WaNotifier

  1. Custom Webhook wie Variante A.
  2. Modul WaNotifier (falls im Make-Katalog) oder HTTP → Make a request zur WaNotifier-API.
  3. Template-Variablen aus booking-Feldern befüllen — immer genehmigtes WhatsApp-Template nutzen.

Probleme? → Troubleshooting Integrations

Automation API (Scale)

MeetFlow-Tab: MeetFlow → Einstellungen → Integrations (Abschnitt Zapier — technisch eine generische API für Zapier, n8n, Make und eigene Skripte). Plan Scale erforderlich.

Feld in MeetFlowVerwendung
Bookings endpoint GET https://deine-site.ch/wp-json/meetflow/v1/integrations/bookings
Query: since (ISO-Datum), status, limit (max. 100)
Einzelbuchung GET …/integrations/bookings/{id}
API key Header X-MeetFlow-API-Key oder Query api_key

Test per Terminal:

curl -s "https://deine-site.ch/wp-json/meetflow/v1/integrations/bookings?limit=10" \
  -H "X-MeetFlow-API-Key: DEIN_API_KEY"

«Regenerate API key» macht den alten Key sofort ungültig — alle Automationen (Zapier, n8n, Make) danach aktualisieren.

Für sofortige Reaktion auf neue Buchungen ist der Webhook-Trigger (Webhooks Grow+) zuverlässiger als Polling.

White Label (Scale)

MeetFlow-Tab: MeetFlow → Einstellungen → White label. Voraussetzung: Plan Scale (25 Sites).

White Label umfasst:

  • MeetFlow-Logo entfernen / eigenes Logo (URL)
  • Produktname im Frontend anpassbar
  • Eigene Farben (Tab Design / Appearance)
  • Eigene E-Mail-Absender (Tab E-Mail)
  • Eigene Buchungsseiten-Überschrift
  • Eigenes Favicon auf Seiten mit Buchungs-Shortcode
  • «Powered by KITech MeetFlow» entfernen
  • Eigene CSS-Anpassungen
  1. Häkchen für Powered-by / Logo setzen, Name, Titel, Logo-/Favicon-URLs und optional Custom CSS eintragen.
  2. Einstellungen speichern.
  3. Buchungsseite im Frontend neu laden (Cache leeren).

Entwickler: Branding-HTML über meetflow_branding_footer_html, Shortcode-Titel über meetflow_booking_shortcode_atts.

E-Mail & Benachrichtigungen

Free & Pro: Tab «E-Mail» unter MeetFlow → Einstellungen — gilt für beide Varianten (Pro nutzt dieselbe Free-Core-Oberfläche).

  • Benachrichtigungs-E-Mail — Hauptadresse für interne Infos
  • Verteiler (Distribution list) — weitere Adressen (Team, Assistenz, Gruppenpostfach), kommagetrennt oder zeilenweise
  • Admin-Kopie — Kopie jeder Bestätigung an Hauptadresse + Verteiler
  • E-Mail-Erinnerungen — automatische Erinnerung X Stunden vor dem Termin (optional Kopie an Verteiler)
  • Bestätigung & Stornierung inkl. ICS-Anhang via WordPress wp_mail
  • Betreff, Absendername und Texte anpassbar (Platzhalter: {name}, {date}, {time}, {booking_id}, {hours})
  • Für zuverlässige Zustellung SMTP-Plugin empfohlen (FluentSMTP, WP Mail SMTP)
  • Pro SMS-Reminder: separater Tab «SMS Reminder»; E-Mail-Verteiler bleibt im Tab «E-Mail»
  • Probleme? → Troubleshooting E-Mail

REST API

Namespace: meetflow/v1

EndpointMethodeBeschreibung
/timeslots?date=YYYY-MM-DDGETFreie Slots (öffentlich)
/bookingPOSTBuchung anlegen (öffentlich)
/booking/{id}GETDetails (Admin)
/bookingsGETListe (Admin)

Pro: /whatsapp/webhook, /stats (Admin), /integrations/bookings + /integrations/bookings/{id} (Scale, API-Key — siehe Automation API). Permalinks auf «Beitragsname» stellen.

WordPress.org (Free)

  • Kein Pro-Code, keine Trialware, keine externen API-Calls im Free-Build
  • Scripts via wp_enqueue_*, Escaping & Nonces
  • Plugin-URI: meetflow.kitech.ai

Vollständige Fehlerbehebung: Troubleshooting-Guide · Setup-Hilfe: Assistent unten rechts.

Versionshistorie

Aktueller Stand: Free & Pro 2.2.52 (veröffentlicht ). Auszug der Meilensteine — vollständiger Changelog im Plugin-readme.txt. Release-Daten als ISO YYYY-MM-DD.

Version Released Änderungen
v2.2.52 Freemius WordPress SDK auf 2.13.4 aktualisiert
v2.2.49 Scale: White Label erweitert (Logo, Markenname, Favicon, Custom-CSS)
v2.2.44 WordPress.org-Review: Design-Tab bereinigt, Text Domain an Plugin-Slug angeglichen
v2.2.43 Fix: «Send test webhook» / «Regenerate API key» (Nonce-Mismatch)
v2.2.42 Reports: erweiterter Zeitraum, Filter nach Termin-/Erstellungsdatum
v2.2.37 Grow+: Reports & Webhooks; Scale: Zapier-/Automation-REST-API
v2.2.26 Fix: Microsoft Teams OAuth (Tenant-ID = Directory-GUID)
v2.2.16 Pro: Video-Conference-Tab neu gestaltet; Plattform-Setup-Guides mit offiziellen API-Links
v2.2.10 i18n: WordPress-Locale, Polylang/WPML, Script-Translations
v2.2.6 Free: E-Mail-Tab dauerhaft sichtbar; Termin-Erinnerungen per E-Mail
v2.2.3 WP.org: Umbenennung auf KITech MeetFlow; Free-Build ohne Extension-Code
v2.2.0 Rebrand auf MeetFlow; Shortcode [meetflow_booking]; gehärtete REST-/AJAX-Endpunkte
v2.1.x Vorgänger-Releases unter früherem Plugin-Namen (MeetPress-Linie)
v1.0.0 Erstes Release: Terminbuchung, E-Mail mit ICS, REST API, Admin-Übersicht

MeetFlow v2.2.52 — ein Produkt von KITech

Setup-Assistent

Der MeetFlow Setup-Assistent (Chat unten rechts auf jeder Doku-Seite) unterstützt alle Provider-Setups mit Schritt-für-Schritt-Antworten. Dieselbe Komponente ist auch in SuperNav integrierbar.