Clockodo API:
Webhooks

Webhooks ermöglichen es, auf Ereignisse (Events) in Clockodo in Echtzeit zu reagieren. Bei Eintritt eines definierten Events sendet unser System automatisch eine HTTP-POST-Anfrage an eine von Ihnen angegebene URL. So können Sie eigene Workflows anstoßen oder externe Systeme automatisieren und synchronisieren.

Unterstützte Webhook-Ereignisse

Entity Event-Typen  
User (Benutzer) • user.created (Erstellung)
• user.updated (Aktualisierung)
• user.deleted (Löschung)
 
Absence (Abwesenheit) • absence.created (Erstellung)
• absence.updated (Aktualisierung)
• absence.deleted (Löschung)
• absence.approved (Genehmigung)
 
Customer (Kunde) • customer.created (Erstellung)
• customer.updated (Aktualisierung)
• customer.deleted (Löschung)
 
Project (Projekt) • project.created (Erstellung)
• project.updated (Aktualisierung)
• project.deleted (Löschung)
• project.completed (Abschluss)
 
Subproject (Unterprojekt) • subproject.created (Erstellung)
• subproject.updated (Aktualisierung)
• subproject.deleted (Löschung)
 
Service (Leistung) • service.created (Erstellung)
• service.updated (Aktualisierung)
• service.deleted (Löschung)
 
Team • team.created (Erstellung)
• team.updated (Aktualisierung)
• team.deleted (Löschung)
 
Lump Sum Service (Pauschalleistung) • lump_sum_service.created (Erstellung)
• lump_sum_service.updated (Aktualisierung)
• lump_sum_service.deleted (Löschung)
 
Holidays Carry (Urlaubsübertrag) • holidays_carry.created (Erstellung)
• holidays_carry.updated (Aktualisierung)
• holidays_carry.deleted (Löschung)
 
Holidays Quota (Urlaubskontingent) • holidays_quota.created (Erstellung)
• holidays_quota.updated (Aktualisierung)
• holidays_quota.deleted (Löschung)
 
Overtime Carry (Überstundenübertrag) • overtime_carry.created (Erstellung)
• overtime_carry.updated (Aktualisierung)
• overtime_carry.deleted (Löschung)
 
Nonbusiness Group (Feiertagsgruppe) • nonbusiness_group.created (Erstellung)
• nonbusiness_group.updated (Aktualisierung)
• nonbusiness_group.deleted (Löschung)
 
Work Time Change Request (Antrag auf Änderung der Arbeitszeit) • work_time_change_request.created (Erstellung)
• work_time_change_request.updated (Aktualisierung)
• work_time_change_request.deleted (Löschung)
 
Entry (Zeiteintrag) • entry.created (Erstellung)
• entry.updated (Aktualisierung)
• entry.deleted (Löschung)
• entry.started (Start)
• entry.stopped (Stop)
 

Webhook einrichten und bearbeiten

Webhook anlegen/bearbeiten

Unter Webhooks im Menü können Sie einen neuen Webhook anlegen oder einen bestehenden bearbeiten. Wählen Sie dabei das gewünschte Event (siehe Tabelle oben), geben Sie die Ziel-URL sowie ein Token an.

Webhook-Validierung

Beim erstmaligen Anlegen oder Ändern der URL muss der Webhook validiert werden. Dies dient der Sicherheit und stellt sicher, dass die Ziel-URL auch tatsächlich von Ihnen verwaltet wird.
Zur Validierung sendet Clockodo einen POST-Request an die von Ihnen angegebene URL mit folgendem Payload:

{
  "secret": "8ee3d438-fbfc-411c-a38a-25893becd505"
}

Das so erhaltene Secret tragen Sie entsprechend in der Eingabemaske in Clockodo ein.

Webhook-Payload

Jeder Webhook-Call wird als HTTP POST im JSON-Format an die konfigurierte URL gesendet. Das generelle Format ist wie folgt:

{
  "subscription_id": 42,
  "company_id": 1337,
  "occurred_at": "1986-05-10T17:02:00Z",
  "payload": {
    "team": {
      "id": 9001
    }
  },
  "event_name": "team.updated",
  "token": "My_Sup3r_T0k3n"
}
  • subscription_id
    Eindeutige ID der Webhook-Subscription
  • company_id
    ID Ihres Unternehmens bei Clockodo
  • occurred_at
    Zeitstempel des Ereignisses (ISO 8601, UTC)
  • event_name
    Typ des ausgelösten Events
  • payload
    Enthält die betroffene Entität und deren ID
  • token
    Ihr beim Anlegen gesetztes Token (zur Authentifizierung des bei Ihnen eingehenden Webhook-Requests)

Wir senden ausschließlich die ID der geänderten, erstellten oder gelöschten Entität und keine vollständigen Datensätze oder Deltas.

Dies hat mehrere Vorteile:

  • Datensicherheit
    Es werden keine sensiblen oder umfangreichen Informationen unnötig übertragen.
  • Aktualität der Daten
    Sie können nach Erhalt des Webhook-Events gezielt per API die aktuellen und vollständigen Daten abrufen. So vermeiden Sie Inkonsistenzen, die durch parallele Änderungen oder Verzögerungen entstehen könnten.
  • Reduzierung von Fehlerquellen
    Bei komplexen Datenstrukturen oder sich schnell ändernden Daten ist es sinnvoller, den jeweils aktuellen Stand abzufragen statt „alte“ Snapshots zu verarbeiten.
  • Flexibilität
    Ihr System entscheidet selbst, welche Informationen wann und in welcher Tiefe benötigt werden.

Best Practices und Hinweise

  • Validierung der Events
    Überprüfen Sie immer das Token und die Struktur der empfangenen Webhook-Daten.
  • Idempotenz
    Ihre Systeme sollten mehrfach eingehende, identische Events korrekt behandeln.
  • Logging
    Loggen Sie eingehende Webhook-Calls zu Debugging- und Nachverfolgungszwecken.
Test endet automatisch! Keine Kündigung notwendig.
Alle Funktionen 14 Tage kostenlos testen
Mit dem Absenden des Formulars akzeptieren Sie unsere AGB und unsere Datenschutz­erklärung und bestätigen, dass Sie Clockodo als Unternehmer nutzen.

Nutzen Sie die Erfahrungen von 10.000 weiteren Unternehmen:

Bechtle Mannheim LogoBechtlePeerigon LogoPeerigon GmbH
Phoenix Logistik LogoPhoenix LogistikFieda LogoFidea