REST-API

Webhooks und Benachrichtigungen

Lass dir neue Anfragen, Übergaben und Termine in Echtzeit an einen eigenen Endpunkt, an Zapier, Make, Slack oder Microsoft Teams melden.

Wofür

Statt die API ständig abzufragen, meldet Lymbe dir wichtige Ereignisse selbst: eine neue Anfrage, eine angeforderte Übergabe an einen Menschen oder einen Termin. Das richtest du je Assistent ein, im Abschnitt Benachrichtigungen.

Einstellungen → Webhooks liefert derzeit nichts ausUnter Einstellungen → Webhooks kannst du Workspace-Webhooks anlegen. Diese werden zurzeit nicht verschickt, auch nicht mit Signatur oder Wiederholungen, wie die Seite beschreibt. Nutze für Meldungen in Echtzeit die Benachrichtigungen je Assistent auf dieser Seite.

Wo du es findest

  • Menüpfad: Bereichsübersicht → Zahnrad an der Assistenten-Kachel → Benachrichtigungen („Wohin neue Anfragen gemeldet werden“).
  • Recht: Assistenten bearbeiten.
  • Den Abschnitt gibt es erst, nachdem der Assistent einmal gespeichert wurde.

Ziele

ZielWas du eingibstRegel
E-MailEine E-Mail-Adresse–
SlackDie Webhook-URL eines Slack-KanalsNur Adressen unter hooks.slack.com
Microsoft TeamsDie Webhook-URL eines Teams-KanalsNur Adressen unter webhook.office.com bzw. office.com
Zapier, Make oder eigener EndpunktEine beliebige HTTPS-URLNur https://, keine Zugangsdaten in der URL, keine privaten oder lokalen Adressen

Ereignisse

Im Portalevent im JSONWann
Neue Anfrage erfasstlead.capturedEin Lead entsteht: im Widget, im Gespräch durch den Assistenten, durch einen Ablauf oder per POST /leads
Übergabe an einen Menschen angeforderthandover.requestedEin Besucher möchte mit deinem Team sprechen (siehe Live-Chat)
Termin angefragt oder gebuchtappointment.bookedEin Termin wird angefragt oder fest gebucht (siehe Termine)

Einrichten

  1. Öffne den Assistenten und scrolle zu Benachrichtigungen.
  2. Klicke auf Ziel hinzufügen und wähle die Art des Ziels.
  3. Trage Adresse oder URL ein und wähle die Ereignisse, die gemeldet werden sollen.
  4. Speichere und klicke auf Testen. Es erscheint „Probe abgeschickt“.
  5. Prüfe, ob die Probe angekommen ist. Unter dem Ziel siehst du „Zuletzt zugestellt“.

Was an deinen Endpunkt geht

Lymbe schickt ein POST mit JSON. Neben event, Zeitpunkt und Assistent enthält es genau einen der Blöcke lead, handover oder appointment.

lead.capturedjson
{
  "event": "lead.captured",
  "occurredAt": "2026-10-17T09:15:02.000Z",
  "bot": { "id": "BOT_ID", "name": "Website-Assistent" },
  "lead": {
    "id": "cmg9x8y7z0001",
    "name": "Max Mustermann",
    "email": "max@example.com",
    "phone": "+49 30 1234567",
    "company": "Beispiel GmbH",
    "message": "Bitte um Rückruf",
    "source": "widget",
    "conversationId": "cmg1a2b3c0001",
    "customFields": null
  }
}
handover.requestedjson
{
  "event": "handover.requested",
  "occurredAt": "2026-10-17T10:02:11.000Z",
  "bot": { "id": "BOT_ID", "name": "Website-Assistent" },
  "handover": {
    "id": "…",
    "conversationId": "cmg1a2b3c0002",
    "reason": "Frage zur Rechnung",
    "priority": "normal",
    "visitorName": "Erika Musterfrau",
    "visitorEmail": "erika@example.com"
  }
}
appointment.bookedjson
{
  "event": "appointment.booked",
  "occurredAt": "2026-10-17T11:30:00.000Z",
  "bot": { "id": "BOT_ID", "name": "Website-Assistent" },
  "appointment": {
    "id": "…",
    "status": "confirmed",
    "start": "2026-10-21T08:00:00.000Z",
    "end": "2026-10-21T08:30:00.000Z",
    "timezone": "Europe/Berlin",
    "purpose": "Beratung",
    "visitorName": "Erika Musterfrau",
    "visitorEmail": "erika@example.com",
    "conversationId": "cmg1a2b3c0003",
    "provider": "…"
  }
}

appointment.status ist pending (angefragt) oder confirmed (gebucht).

Beispiel-Empfänger

Node.js (Express)javascript
app.post('/lymbe-hook', express.json(), (req, res) => {
  const { event, bot } = req.body;
  if (event === 'lead.captured') {
    // in dein CRM übernehmen …
  }
  res.sendStatus(200); // schnell antworten, Arbeit danach erledigen
});

Zustellung und Grenzen

RegelWert
VersucheEin Versuch je Ereignis, keine Wiederholung
Zeitlimit8 Sekunden; danach gilt die Zustellung als fehlgeschlagen
WeiterleitungenWerden nicht verfolgt. Gib die endgültige URL ein.
SignaturKeine. Schütze deinen Endpunkt mit einer langen, geheimen URL.
AbschaltenNach 10 Fehlschlägen hintereinander wird das Ziel abgeschaltet
FehleranzeigeDer letzte Fehler steht am Ziel: HTTP-Status und bis zu 120 Zeichen der Antwort

Ein abgeschaltetes Ziel holst du mit Wieder einschalten zurück. Mit Pausieren hältst du es selbst an.

Die ProbeDie Probe schickt immer eine lead.captured-Nachricht mit dem Namen „Probelauf“ und der Adresse probe@example.com, auch wenn das Ziel dieses Ereignis gar nicht abonniert hat. So kannst du sie in deinem System leicht herausfiltern.

Fehlerbehebung

ProblemLösung
URL wird nicht angenommenNur https://, keine Zugangsdaten wie user:pass@, keine internen Adressen. Slack und Teams nur mit ihren offiziellen Webhook-Adressen.
Ziel ist abgeschaltetFehlertext am Ziel lesen, Endpunkt reparieren, dann Wieder einschalten.
Meldungen kommen doppelt nicht anEs gibt keine Wiederholungen. Antwortet dein Endpunkt zu langsam oder mit Fehler, ist die Meldung verloren. Den Lead findest du trotzdem im Lead-Posteingang.
301/302 vom EndpunktTrage die Ziel-URL nach der Weiterleitung ein, z. B. mit abschließendem Schrägstrich.

Mehr Logik als eine Meldung? Mit Abläufen reagierst du auf dieselben Ereignisse mit beliebigen Schritten.