@t4dt/n8n-nodes-clockodo
v1.0.0
Published
n8n module for clockodo
Maintainers
Readme
Clockodo für n8n
Mit diesem Community-Node kannst du in n8n deine Clockodo-Zeiterfassung anbinden: Kunden verwalten, Zeiteinträge (Entries) verwalten, gruppierte Auswertungen (Entry Group) abrufen, Eintrags-Beschreibungen (Entry Text) abfragen, Projekte (Project) verwalten, Services verwalten, Abwesenheiten (Absence) verwalten, Teams verwalten, Mitarbeiter (User) verwalten sowie die Stoppuhr starten, anhalten oder anpassen.
Installation
- In n8n: Einstellungen (Zahnrad) → Community Nodes → Install
- Paketname eingeben:
@t4dt/n8n-nodes-clockodo - Installieren und n8n ggf. neu starten, wenn es angezeigt wird.
Der Node Clockodo erscheint dann in der Node-Liste (z. B. unter „Transform“).
Verbindung einrichten (Credentials)
Beim ersten Einsatz des Clockodo-Nodes wirst du nach Clockodo API-Zugangsdaten gefragt.
| Feld | Erklärung |
|----------|-----------|
| Base URL | In der Regel unverändert lassen: https://my.clockodo.com/api |
| E-Mail | Deine Clockodo-Anmelde-E-Mail |
| API-Key | Dein API-Schlüssel aus dem Clockodo-Konto (unter Einstellungen / API) |
| App-Name | Optional – z. B. „n8n“, damit Clockodo die Anfragen zuordnen kann |
Mit Test prüfst du, ob die Verbindung funktioniert.
Was du mit dem Node machen kannst
Kunden (Customer)
- List – Alle Kunden anzeigen (optional gefiltert: alle / nur aktive / nur inaktive).
- Get by ID – Einen bestimmten Kunden anhand seiner ID laden.
- Create – Neuen Kunden anlegen.
- Update – Bestehenden Kunden bearbeiten.
- Delete – Kunden löschen.
Bei List werden alle Kunden geladen; du musst dich nicht um Seiten oder Paginierung kümmern.
Uhr (Clock)
- Get Running – Den aktuell laufenden Zeiteintrag abrufen (falls einer läuft).
- Start – Uhr starten (neuer Zeiteintrag). Dafür brauchst du eine Kunden-ID und eine Service-ID aus Clockodo.
- Stop – Laufenden Eintrag anhalten (Eintrags-ID wird z. B. von „Get Running“ geliefert).
- Change Duration – Dauer des laufenden Eintrags anpassen.
Zeiteinträge (Entry)
- List – Zeiteinträge in einem Zeitraum anzeigen. Du gibst Von und Bis (Zeitraum) an; optional kannst du nach Kunde, Benutzer, Projekt, Service oder Abrechenbarkeit filtern.
- Get by ID – Einen bestimmten Zeiteintrag anhand seiner ID laden.
- Create – Neuen Zeiteintrag anlegen (Kunde, Service, Zeitraum und Abrechenbarkeit sind Pflicht; optional z. B. Projekt, Beschreibung).
- Update – Bestehenden Zeiteintrag bearbeiten.
- Delete – Zeiteintrag löschen.
Bei List werden alle Treffer im gewählten Zeitraum geladen; die Paginierung übernimmt der Node.
Gruppierte Zeiteinträge (Entry Group)
- List – Gruppierte Zeiteinträge in einem Zeitraum abrufen (z. B. nach Kunde, Projekt, Service). Pflicht: Zeitraum (Von/Bis) und Gruppierung (Multi-Auswahl: z. B. Kunde, Projekt, Service, User, Jahr/Monat/Woche/Tag, Abrechenbarkeit). Optional: Filter (User, Kunde, Projekt, Service, Lumpsum-Service, Abrechenbarkeit, Text, Budget-Typ), Rundung auf Minuten, Projektnamen mit Kunde versehen, Umsatzberechnung bei Hard-Budget-Projekten.
- Edit – Einträge im Zeitraum (ggf. gefiltert) in einem Schritt bearbeiten (z. B. Kunde, Service, Abrechenbarkeit setzen). Zwei Stufen: 1. Aufruf ohne „Confirm Key“ → API liefert
confirm_keyundaffected_entries. 2. Aufruf mit gleichen Parametern und „Confirm Key“ (z. B.{{ $json.confirm_key }}) → Änderung wird ausgeführt, Antwort enthältsuccessundedited_entries. - Delete – Einträge im Zeitraum (ggf. gefiltert) löschen. Zwei Stufen: wie bei Edit (erst
confirm_keyundaffected_entries, dann mitconfirm_key→successunddeleted_entries).
Eintrags-Beschreibungen (Entry Text, V3)
- List – Beschreibungen von Zeiteinträgen und Pauschal-Einträgen abfragen (getEntriesTextsV3). Pflicht: Modus (Add / Edit / Reports). Optional: Suchbegriff (term), Anzahl Items (1–800), Filter (Kunde, Projekte, Services, User, Abrechenbarkeit, Zeitraum time_since/time_until, Einzeltag day). Antwort: Liste mit id, label, value.
Projekte (Project, V4)
- List – Projekte anzeigen (getProjectsV4, paginiert). Optional: Filter (aktiv, abgeschlossen, Kunden-ID, Volltext), Scope (manageAccess), Sortierung.
- Get by ID – Ein Projekt anhand der ID laden.
- Create – Neues Projekt anlegen. Pflicht: Name, Kunden-ID. Optional: Aktiv, Nummer, Billable Default, Notiz, Deadline, Start-Datum, Budget (nested: monetary, hard, from_subprojects, interval, amount), Bill Service ID.
- Update – Projekt bearbeiten (alle Felder optional).
- Delete – Projekt löschen. Optional: Dry Run, Force (Query-Parameter).
- Set Billed – Abgerechneten Betrag setzen (V3: billed, billed_money).
- Complete – Projekt als abgeschlossen setzen (completed).
- Create Next Interval – Nächstes Budget-Intervall anlegen (Subprojekt, V2).
API: docs.clockodo.com/#tag/Project.
Services (Service, V4)
- List – Services anzeigen (getServicesV4, paginiert). Optional: Filter (aktiv/inaktiv, Volltext), Scope (manageAccess), Sortierung.
- Get by ID – Einen Service anhand der ID laden.
- Create – Neuen Service anlegen. Pflicht: Name. Optional: Aktiv, Nummer, Notiz, Bill Service ID.
- Update – Service bearbeiten (Name, Aktiv, Nummer, Notiz, Bill Service ID).
- Delete – Service löschen. Optional: Dry Run, Force (als Query-Parameter).
API: docs.clockodo.com/#tag/Service.
Teams (Team)
- List – Teams anzeigen (getTeamsV3, paginiert). Optional: Filter Scope (manageAbsences, viewAbsences, viewUserReports, viewUserReportsDetailed, viewPresences), Sortierung (id, name, auf-/absteigend), Items per Page (1–1000).
- Get by ID – Ein Team anhand der ID laden.
- Create – Neues Team anlegen. Pflicht: Name. Optional: Teamleiter (User-ID; 0 = keiner).
- Update – Team bearbeiten (Name, Teamleiter).
- Delete – Team löschen.
API: docs.clockodo.com/#tag/Team.
Benutzer (User)
- List – Benutzer (Mitarbeiter) anzeigen (getUsersV3, paginiert). Optional: Filter (aktiv/inaktiv, Volltext, Team-IDs), Sortierung.
- Get by ID – Einen Benutzer anhand der ID laden.
- Create – Neuen Benutzer anlegen. Pflicht: E-Mail, Name, Rolle (Worker/Owner). Optional: u. a. Team, Zeitzone, Wochenbeginn (analog zur Clockodo-UI: Montags oder Sonntags mit Wochenende Sa–So bzw. Fr–Sa), Abwesenheits- und Sperroptionen.
- Update – Benutzer bearbeiten (alle Felder optional).
- Delete – Benutzer löschen.
API: docs.clockodo.com/#tag/User.
Abwesenheiten (Absence)
- List – Abwesenheiten eines Jahres auflisten. Pflicht: Jahr. Optional: Filter nach User-ID (sonst alle bzw. aktueller Benutzer).
- Get by ID – Eine Abwesenheit anhand der ID laden.
- Create – Abwesenheit oder Abwesenheitsantrag anlegen. Pflicht: Von-Datum, Bis-Datum, Typ (z. B. Urlaub, Krankheit, Homeoffice). Optional: User-ID (sonst aktueller API-Benutzer), Notiz, Tage/Stunden, Status (angefragt/genehmigt), Krankschreibung.
- Update – Abwesenheit bearbeiten (Datum, Typ, Status, Notiz, Tage/Stunden, Krankschreibung).
- Delete – Abwesenheit löschen (nur möglich bei bereits stornierter oder abgelehnter Abwesenheit; Rechte für Abwesenheitsverwaltung nötig).
Weitere Infos zu Clockodo
- Clockodo API-Dokumentation – Details zu den API-Endpunkten und Parametern.
Lizenz: MIT · Autor: Robert Wall | T4DT GmbH – t4dt.de
