MCP App Store
by KeenEthics
Business & Operations
KleanApp icon

KleanApp

by TOBIAS SCHITTKOWSKI

Overview

KleanApp connects ChatGPT to your existing KleanApp account for commercial cleaning and facility operations. Ask who is scheduled at each site, where shifts have uncovered gaps, which absences are pending, how planned and actual hours compare, and which time-tracking findings need attention. You can also query tickets, invoices, orders and quotes. Sign in through OAuth. Access is limited to your tenant and the permissions of the signed-in user. An existing KleanApp contract and account are required; this app does not offer self-registration. Tool descriptions and returned field names are currently in German. When enabled for your tenant and authorized through a read-write token, the app can add an action to an existing ticket, set or overwrite a custom field on its latest action, and send a user an email or push notification. Access can be restricted to read-only queries.

Tools

abwesenheiten_zu_benutzer

ChatGPT
Sucht Abwesenheiten des Mitarbeiters (Urlaube oder Krankheiten) zu einer Mitarbeiter-ID

abwesenheiten_zu_datum

ChatGPT
Sucht Abwesenheiten der Mitarbeiter (Urlaube oder Krankheiten) zu einem angegebenen Datum

compare_soll_ist_period

ChatGPT
Vergleicht Soll- und Ist-Stunden für einen Zeitraum und berechnet die Abweichungen. Parameter: von(Beginn, Format TT.MM.JJJJ), bis(Ende, Format TT.MM.JJJJ), optional groupBy (objekt|datum). Antwort: JSON-Liste {schlüssel, soll, ist, differenz, absolut}, sortiert nach größter absoluter Abweichung.

create_ticketaktion

ChatGPT
Legt eine neue Ticketaktion (Kommentar/Statuswechsel/Zuweisung) an einem bestehenden Ticket an. Pflicht: ticketId und text. Ohne benutzerId gilt die Aktion als Systemaktion und wird ohne Ersteller gespeichert. Aktualisiert bei Statuswechsel auch den Ticketstatus selbst und stößt denselben Eskalations-/Wiedervorlage-/Benachrichtigungs-Workflow wie im Web-UI an. Dieser kann je nach Konfiguration E-Mails, SMS und Push-Nachrichten an Mitarbeiter und externe Ticket-Ersteller senden; versendete Nachrichten können nicht zurückgenommen werden. Ein ticketstatusId wird gegen den Workflow der Ticketkategorie geprüft: erlaubt sind nur Status, die vom aktuellen Status des Tickets aus erreichbar sind — sonst kommt ein Fehler mit den erlaubten Status zurück.

fetch_documentation

ChatGPT
Liefert einen Eintrag der KleanApp Dokumentation zurück

get_ansprechpartner

ChatGPT
Liefert die Ansprechpartner mit Funktion, Telefon, Mobil und E-Mail. Parameter: optional auftraggeberId, optional objektId, optional suchtext (Name, substring). Ohne Filter kommen alle aktiven Ansprechpartner. Antwort: JSON-Liste {id, name, anrede, position, funktion, telefon, mobil, email, auftraggeberId, objektId, objekt, bemerkung}. Setzt das Recht 'CRM lesen' oder 'Stammdaten Auftraggeber' voraus.

get_anwesenheit

ChatGPT
Liefert den aktuellen Anwesenheitsstand der Mitarbeiter: wer ist jetzt im Einsatz, wer ist verspätet, wer hat Sollstunden ohne Kommen-Buchung, wer ist abwesend (Urlaub/Krank). Antwort: {stand, anzahl, zusammenfassung:{status:anzahl}, mitarbeiter:[{mitarbeiter, personalnummer, status, objekt, letztesKommen, letztesGehen, abweichungSollMinuten, sollstundenOhneKommen, abwesenheitsgrund}]}. Setzt das Recht 'Zeiterfassung lesen' voraus.

get_arbeitsnachweise

ChatGPT
Liefert Arbeitsnachweise/Arbeitsscheine eines Zeitraums (bezogen auf das Soll-Datum) mit Status, Art, Freigabestatus, Leistung, Menge, Objekt und Mitarbeiter. Parameter: von, bis (Format TT.MM.JJJJ), optional status ('Offen', 'Abgenommen', 'Verweigert', 'Storniert', 'Ausgefallen', 'Erledigt'), optional objektId, optional limit (Default 100, Max 500). Setzt das Fibu-Modul und das Recht 'Arbeitsnachweise' voraus.

get_auftraege

ChatGPT
Liefert Aufträge (Finanzen) mit Belegnummer, Empfänger, Status, Objekt und Leistungszeitraum. Parameter: optional status ('Laufend', 'Abgeschlossen'; leer = alle außer gelöschte), optional objektId, optional suchtext (Belegnummer/Empfänger), optional limit (Default 100, Max 500). Details inkl. Einzelposten liefert get_auftrag. Setzt das Fibu-Modul und das Recht 'Aufträge' (oder 'Aufträge nur lesen') voraus.

get_auftrag

ChatGPT
Holt einen Auftrag (Finanzen) mit allen Einzelposten: Abrechnungsart, Menge, Einheit, Netto-Einzelpreis, Gültigkeitszeitraum sowie Leistung bzw. Artikel als Preisherkunft. Setzt das Fibu-Modul und das Recht 'Aufträge' (oder 'Aufträge nur lesen') voraus.

get_crmaktion

ChatGPT
Holt eine einzelne CRM-Aktion mit allen Details und Kommentaren Geliefert werden nur Aktionen, die der Benutzer sehen darf: mit Objektbezug nur zu erlaubten Objekten, mit Auftraggeberbezug nur zu sichtbaren Auftraggebern, ohne beides nur die eigenen.

get_db1_auswertung

ChatGPT
Liefert die DB1-Auswertung (Deckungsbeitrag 1): Rechnungserlös gegen Soll-/Iststunden, Lohnkosten, kalkulatorische Lohnnebenkosten, Aufwände und Subunternehmerkosten je Einzelposten, Objekt oder Auftrag. Parameter: optional monat ('MM.JJJJ' für einen Monat oder 'JJJJ' für ein Gesamtjahr, Default aktueller Monat), optional gruppierung ('einzelposten', 'objekt' oder 'auftrag', Default 'objekt'), optional status (Rechnungsstatus; leer = alle außer storniert und gelöscht). Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus; ist der Parameter für das DB1-Recht aktiv, zusätzlich das Recht 'Auswertungen DB1'.

get_dienstplan

ChatGPT
Liefert die geplanten Dienstplan-Einsätze eines Zeitraums mit aufgelösten Serienterminen (jeder Termin einzeln, keine RRULE) und mit Namen von Mitarbeiter und Objekt. Parameter: von, bis (Format TT.MM.JJJJ), optional mitarbeiterId, optional objektId. Antwort: {anzahl, anzahlGekuerzt, einsaetze:[{mitarbeiterId, mitarbeiter, personalnummer, objektId, objekt, objektNummer, datum, von, bis, dauerStunden, pauseMinuten, istVertretung, bemerkung}]}. Für Summen je Mitarbeiter/Objekt/Tag/Woche stattdessen get_dienstplan_summe verwenden.

get_dienstplan_luecken

ChatGPT
Liefert gebuchte Leistungen aus laufenden Aufträgen, die im Dienstplan nicht verplant sind (Abrechnungsart 'Aufwand nach Arbeitsschein' ohne Dienstplan-Eintrag) — also Planungslücken. Parameter: von, bis (Format TT.MM.JJJJ, bezogen auf Belegdatum bzw. Leistungszeitraum des Auftrags), optional objektId. Antwort: {anzahl, leistungen:[{objekt, leistung, zeitraum, gesamtkontingentStunden, auftragNummer, auftragStatus, empfaenger, bemerkungIntern}]}. Setzt das Fibu-Modul und das Benutzerrecht 'Aufträge' voraus.

get_dienstplan_summe

ChatGPT
Liefert die geplanten Dienstplan-Stunden eines Zeitraums aggregiert (Serientermine sind aufgelöst, Pausen sind abgezogen). Parameter: von, bis (Format TT.MM.JJJJ), groupBy ('mitarbeiter', 'objekt', 'tag' oder 'woche'), optional mitarbeiterId, optional objektId. Antwort: {gruppierung, gesamtEinsaetze, gesamtStunden, zeilen:[{gruppe, anzahlEinsaetze, stunden, pauseStunden}]}, sortiert absteigend nach Stunden (bei 'tag'/'woche' chronologisch).

get_einsaetze

ChatGPT
Liefert die geplanten Dienstplan-Einsätze für einen Zeitraum. Parameter: von(Beginn, Format TT.MM.JJJJ), bis(Ende, Format TT.MM.JJJJ), optional mitarbeiterId, optional objektId. Antwort: JSON-Liste {dienstplanId, mitarbeiterId, objektId, startLokal, endLokal, recurrenceInfo, recurrenceException, vertretungFuerDienstplanId}. Hinweis: Bei gesetztem recurrenceInfo handelt es sich um einen wiederkehrenden Einsatz (RRULE); startLokal/endLokal beschreiben dann den Serien-Ausgangstermin.

get_feiertage

ChatGPT
Liefert die Feiertage eines Zeitraums für das Bundesland des Mandanten (nationale Feiertage immer inklusive). Parameter: von, bis (Format TT.MM.JJJJ). Antwort: {anzahl, bundesland, feiertage:[{datum, wochentag, name, bundesland, hinweis}]}. Für Planungsfragen über Feiertage hinweg immer dieses Tool nutzen, nie selbst rechnen.

get_intervall_single

ChatGPT
Liefert die Daten eines Intervalls mit der ID 'intervallId'

get_intervalle

ChatGPT
Liefert alle Intervalle in KleanApp

get_iststunden_datum

ChatGPT
Sucht die erfassten Arbeitszeiten (Ist-Stunden) in KleanApp für ein bestimmtes Datum

get_iststunden_mitarbeiter

ChatGPT
Sucht die erfassten Arbeitszeiten (Ist-Stunden) der letzten 60 Tage in KleanApp für eine bestimmten Mitarbeiter.

get_iststunden_period

ChatGPT
Erfasste Arbeitsstunden (Iststunden) für einen Zeitraum. Parameter: von(Beginn, Format TT.MM.JJJJ), bis(Ende, Format TT.MM.JJJJ), optional mitarbeiterId, optional objektId.Antwort: JSON-Liste aggregiert nach Objekt oder Datum, absteigend nach Stunden sortiert.

get_kunden

ChatGPT
Liefert alle Kunden in KleanApp

get_laufende_auftraege

ChatGPT
Liefert die laufenden Aufträge mit Belegnummer, Empfänger, Objekt, Leistungszeitraum und Netto-/Bruttosumme — dieselbe Auswertung wie das Portlet 'Laufende Aufträge' im Web. Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_meine_berechtigungen

ChatGPT
Liefert die Berechtigungen des abfragenden Benutzers: Name, Personalnummer, Admin-Kennzeichen, die Anzahl der für ihn sichtbaren Objekte, die aktiven Module des Mandanten, seine Benutzerrechte und je Themenbereich, ob die zugehörigen Tools Daten liefern werden. Vor Fragen zu Finanzen, Dienstplan, Zeiterfassung, Tickets, CRM oder Mitarbeiterdaten kann damit vorab geklärt werden, was beantwortbar ist.

get_mitarbeiter

ChatGPT
Liefert alle Mitarbeiter in KleanApp, auf die der abfragende Benutzer Zugriff hat (Mitarbeiter seiner Objekte). Personaldaten (Anschrift, Kontaktdaten, Ein-/Austritt, benutzerdefinierte Felder) kommen nur mit dem Recht 'Benutzerverwaltung', die Einsatzdaten (Arbeitszeiten, Urlaub) nur mit einem der Einsatzdaten-Rechte — sonst stehen diese Felder auf null.

get_mitarbeiter_single

ChatGPT
Liefert die Daten eines Mitarbeiters. Der Mitarbeiter wird über 'mitarbeiterId', 'uniqueId' oder 'personalnummer' identifiziert; sind mehrere Angaben gesetzt, gilt die Reihenfolge mitarbeiterId, uniqueId, personalnummer. Personaldaten und Einsatzdaten sind rechteabhängig und stehen ohne das jeweilige Recht auf null.

get_nutzungsart_single

ChatGPT
Liefert die Daten einer Nutzungsart mit der ID 'nutzungsartId'

get_nutzungsarten

ChatGPT
Liefert alle Nutzungsarten in KleanApp

get_objekt_single

ChatGPT
Holt die die Daten des Objekts mit der ID 'objektId'

get_objekte

ChatGPT
Liefert alle Objekte in KleanApp

get_objektgruppe_single

ChatGPT
Liefert die Daten einer Objektgruppe mit der ID 'objektgruppeId'

get_objektgruppen

ChatGPT
Liefert alle Objektgruppen in KleanApp

get_objektpausen

ChatGPT
Liefert Objektpausen (Zeiträume in denen ein Objekt nicht eingeplant wird). Parameter: optional objektId, optional von/bis (Format TT.MM.JJJJ). Bei gesetztem Zeitraum werden nur überschneidende Pausen zurückgegeben. Antwort: JSON-Liste {objektpauseId, objektId, objekt, objektNummer, von, bis, kommentar}.

get_objektzuordnung

ChatGPT
Sucht zu einer Mitarbeiter-ID alle Objekt-IDs in denen der Mitarbeiter arbeiten darf

get_offene_abwesenheitsantraege

ChatGPT
Liefert die offenen (noch nicht freigegebenen oder abgelehnten) Urlaubs- und Krankmeldungsanträge. Parameter: optional von, bis (Format TT.MM.JJJJ, Überschneidung mit dem Antragszeitraum; ohne Angabe alle offenen), optional art ('Urlaub' oder 'Krank'). Antwort: {anzahl, antraege:[{antragId, mitarbeiter, personalnummer, art, von, bis, tage, gestelltAm, vertretung, bemerkung}]}, sortiert nach Antragsdatum. Setzt eines der Abwesenheitsrechte voraus.

get_offene_angebote

ChatGPT
Liefert die offenen Angebote mit Belegnummer, Empfänger, Objekt, Belegdatum und Netto-/Bruttosumme. Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_offene_leistungen

ChatGPT
Liefert die noch nicht abgerechneten Leistungen je Monat (offene Beträge aus laufenden Aufträgen). Parameter: von, bis (Format TT.MM.JJJJ). Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_offene_rechnungen

ChatGPT
Liefert die offenen Rechnungen: überfällige (Fälligkeit überschritten) und in den nächsten Tagen fällige, jeweils mit Empfänger, Belegnummer, Fälligkeit, offenem Betrag und Mahnstufe. Parameter: optional tageZukunft (Vorschau für 'fällig', Default 14). Antwort: {ueberfaellig:{anzahl, summeOffen, rechnungen:[…]}, faellig:{…}}. Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_rechnung

ChatGPT
Holt eine einzelne Rechnung mit allen Details: Einzelposten (mit Menge, Einzelpreis, Leistung/Artikel), Zahlungseingängen, Mahnungen, Korrekturrechnungen und Summen inkl. offenem Bruttobetrag. Setzt das Fibu-Modul und das Recht 'Rechnungen' (oder 'Rechnungen nur lesen') voraus.

get_rechnungen

ChatGPT
Liefert Rechnungen eines Zeitraums (bezogen auf das Belegdatum) inkl. Status/Mahnstufe, Fälligkeit, Netto- und Bruttosumme sowie dem noch offenen Bruttobetrag (Rechnungssumme abzüglich Zahlungseingänge). Parameter: von, bis (Format TT.MM.JJJJ), optional status ('Offen', 'Bezahlt', 'Storniert', 'Mahnstufe1', 'Mahnstufe2', 'Mahnstufe3', 'InBearbeitung', …; leer = alle außer gelöschte), optional objektId, optional suchtext (Belegnummer/Empfänger), optional limit (Default 100, Max 500). Setzt das Fibu-Modul und das Recht 'Rechnungen' (oder 'Rechnungen nur lesen') voraus.

get_rendite

ChatGPT
Liefert die Rendite je Objekt oder je Kunde und Monat: Rechnungen netto gegen Personalkosten und Aufwände, inklusive Personalstunden und der prozentualen Abweichung (= Rendite). Der Zeitraum ergibt sich aus den Mandanten-Parametern der Renditeauswertung (Standard: letzte 6 Monate). Parameter: optional proKunde (false = je Objekt, true = je Auftraggeber). Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_sachkonten

ChatGPT
Liefert die Rechnungsumsätze je Sachkonto (Erlöskonto), aggregiert über alle nicht stornierten/gelöschten Rechnungen. Parameter: optional von, bis (Format TT.MM.JJJJ, bezogen auf den Leistungsmonat der Position) — ohne Angabe werden alle Positionen berücksichtigt. Antwort: {zeilen:[{sachkonto, anzahlPositionen, summeNetto, summeBrutto}], summeNetto, summeBrutto}. Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_sollstunden_datum

ChatGPT
Main source for planned working hours (Sollstunden). Parameters: datum(date DD.MM.YYYY).Response: JSON list {datum, sollstunden, mitarbeiterId, objektId, von, bis}.

get_sollstunden_period

ChatGPT
Geplante Arbeitsstunden (Sollstunden) für einen Zeitraum. Parameter: von(Beginn, Format TT.MM.JJJJ), bis(Ende, Format TT.MM.JJJJ), optional mitarbeiterId, optional objektId.Antwort: JSON-Liste aggregiert nach Objekt oder Datum, absteigend nach Stunden sortiert.

get_ticket

ChatGPT
Holt ein einzelnes Ticket mit allen Details, Aktionen und Kommentaren. Das Ticket wird entweder über ticketId oder über uniqueId identifiziert; sind beide angegeben, gilt ticketId. 'bilder' enthält die URLs der am Ticket hinterlegten Bilder/Dateien (leer, wenn keine vorhanden).

get_ticket_stats

ChatGPT
Liefert eine kompakte Statistik-Übersicht: Anzahl pro Status, offene pro Bearbeiter, Altersverteilung

get_ticketstatus

ChatGPT
Liefert die Gesamtliste der Ticketstatus: Id, Name, Aktionstext, die Flags istStart/istOffen/istInBearbeitung/istFertigFuerListe/istFertigFuerBenachrichtigungFaelligkeit/synchroApp/sendenNachL2, Schnellaktion, Hintergrundfarbe und den bei Statuswechsel automatisch zugewiesenen Benutzer. Mit ticketkategorieId werden nur die Status geliefert, die im Workflow dieser Kategorie vorkommen. Liefert die ticketstatusId für create_ticketaktion.

get_umsatz

ChatGPT
Liefert den Umsatz je Monat und Rechnungsstatus (offen, bezahlt, Mahnstufen) für die letzten Monate — dieselbe Auswertung wie das Verlaufs-Portlet im Web. Parameter: optional alterMonate (Anzahl Monate rückwirkend, Default 12). Antwort: {monate:[{monat, status, summe}], gesamt}. Setzt das Fibu-Modul und das Recht für die Finanzauswertungen voraus.

get_vertretungen

ChatGPT
Liefert bereits erfasste Vertretungen (wer vertritt wen). Parameter: optional mitarbeiterId (matcht vertretenen ODER vertretenden Mitarbeiter), optional von/bis (Format TT.MM.JJJJ). Antwort: JSON-Liste {vertretungId, vertretenerMitarbeiterId, vertretenerMitarbeiter, vertreterMitarbeiterId, vertreterMitarbeiter, start, ende}.

get_zeiterfassung_auffaelligkeiten

ChatGPT
Liefert die Befunde der Zeiterfassungsprüfung für einen Zeitraum: fehlende oder zu kurze Pausen, Ruhezeit- und Höchstarbeitszeit-Verstöße (ArbZG), Soll-Über-/Unterschreitungen, Buchungen trotz Abwesenheit und Auffälligkeiten der Stempelqualität. Parameter: von, bis (Format TT.MM.JJJJ), optional mitarbeiterId, optional schwere ('Hinweis', 'Warnung' oder 'Verstoss' — filtert auf mindestens diese Schwere). Antwort: {anzahl, zusammenfassung:{art:anzahl}, befunde:[{mitarbeiter, personalnummer, datum, art, schwere, regel, paragraph, beschreibung}]}, schwerste zuerst. Setzt das Recht 'Zeiterfassung lesen' voraus.

list_crmaktionen

ChatGPT
Listet CRM-Aktionen (E-Mails, Anrufe, Notizen) auf mit optionalen Filtern. Das Hauptwerkzeug um CRM-Kontext zu holen. Geliefert werden nur Aktionen, die der Benutzer sehen darf: mit Objektbezug nur zu erlaubten Objekten, mit Auftraggeberbezug nur zu sichtbaren Auftraggebern, ohne beides nur die eigenen.

list_documentation

ChatGPT
Listet Hilfe-/Dokumentationsartikel einer Kategorie auf (ohne Volltextsuche). Gültige Kategorien u. a.: Allgemein, Qualitätskontrolle, Ticketsystem, Zeiterfassung, Stammdaten, Webportal, App, Neuigkeiten, Finanzen, Tutorials, Dashboard, Schulungsmodul, Dienstplan, Inventar, Formulare, DigitaleHelfer, Reinigungsdokumentation. Leer = alle zugänglichen Artikel.

list_tickets

ChatGPT
Listet Tickets auf mit optionalen Filtern. Das Hauptwerkzeug um Ticket-Kontext zu holen.

search_crmaktionen

ChatGPT
Volltextsuche über CRM-Aktion-Texte. Numerische Eingaben matchen die CRM-Aktion-ID. Geliefert werden nur Aktionen, die der Benutzer sehen darf: mit Objektbezug nur zu erlaubten Objekten, mit Auftraggeberbezug nur zu sichtbaren Auftraggebern, ohne beides nur die eigenen.

search_documentation

ChatGPT
Durchsucht die KleanApp Dokumentation und liefert relevante Ergebnisse zurück

search_tickets

ChatGPT
Volltextsuche über Ticket-Texte und Kommentare. Numerische Eingaben matchen die Ticket-ID, Eingaben mit '-' die Ticketnummer.

send_email_benachrichtigung

ChatGPT
Sendet eine reine Text-E-Mail (kein HTML) an einen bestimmten Benutzer. Pflicht: benutzerId, betreff und text.

send_push_benachrichtigung

ChatGPT
Sendet eine Push-Nachricht (reiner Text, keine formatierten Inhalte) an einen bestimmten Benutzer. Titel max. 50 Zeichen, Text max. 160 Zeichen. Pflicht: benutzerId, titel und text.

set_ticket_custom_field_value

ChatGPT
Setzt oder überschreibt den Wert eines benutzerdefinierten Ticketfeldes an der letzten Aktion (nach Datum) eines bestehenden Tickets. Verwenden, wenn der Benutzer einen vorhandenen benutzerdefinierten Feldwert ändern möchte. Legt keine neue Feldvorgabe an. Das Feld wird über seine Bezeichnung identifiziert, die der Name einer beim Mandanten hinterlegten Feldvorgabe sein muss. Pflicht: ticketId, feldBezeichnung und feldWert (darf nicht leer sein). Existiert an der letzten Aktion bereits ein Feld dieser Vorgabe, wird dessen Wert überschrieben.

vertretungssuche

ChatGPT
Sucht mögliche Vertretungen für einen Mitarbeiter in einem bestimmten Objekt zu einem angegebenen Datum. Personaldaten der Kandidaten (Privatanschrift, Entfernung zur Privatanschrift, Arbeitszeiten und Einsatzlisten) liefert das Tool nur für Benutzer mit dem Recht Benutzerverwaltung oder BenutzervertretungBearbeiten; sonst bleiben diese Felder leer (null) und es kommen nur die betrieblichen Angaben (Name, Objekt, aktueller Einsatz, Entfernung zum Einsatzort).

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

61

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily