clockodo

n8n module for clockodo

Package Information

Released: 2 mo ago
Downloads: 15 weekly / 147 monthly
Latest Version: 1.3.2

Documentation

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) und Subprojekte (Subproject) verwalten, Services verwalten, Abwesenheiten (Absence) verwalten, Teams verwalten, Mitarbeiter (User) verwalten sowie die Stoppuhr starten, anhalten oder anpassen.


Installation

  1. In n8n: Einstellungen (Zahnrad) → Community Nodes → Install
  2. Paketname eingeben: @t4dt/n8n-nodes-clockodo
  3. 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_key und affected_entries. 2. Aufruf mit gleichen Parametern und „Confirm Key“ (z. B. {{ $json.confirm_key }}) → Änderung wird ausgeführt, Antwort enthält success und edited_entries.
  • Delete – Einträge im Zeitraum (ggf. gefiltert) löschen. Zwei Stufen: wie bei Edit (erst confirm_key und affected_entries, dann mit confirm_key → success und deleted_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.

Subprojekte (Subproject, V3)

  • List – Subprojekte anzeigen (paginiert). Optional: Filter (Projekt-ID, aktiv, abgeschlossen), Sortierung.
  • Get by ID – Ein Subprojekt anhand der ID laden.
  • Create – Neues Subprojekt anlegen. Pflicht: Projekt-ID (übergeordnetes Projekt), Name. Optional: Aktiv, Nummer, Billable Default, Notiz, Deadline, Start-Datum, Budget (nested: monetary, hard, interval, amount).
  • Update – Subprojekt bearbeiten (alle Felder optional).
  • Delete – Subprojekt löschen. Optional: Dry Run, Force (Query-Parameter).
  • Complete – Subprojekt als abgeschlossen setzen (completed).

API: docs.clockodo.com – Subproject (getSubprojectsV3).

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


Lizenz: MIT · Autor: Robert Wall | T4DT GmbH – t4dt.de

Discussion