Artikel über: Integrationen
Dieser Artikel ist auch verfügbar in:

Webhooks in meetergo

Webhooks sorgen dafür, dass meetergo deine anderen Systeme automatisch benachrichtigt, wenn etwas Wichtiges passiert – etwa eine neue Buchung, eine Stornierung oder eine Terminverschiebung. Statt ständig nach Updates zu schauen, bekommen deine Systeme sofortige Benachrichtigungen. So bleibt alles synchron, ohne dass du einen Finger rühren musst.


Was sind Webhooks?


Stell dir Webhooks wie automatische Boten vor. Wenn in meetergo etwas passiert (zum Beispiel jemand bucht einen Termin), schicken wir eine Nachricht mit allen Details an eine Web-Adresse, die du angibst. Dein System empfängt diese Nachricht und kann dann tun, was nötig ist – dein CRM aktualisieren, eine Slack-Benachrichtigung senden, eine E-Mail-Sequenz auslösen oder was auch immer.


Webhooks in meetergo einrichten


So richtest du einen Webhook ein:


  1. Geh zu Integrationen & Apps und such dort den Webhooks-Bereich
  2. Klick auf "Webhook einrichten"
  3. Gib die URL ein, an die du Benachrichtigungen erhalten möchtest (das ist eine Adresse, die dein System oder deine Integrationsplattform bereitstellt)
  4. Wähl aus, über welche Ereignisse du benachrichtigt werden möchtest
  5. Klick auf "Webhook erstellen"


Sobald du das gespeichert hast, schickt meetergo Benachrichtigungen an deine URL, wann immer diese Ereignisse eintreten. Jede Benachrichtigung enthält vollständige Informationen darüber, was passiert ist – dein System hat also alles, was es braucht, um zu reagieren.


Verfügbare Webhook-Ereignisse


meetergo verschickt Webhooks für drei Haupttypen von Ereignissen. Jedes Ereignis liefert spezifische Informationen, die dein System nutzen kann.


  • Neue Terminbuchung – Wird ausgelöst, wenn jemand einen neuen Termin bucht. Du bekommst alle Buchungsdetails, inklusive Teilnehmerinformationen, Terminzeit, Hosts und die Terminseite.
  • Terminabsagen – Wird ausgelöst, wenn eine Buchung storniert wird. Die Daten enthalten die gleichen Informationen wie bei einer erstellten Buchung, plus Stornierungsdetails.
  • Terminverschiebungen – Wird ausgelöst, wenn jemand einen Termin auf eine andere Zeit verlegt. Das beinhaltet sowohl die ursprüngliche Startzeit als auch alle Details des neu geplanten Termins.


Webhook-Payloads verstehen


Wenn meetergo einen Webhook sendet, enthält er eine "Payload" – das Informationspaket darüber, was passiert ist. Die Payload besteht aus strukturierten Daten, die dein System problemlos lesen und nutzen kann.


Bei erstellten und stornierten Buchungen stehen die Informationen auf der obersten Ebene. Bei verschobenen Buchungen findest du die ursprüngliche Startzeit ganz oben und alle Details der neuen Buchung verschachtelt darunter. Diese Struktur macht es einfach zu vergleichen, was sich geändert hat.


Deine Webhooks testen


Nachdem du einen Webhook eingerichtet hast, buch einen Test-Termin oder löse das Ereignis manuell aus, um sicherzugehen, dass alles funktioniert. Überprüf dein empfangendes System, um zu bestätigen, dass die Benachrichtigung mit allen erwarteten Informationen angekommen ist. Falls etwas nicht klappt, prüf, ob deine URL korrekt und öffentlich erreichbar ist.


Sicherheitsaspekte


Webhooks senden Daten über das Internet, deshalb sollte deine empfangende URL sicher sein (mit HTTPS). Jede Webhook-Payload enthält ein Secret-Feld, mit dem du überprüfen kannst, dass die Anfrage wirklich von meetergo kommt. Gib deine Webhook-URLs niemals öffentlich weiter und teile sie nicht an unsicheren Orten.


Webhook-Datenreferenz


Hier findest du die genaue Struktur der Daten, die meetergo für jeden Ereignistyp sendet. Deine Entwickler können das nutzen, um Integrationen zu bauen.


Buchungsereignis-Payload (booking_createdbooking_cancelled)

{
"id": "uuid",
"secret": "string",
"start": "2024-01-15T10:00:00.000Z",
"end": "2024-01-15T11:00:00.000Z",
"location": "string | null",
"isCancelled": false,
"rescheduledAt": "2024-01-14T12:00:00.000Z | null",
"meetingInfo": { },
"cancel": { },
"ics": "string",
"note": "string | null",
"hostingInfo": { },
"attendees": [
{
"id": "uuid",
"email": "attendee@example.com",
"phone": "+1234567890",
"firstname": "John",
"lastname": "Doe",
"fullname": "John Doe",
"timezone": "Europe/Berlin",
"language": "en",
"notes": "string | null",
"attendeeEnrichment": { }
}
],
"hosts": [
{
"id": "uuid",
"email": "host@example.com",
"givenName": "Jane",
"familyName": "Smith",
"fullName": "Jane Smith",
"slug": "jane-smith",
"picture": "https://..."
}
],
"hostIds": ["uuid"],
"meetingType": {
"id": "uuid",
"slug": "30-min-call",
"meetingInfo": { },
"meetingOptions": { },
"crmOptions": { }
},
"meetingTypeId": "uuid",
"paymentId": "string | null",
"companyId": "uuid",
"createdAt": "2024-01-14T09:00:00.000Z",
"updatedAt": "2024-01-15T08:00:00.000Z"
}


Neue Mitarbeiter-Payload (new_employee)

{
"id": "uuid",
"email": "user@example.com",
"givenName": "John",
"familyName": "Doe",
"fullName": "John Doe",
"companyId": "uuid",
"userType": "USER | ADMIN | COMPANY_ADMIN",
"createdAt": "2024-01-15T10:00:00.000Z"
}


Terminverschiebungs-Payload (booking_rescheduled)

{
"oldStartDate": "2024-01-15T10:00:00.000Z",
"rescheduledAppointment": {
"id": "uuid",
"secret": "string",
"start": "2024-01-16T14:00:00.000Z",
"end": "2024-01-16T15:00:00.000Z",
"location": "string | null",
"isCancelled": false,
"rescheduledAt": "2024-01-15T12:00:00.000Z",
"meetingInfo": { },
"cancel": { },
"ics": "string",
"note": "string | null",
"hostingInfo": { },
"attendees": [
{
"id": "uuid",
"email": "attendee@example.com",
"phone": "+1234567890",
"firstname": "John",
"lastname": "Doe",
"fullname": "John Doe",
"timezone": "Europe/Berlin",
"language": "en",
"notes": "string | null",
"attendeeEnrichment": { }
}
],
"hosts": [
{
"id": "uuid",
"email": "host@example.com",
"givenName": "Jane",
"familyName": "Smith",
"fullName": "Jane Smith",
"slug": "jane-smith",
"picture": "https://..."
}
],
"hostIds": ["uuid"],
"meetingType": {
"id": "uuid",
"slug": "30-min-call",
"meetingInfo": { },
"meetingOptions": { },
"crmOptions": { }
},
"meetingTypeId": "uuid",
"paymentId": "string | null",
"companyId": "uuid",
"createdAt": "2024-01-14T09:00:00.000Z",
"updatedAt": "2024-01-15T12:00:00.000Z"
}
}


Wichtiger Unterschied: booking_rescheduled enthält oldStartDate auf der obersten Ebene und verschachtelt die Termindaten unter rescheduledAppointment, während booking_created und booking_cancelled die Termindaten direkt auf der Root-Ebene senden.


FAQ


Kann ich Webhooks für bestimmte Terminseiten filtern?


Webhooks werden für alle Terminseiten in deinem Account ausgelöst. Wenn du nur bestimmte Termine verarbeiten möchtest, kannst du sie in deinem System über die meetingType.id-Information in der Payload filtern.


Wie schnell werden Webhooks nach einem Ereignis verschickt?


Webhooks werden sofort verschickt, wenn das Ereignis eintritt. In den meisten Fällen erhält dein System die Benachrichtigung innerhalb von Sekunden.


Brauche ich einen Entwickler, um Webhooks einzurichten?


Den Webhook in meetergo einzurichten ist unkompliziert, aber du brauchst technische Hilfe, um den empfangenden Endpunkt zu bauen, der die Benachrichtigungen verarbeitet. Wenn du eine Integrationsplattform wie Zapier oder Make nutzt, bieten die oft fertige Webhook-Empfänger an.

Aktualisiert am: 17/11/2025

War dieser Beitrag hilfreich?

Teilen Sie Ihr Feedback mit

Stornieren

Danke!