Skip to content
Version 20260714.1

Anwendungsfälle & Beispiele

Workflows können in vielen Bereichen von Argon ERP zur Prozessoptimierung eingesetzt werden. Diese Seite stellt detaillierte, praxisnahe Beispiele vor, die Ihnen als Vorlage oder Inspiration für Ihre eigenen Workflows dienen können.

Jedes Beispiel enthält:

  • Ziel und Geschäftskontext: Welches Problem wird gelöst?
  • Verwendete Knoten: Welche Komponenten werden eingesetzt?
  • Detaillierter Ablauf: Schritt-für-Schritt-Beschreibung des Workflows
  • Konfigurationstipps: Wichtige Einstellungen und Hinweise
  • Erweiterungsmöglichkeiten: Wie kann der Workflow angepasst werden?

1. Genehmigungsprozess für Bestellanforderungen

Ziel und Geschäftskontext

Automatisierung des Genehmigungsprozesses für Bestellanforderungen basierend auf dem Gesamtbetrag. Bestellanforderungen unter einem bestimmten Schwellenwert werden automatisch genehmigt, während höhere Beträge die Freigabe durch den Abteilungsleiter erfordern.

Geschäftsvorteile:

  • Reduzierung der Bearbeitungszeit für kleine Bestellungen
  • Konsistente Anwendung von Genehmigungsregeln
  • Vollständige Nachvollziehbarkeit aller Genehmigungen
  • Automatische Benachrichtigungen für alle Beteiligten

Verwendete Knoten

  • Start: Objekt-Ereignis (Bestellanforderung erstellt)
  • Kontrollfluss: Bedingung prüfen (mehrfach)
  • Aktionen:
    • Freigabe anfordern (für manuelle Genehmigung)
    • E-Mail senden (Statusbenachrichtigungen)
    • SQL-Abfrage oder Objekt laden (Statusänderungen)
  • Ende: Workflow beenden

Detaillierter Workflow-Ablauf

1. START: Objekt-Ereignis "Bestellanforderung erstellt"
   └─ Konfiguration:
      * Objekt-Typ: Bestellanforderung
      * Ereignis: created
      * Optional: Bedingung, um nur bestimmte Bestellanforderungen zu verarbeiten

2. BEDINGUNG PRÜFEN: "Ist Gesamtbetrag > 1000€?"
   ├─ Bedingung: {{context.entity.Gesamtbetrag}} > 1000

   ├─ JA (über 1000€):
   │  └─> 3. FREIGABE ANFORDERN: "Abteilungsleiter-Genehmigung"
   │     └─ Konfiguration:
   │        * Freigabebeauftragter: Abteilungsleiter (aus Objekt ermittelt)
   │        * E-Mail-Benachrichtigung: Ja
   │        * Zeitlimit: 48 Stunden
   │        * Externe Freigabe: Optional konfigurierbar
   │     │
   │     └─> 4. BEDINGUNG PRÜFEN: "Wurde Freigabe erteilt?"
   │        ├─ Bedingung: {{context.approval.approved}} == true
   │        │
   │        ├─ JA (Genehmigt):
   │        │  └─> 5. SQL-ABFRAGE: "Status auf 'Genehmigt' setzen"
   │        │     └─ UPDATE Bestellanforderung 
   │        │        SET Status = 'Genehmigt',
   │        │            GenehmigtAm = GETDATE(),
   │        │            GenehmigtVon = '{{context.approval.approvedBy}}'
   │        │        WHERE ID = {{context.entity.ID}}
   │        │     │
   │        │     └─> 6. E-MAIL SENDEN: "Genehmigung an Ersteller"
   │        │        └─ An: {{context.entity.ErstellerEmail}}
   │        │           Betreff: "Ihre Bestellanforderung wurde genehmigt"
   │        │           Inhalt: "Ihre Bestellanforderung {{context.entity.Nummer}} 
   │        │                   wurde von {{context.approval.approvedBy}} genehmigt."
   │        │        │
   │        │        └─> ENDE: Workflow beenden
   │        │
   │        └─ NEIN (Abgelehnt):
   │           └─> 7. SQL-ABFRAGE: "Status auf 'Abgelehnt' setzen"
   │              └─ UPDATE Bestellanforderung 
   │                 SET Status = 'Abgelehnt',
   │                     AbgelehntAm = GETDATE(),
   │                     AbgelehntVon = '{{context.approval.rejectedBy}}'
   │                 WHERE ID = {{context.entity.ID}}
   │              │
   │              └─> 8. E-MAIL SENDEN: "Ablehnung an Ersteller"
   │                 └─ An: {{context.entity.ErstellerEmail}}
   │                    Betreff: "Ihre Bestellanforderung wurde abgelehnt"
   │                    Inhalt: "Ihre Bestellanforderung {{context.entity.Nummer}} 
   │                            wurde abgelehnt. Grund: {{context.approval.rejectionReason}}"
   │                 │
   │                 └─> ENDE: Workflow beenden

   └─ NEIN (unter 1000€):
      └─> 9. SQL-ABFRAGE: "Status auf 'Automatisch genehmigt' setzen"
         └─ UPDATE Bestellanforderung 
            SET Status = 'Genehmigt',
                GenehmigtAm = GETDATE(),
                GenehmigtVon = 'System (Automatisch)',
                Genehmigungsgrund = 'Betrag unter Schwellenwert'
            WHERE ID = {{context.entity.ID}}

         └─> 10. E-MAIL SENDEN: "Automatische Genehmigung an Ersteller"
            └─ An: {{context.entity.ErstellerEmail}}
               Betreff: "Ihre Bestellanforderung wurde automatisch genehmigt"
               Inhalt: "Ihre Bestellanforderung {{context.entity.Nummer}} 
                       wurde automatisch genehmigt (Betrag unter 1000€)."

            └─> ENDE: Workflow beenden

Konfigurationstipps

  • Schwellenwert anpassbar machen: Verwenden Sie eine Systemvariable oder Objektfeld für den Schwellenwert, damit dieser ohne Workflow-Änderung angepasst werden kann
  • Genehmiger dynamisch ermitteln: Nutzen Sie die Hierarchie des Organigramms, um den genehmigungsberechtigten Abteilungsleiter automatisch zu ermitteln
  • Zeitlimit für Freigaben: Setzen Sie realistische Zeitlimits (z.B. 48-72 Stunden) und implementieren Sie Eskalationen bei Überschreitung
  • Fehlerbehandlung: Fügen Sie Fehlerpfade hinzu für den Fall, dass die E-Mail nicht versendet werden kann oder die Datenbankoperation fehlschlägt

Erweiterungsmöglichkeiten

  • Mehrstufige Genehmigungen: Bei sehr hohen Beträgen (z.B. >10.000€) zusätzliche Freigabe durch Geschäftsführung
  • Budgetsprüfung: Vor Genehmigung prüfen, ob noch Budget verfügbar ist
  • Automatische Bestellung: Nach Genehmigung automatisch Bestellung beim Lieferanten auslösen
  • Kategorie-basierte Genehmigungen: Unterschiedliche Genehmiger je nach Artikelkategorie
  • Historische Analyse: Speicherung von Genehmigungsstatistiken für Reporting

2. Artikelstammdaten-Validierung

Ziel und Geschäftskontext

Automatische Qualitätssicherung von Artikelstammdaten bei Erstellung oder Änderung. Der Workflow prüft wichtige Felder auf Vollständigkeit und Plausibilität und benachrichtigt relevante Teams bei Problemen.

Geschäftsvorteile:

  • Höhere Datenqualität durch automatische Prüfungen
  • Frühe Erkennung von Datenfehlern
  • Automatische Zuordnung von Korrekturaufgaben
  • Nachweisbare Datenqualität für Compliance

Verwendete Knoten

  • Start: Objekt-Ereignis (Artikel erstellt oder aktualisiert)
  • Kontrollfluss: Bedingung prüfen (mehrfach, sequenziell)
  • Aktionen:
    • E-Mail senden (Benachrichtigungen)
    • Aufgabe erstellen (Korrekturaufgaben)
    • SQL-Abfrage (Statusupdates)

Detaillierter Workflow-Ablauf

1. START: Objekt-Ereignis "Artikel erstellt/aktualisiert"
   └─ Konfiguration:
      * Objekt-Typ: Artikel
      * Ereignisse: created, updated
      * Optional: Bedingung, um nur bestimmte Artikel zu prüfen

2. BEDINGUNG PRÜFEN: "Ist Beschreibung leer oder zu kurz?"
   ├─ Bedingung: {{context.entity.Beschreibung}} == null 
   │           OR LEN({{context.entity.Beschreibung}}) < 10

   ├─ JA (Fehler):
   │  └─> 3. AUFGABE ERSTELLEN: "Beschreibung vervollständigen"
   │     └─ Konfiguration:
   │        * Titel: "Artikel {{context.entity.Artikelnummer}}: Beschreibung fehlt"
   │        * Beschreibung: "Artikel {{context.entity.Artikelnummer}} hat keine 
   │                         oder eine zu kurze Beschreibung."
   │        * Zugewiesen an: Datenpflege-Team
   │        * Priorität: Normal
   │        * Fälligkeitsdatum: Heute + 3 Tage
   │        * Verknüpfung: Artikel {{context.entity.ID}}
   │     │
   │     └─> 4. E-MAIL SENDEN: "Benachrichtigung Datenpflege"
   │        └─ An: Datenpflege-Team
   │           Betreff: "Artikelvalidierung: Beschreibung fehlt"
   │           Inhalt: "Artikel {{context.entity.Artikelnummer}} benötigt 
   │                   eine vollständige Beschreibung."
   │        │
   │        └─> ENDE: Workflow beenden (weitere Prüfungen überspringen)

   └─ NEIN (OK):
      └─> 5. BEDINGUNG PRÜFEN: "Ist Verkaufspreis <= Einkaufspreis?"
         ├─ Bedingung: {{context.entity.Verkaufspreis}} <= {{context.entity.Einkaufspreis}}

         ├─ JA (Fehler):
         │  └─> 6. AUFGABE ERSTELLEN: "Preisprüfung erforderlich"
         │     └─ Konfiguration:
         │        * Titel: "Preisprüfung: {{context.entity.Artikelnummer}}"
         │        * Beschreibung: "Verkaufspreis ({{context.entity.Verkaufspreis}}€) 
         │                         ist <= Einkaufspreis ({{context.entity.Einkaufspreis}}€)"
         │        * Zugewiesen an: Produktmanagement
         │        * Priorität: Hoch
         │        * Verknüpfung: Artikel {{context.entity.ID}}
         │     │
         │     └─> 7. E-MAIL SENDEN: "Benachrichtigung Produktmanagement"
         │        └─ An: Produktmanagement
         │           Betreff: "Preisprüfung erforderlich: {{context.entity.Artikelnummer}}"
         │           Inhalt: "Artikel {{context.entity.Artikelnummer}} hat einen 
         │                   Verkaufspreis, der <= dem Einkaufspreis ist. 
         │                   Bitte prüfen!"
         │        │
         │        └─> ENDE: Workflow beenden

         └─ NEIN (OK):
            └─> 8. BEDINGUNG PRÜFEN: "Sind alle Pflichtfelder ausgefüllt?"
               ├─ Prüft: Artikelnummer, Bezeichnung, Einheit, etc.

               ├─ NEIN (Fehler):
               │  └─> 9. AUFGABE ERSTELLEN: "Pflichtfelder vervollständigen"
               │     └─ Konfiguration ähnlich wie oben
               │     │
               │     └─> ENDE: Workflow beenden

               └─ JA (Alle Prüfungen OK):
                  └─> 10. SQL-ABFRAGE: "Status auf 'Geprüft' setzen"
                     └─ UPDATE Artikel 
                        SET Status = 'Geprüft',
                            GeprüftAm = GETDATE(),
                            Datenqualität = 'OK'
                        WHERE ID = {{context.entity.ID}}

                     └─> ENDE: Workflow beenden

Konfigurationstipps

  • Prüfungen priorisieren: Beginnen Sie mit den wichtigsten Prüfungen (z.B. Pflichtfelder), damit Fehler schnell erkannt werden
  • Sammel-Benachrichtigungen: Für häufig auftretende Fehler können Sie Sammel-E-Mails implementieren, statt für jeden Artikel einzeln
  • Validierungsregeln zentral definieren: Speichern Sie Validierungsregeln in einer Konfigurationstabelle für einfache Anpassung
  • Logging: Protokollieren Sie alle gefundenen Probleme für spätere Analyse

Erweiterungsmöglichkeiten

  • Mehrsprachige Prüfungen: Validierung von Übersetzungen in verschiedenen Sprachen
  • Bild-Validierung: Prüfung, ob Artikelbilder vorhanden und in korrektem Format sind
  • Kategorisierung: Automatische Vorschläge für Artikelkategorien basierend auf Beschreibung
  • Vollständigkeits-Score: Berechnung eines Datenqualitäts-Scores für jeden Artikel

3. Benachrichtigung bei niedrigem Lagerbestand

Ziel und Geschäftskontext

Proaktive Warnung vor Lagerbestands-Problemen. Der Workflow überwacht Lagerbestände und benachrichtigt den Einkauf automatisch, wenn der Mindestbestand unterschritten wird, um Engpässe zu vermeiden.

Geschäftsvorteile:

  • Vermeidung von Lagerbestands-Engpässen
  • Automatische Nachbestellungsanregungen
  • Reduzierung von Stillstandszeiten
  • Optimierung der Lagerhaltungskosten

Verwendete Knoten

  • Start: Objekt-Ereignis (Lagerbestand aktualisiert) ODER Zeitgesteuert (Cron) für tägliche Prüfung
  • Kontrollfluss: Bedingung prüfen
  • Aktionen:
    • E-Mail senden
    • Aufgabe erstellen
    • Optional: Ausgehende HTTP Anfrage (zur automatischen Nachbestellung)

Detaillierter Workflow-Ablauf

Variante A: Ereignisgesteuert (sofort bei Bestandsänderung)

1. START: Objekt-Ereignis "Lagerbestand aktualisiert"
   └─ Konfiguration:
      * Objekt-Typ: Artikel-Lagerbestand
      * Ereignis: updated
      * Bedingung: Optional - nur bestimmte Artikel/Standorte

2. BEDINGUNG PRÜFEN: "Ist Bestand <= Mindestbestand?"
   ├─ Bedingung: {{context.entity.AktuellerBestand}} <= {{context.entity.Mindestbestand}}

   ├─ JA (Alarm):
   │  └─> 3. BEDINGUNG PRÜFEN: "Wurde bereits benachrichtigt?"
   │     ├─ Prüft: Hat dieser Artikel in den letzten 24h eine Benachrichtigung erhalten?
   │     │         (Verhindert Spam bei mehrfachen Updates)
   │     │
   │     ├─ JA (Bereits benachrichtigt):
   │     │  └─> ENDE: Workflow beenden (keine erneute Benachrichtigung)
   │     │
   │     └─ NEIN (Noch nicht benachrichtigt):
   │        └─> 4. AUFGABE ERSTELLEN: "Nachbestellung erforderlich"
   │           └─ Konfiguration:
   │              * Titel: "Nachbestellung: {{context.entity.Artikelnummer}}"
   │              * Beschreibung: "Artikel {{context.entity.Artikelnummer}} 
   │                              ({{context.entity.Bezeichnung}}) hat Mindestbestand 
   │                              erreicht. Aktuell: {{context.entity.AktuellerBestand}}, 
   │                              Mindestbestand: {{context.entity.Mindestbestand}}"
   │              * Zugewiesen an: Einkauf
   │              * Priorität: Hoch
   │              * Fälligkeitsdatum: Heute
   │              * Verknüpfung: Artikel {{context.entity.ArtikelID}}
   │           │
   │           └─> 5. E-MAIL SENDEN: "Benachrichtigung Einkauf"
   │              └─ An: Einkauf (Team oder spezifischer Einkäufer)
   │                 Betreff: "⚠️ Mindestbestand erreicht: {{context.entity.Artikelnummer}}"
   │                 Inhalt: HTML-E-Mail mit:
   │                    - Artikelinformationen
   │                    - Aktueller vs. Mindestbestand
   │                    - Empfohlene Bestellmenge (berechnet)
   │                    - Link zum Artikel im System
   │              │
   │              └─> 6. SQL-ABFRAGE: "Benachrichtigungszeitpunkt speichern"
   │                 └─ INSERT INTO Benachrichtigungsprotokoll 
   │                    (ArtikelID, BenachrichtigtAm, Benachrichtigungstyp)
   │                    VALUES ({{context.entity.ArtikelID}}, GETDATE(), 'Mindestbestand')
   │                 │
   │                 └─> ENDE: Workflow beenden

   └─ NEIN (Bestand OK):
      └─> ENDE: Workflow beenden

Variante B: Zeitgesteuert (tägliche Prüfung aller Artikel)

1. START: Zeitgesteuert (Cron: "0 8 * * *" = täglich 8 Uhr)
   └─ Konfiguration:
      * Cron-Ausdruck: "0 8 * * *" (täglich um 8 Uhr)
      * Oder: "0 */6 * * *" (alle 6 Stunden)

2. SQL-ABFRAGE: "Finde Artikel mit niedrigem Bestand"
   └─ SELECT ArtikelID, Artikelnummer, Bezeichnung, 
             AktuellerBestand, Mindestbestand
      FROM ArtikelLagerbestand
      WHERE AktuellerBestand <= Mindestbestand
        AND Aktiv = 1
      ORDER BY (AktuellerBestand / Mindestbestand) ASC

3. FÜR JEDES ELEMENT WIEDERHOLEN: "Verarbeite jeden betroffenen Artikel"
   └─ Iteriert über die Ergebnisse der SQL-Abfrage

   └─> 4. BEDINGUNG PRÜFEN: "Wurde bereits benachrichtigt?"
      ├─ Prüft Protokoll der letzten 24 Stunden

      └─> Falls nicht: Benachrichtigung senden (wie in Variante A)

Konfigurationstipps

  • Deduplizierung: Implementieren Sie eine Prüfung, um mehrfache Benachrichtigungen für denselben Artikel zu vermeiden
  • Berechnung der Bestellmenge: Nutzen Sie Formeln basierend auf Mindestbestand, Meldebestand und durchschnittlichem Verbrauch
  • Priorisierung: Weisen Sie höhere Prioritäten für kritische Artikel zu (z.B. Produktionskritische Komponenten)
  • Standort-spezifisch: Berücksichtigen Sie verschiedene Standorte mit unterschiedlichen Beständen

Erweiterungsmöglichkeiten

  • Automatische Nachbestellung: Integration mit Lieferanten-API für automatische Bestellungen
  • Kritikalitäts-Bewertung: Dynamische Priorisierung basierend auf Verbrauchsgeschwindigkeit
  • Lieferanten-Vorschläge: Automatische Empfehlung des besten Lieferanten basierend auf Preisen und Lieferzeiten
  • Dashboard-Integration: Automatische Erstellung von Dashboard-Warnungen
  • Vorhersagen: KI-basierte Vorhersage von Bestandsproblemen basierend auf historischen Daten

4. Onboarding neuer Mitarbeiter

Ziel und Geschäftskontext

Automatisierung des kompletten Mitarbeiter-Onboarding-Prozesses vom Tag der Einstellung bis zum ersten Arbeitstag. Der Workflow koordiniert Aufgaben verschiedener Abteilungen und stellt sicher, dass nichts vergessen wird.

Geschäftsvorteile:

  • Konsistenter Onboarding-Prozess für alle neuen Mitarbeiter
  • Reduzierung von Fehlern und Versäumnissen
  • Bessere Erfahrung für neue Mitarbeiter
  • Automatische Koordination zwischen Abteilungen
  • Nachvollziehbare Compliance-Prozesse

Verwendete Knoten

  • Start: Objekt-Ereignis (Mitarbeiter erstellt oder Startdatum erreicht)
  • Aktionen:
    • Ausgehende HTTP Anfrage (IT-System-Integration)
    • Aufgabe erstellen (für verschiedene Abteilungen)
    • E-Mail senden (Benachrichtigungen und Willkommens-E-Mails)
    • SQL-Abfrage (Statusupdates)
    • Optional: Unter-Workflow ausführen (für wiederkehrende Teilprozesse)

Detaillierter Workflow-Ablauf

1. START: Objekt-Ereignis "Mitarbeiter erstellt"
   └─ Konfiguration:
      * Objekt-Typ: Mitarbeiter
      * Ereignis: created
      * Optional: Nur bei aktivem Status

2. SQL-ABFRAGE: "Onboarding-Status initialisieren"
   └─ UPDATE Mitarbeiter 
      SET OnboardingStatus = 'In Bearbeitung',
          OnboardingGestartetAm = GETDATE()
      WHERE ID = {{context.entity.ID}}

3. PARALLELER PFAD 1: IT-Onboarding
   └─> 4. AUSGEHENDE HTTP ANFRAGE: "IT-Konto erstellen"
      └─ Konfiguration:
         * URL: https://it-system.company.com/api/users
         * Methode: POST
         * Authentifizierung: Bearer Token
         * Body: {
              "firstName": "{{context.entity.Vorname}}",
              "lastName": "{{context.entity.Nachname}}",
              "email": "{{context.entity.Email}}",
              "department": "{{context.entity.Abteilung}}",
              "startDate": "{{context.entity.Einstellungsdatum}}"
           }

      └─> 5. BEDINGUNG PRÜFEN: "Wurde IT-Konto erfolgreich erstellt?"
         ├─ Prüft: {{context.httpResponse.statusCode}} == 201

         ├─ JA (Erfolgreich):
         │  └─> 6. SQL-ABFRAGE: "IT-Konto-Status speichern"
         │     └─ UPDATE Mitarbeiter 
                   SET ITKontoErstellt = 1,
                       ITKontoBenutzername = '{{context.httpResponse.body.username}}'
                   WHERE ID = {{context.entity.ID}}

         └─ NEIN (Fehler):
            └─> 7. AUFGABE ERSTELLEN: "IT-Konto manuell erstellen"
               └─ Zugewiesen an: IT-Administration
               └─ Priorität: Hoch

4. PARALLELER PFAD 2: Facility Management
   └─> 8. AUFGABE ERSTELLEN: "Arbeitsplatz vorbereiten"
      └─ Konfiguration:
         * Titel: "Arbeitsplatz für {{context.entity.Name}} einrichten"
         * Beschreibung: "Neue/r Mitarbeiter/in: {{context.entity.Vorname}} 
                         {{context.entity.Nachname}}
                         Abteilung: {{context.entity.Abteilung}}
                         Startdatum: {{context.entity.Einstellungsdatum}}
                         
                         Bitte bereiten Sie vor:
                         - Arbeitsplatz mit PC/Laptop
                         - Telefon
                         - Zutrittskarte
                         - Büromaterialien"
         * Zugewiesen an: Facility Management
         * Priorität: Normal
         * Fälligkeitsdatum: {{context.entity.Einstellungsdatum}} - 2 Tage
         * Verknüpfung: Mitarbeiter {{context.entity.ID}}

5. PARALLELER PFAD 3: HR-Dokumentation
   └─> 9. AUFGABE ERSTELLEN: "Dokumente prüfen"
      └─ Konfiguration:
         * Titel: "Onboarding-Dokumente prüfen: {{context.entity.Name}}"
         * Beschreibung: "Bitte prüfen und vervollständigen Sie:
                         - Arbeitsvertrag
                         - Steuerkarte
                         - Sozialversicherungsnachweis
                         - Gesundheitszeugnis (falls erforderlich)"
         * Zugewiesen an: HR-Abteilung
         * Priorität: Normal
         * Fälligkeitsdatum: {{context.entity.Einstellungsdatum}} - 1 Tag

6. PARALLELER PFAD 4: Willkommens-E-Mail
   └─> 10. E-MAIL SENDEN: "Willkommens-E-Mail an neuen Mitarbeiter"
      └─ Konfiguration:
         * An: {{context.entity.Email}}
         * Betreff: "Willkommen bei [Unternehmen]!"
         * Inhalt: HTML-E-Mail mit:
            - Persönliche Begrüßung
            - Erste Informationen zum Unternehmen
            - Onboarding-Timeline
            - Kontaktpersonen
            - Zugangsdaten (falls IT-Konto bereits erstellt)
            - Anhang: Onboarding-Guide (PDF)

7. NACH PARALLELEN PFADEN: Warte auf Abschluss kritischer Aufgaben
   └─> 11. FREIGABE ANFORDERN: "Onboarding-Abschluss"
      └─ Konfiguration:
         * Freigabebeauftragte: HR-Leitung
         * E-Mail-Benachrichtigung: Ja
         * Beschreibung: "Bitte bestätigen Sie den Abschluss des 
                         Onboarding-Prozesses für {{context.entity.Name}}"

      └─> 12. BEDINGUNG PRÜFEN: "Wurde Onboarding abgeschlossen?"
         ├─ Prüft: {{context.approval.approved}} == true

         └─ JA:
            └─> 13. SQL-ABFRAGE: "Onboarding abschließen"
               └─ UPDATE Mitarbeiter 
                  SET OnboardingStatus = 'Abgeschlossen',
                      OnboardingAbgeschlossenAm = GETDATE()
                  WHERE ID = {{context.entity.ID}}

               └─> 14. E-MAIL SENDEN: "Onboarding abgeschlossen"
                  └─ An: {{context.entity.Email}}, HR, Vorgesetzter
                  └─ Betreff: "Ihr Onboarding wurde abgeschlossen"

                  └─> ENDE: Workflow beenden

Konfigurationstipps

  • Parallele Ausführung: Nutzen Sie die Möglichkeit, mehrere Pfade parallel auszuführen, um Zeit zu sparen
  • Template-Variablen: Verwenden Sie konsistent Template-Variablen für Namen, E-Mail-Adressen etc.
  • Fehlerbehandlung: Implementieren Sie Fallback-Mechanismen für kritische Schritte (z.B. manuelle Erstellung wenn automatisch fehlschlägt)
  • Personalisiert: Stellen Sie sicher, dass alle Kommunikationen personalisiert sind
  • Reminder: Implementieren Sie Erinnerungen für Aufgaben, die nicht rechtzeitig erledigt wurden

Erweiterungsmöglichkeiten

  • Rekrutierungsphase: Integration mit Bewerbungssystem für nahtlosen Übergang
  • Equipment-Verwaltung: Automatische Reservierung und Bereitstellung von Equipment
  • Schulungen: Automatische Einladungen zu verpflichtenden Schulungen
  • Feedback-Loop: Automatische Umfrage nach 30/60/90 Tagen
  • Integration mit Personalsystemen: Automatische Synchronisation mit Lohn- und Gehaltsabrechnung

5. Datenimport aus externem System

Ziel und Geschäftskontext

Automatischer, regelmäßiger Import von Daten aus externen Systemen (z.B. Lieferantenkataloge, Marktplatz-Daten, Drittsysteme) zur Synchronisation und Aktualisierung der eigenen Datenbank.

Geschäftsvorteile:

  • Automatische Datensynchronisation ohne manuelle Eingriffe
  • Aktuelle Daten zu jeder Zeit
  • Reduzierung von Dateneingabefehlern
  • Zeitersparnis durch Automatisierung

Verwendete Knoten

  • Start: Zeitgesteuert (Cron)
  • Aktionen:
    • Ausgehende HTTP Anfrage (Datenabfrage)
    • Daten importieren / Daten in Datenbank importieren
    • SQL-Abfrage (Validierung, Bereinigung)
    • E-Mail senden (Fehlerbenachrichtigungen)
    • Feed-Eintrag erstellen (Import-Statistik)

Detaillierter Workflow-Ablauf

1. START: Zeitgesteuert (Cron: "0 2 * * *" = täglich 2 Uhr)
   └─ Konfiguration:
      * Cron-Ausdruck: "0 2 * * *" (täglich um 2 Uhr nachts)
      * Alternative: "0 */6 * * *" (alle 6 Stunden)

2. SQL-ABFRAGE: "Letzten Import-Zeitstempel ermitteln"
   └─ SELECT MAX(ImportZeitstempel) 
      FROM ImportProtokoll 
      WHERE ImportTyp = 'Lieferantenkatalog'

3. AUSGEHENDE HTTP ANFRAGE: "Daten von externer API abrufen"
   └─ Konfiguration:
      * URL: https://api.lieferant.com/products
      * Methode: GET
      * Header:
        - Authorization: Bearer {{system.secrets.lieferant_api_key}}
        - Accept: application/json
      * Query-Parameter:
        - modifiedSince: {{context.lastImportTimestamp}}
        - limit: 1000

   └─> 4. BEDINGUNG PRÜFEN: "Wurde API-Anfrage erfolgreich?"
      ├─ Prüft: {{context.httpResponse.statusCode}} == 200

      ├─ NEIN (Fehler):
      │  └─> 5. SQL-ABFRAGE: "Fehler protokollieren"
      │     └─ INSERT INTO ImportProtokoll 
      │        (ImportTyp, Status, Fehler, Zeitstempel)
      │        VALUES ('Lieferantenkatalog', 'Fehler', 
      │                '{{context.httpResponse.error}}', GETDATE())
      │     │
      │     └─> 6. E-MAIL SENDEN: "Fehlerbenachrichtigung"
      │        └─ An: Administratoren
      │           Betreff: "⚠️ Import-Fehler: Lieferantenkatalog"
      │           Inhalt: "Der automatische Import ist fehlgeschlagen.
      │                   Fehler: {{context.httpResponse.error}}
      │                   Zeit: {{context.currentTime}}"
      │        │
      │        └─> ENDE: Workflow beenden

      └─ JA (Erfolgreich):
         └─> 7. BEDINGUNG PRÜFEN: "Sind neue Daten vorhanden?"
            ├─ Prüft: {{context.httpResponse.body.data.length}} > 0

            ├─ NEIN (Keine neuen Daten):
            │  └─> 8. FEED-EINTRAG ERSTELLEN: "Keine neuen Daten"
            │     └─ ENDE: Workflow beenden

            └─ JA (Neue Daten vorhanden):
               └─> 9. DATEN IMPORTIEREN: "Transformiere und importiere Daten"
                  └─ Konfiguration:
                     * Eingabeformat: JSON (von API-Response)
                     * Transformation: 
                       - Mapping: LieferantenArtikelID → Artikelnummer
                       - Mapping: Preis → Verkaufspreis
                       - Validierung: Preis > 0, Name nicht leer
                     * Ziel: Datenbank-Tabelle "Artikel"

                  └─> 10. SQL-ABFRAGE: "Import-Statistik berechnen"
                     └─ Berechnet:
                        - Anzahl importierter Datensätze
                        - Anzahl fehlerhafter Datensätze
                        - Anzahl aktualisierter vs. neuer Datensätze

                  └─> 11. SQL-ABFRAGE: "Import protokollieren"
                     └─ INSERT INTO ImportProtokoll 
                        (ImportTyp, Status, AnzahlImportiert, 
                         AnzahlFehler, Zeitstempel)
                        VALUES ('Lieferantenkatalog', 'Erfolgreich', 
                                {{context.importStats.imported}},
                                {{context.importStats.errors}},
                                GETDATE())

                  └─> 12. BEDINGUNG PRÜFEN: "Gibt es Import-Fehler?"
                     ├─ Prüft: {{context.importStats.errors}} > 0

                     ├─ JA:
                     │  └─> 13. E-MAIL SENDEN: "Import mit Warnungen"
                     │     └─ An: Administratoren
                     │        Betreff: "⚠️ Import abgeschlossen mit Fehlern"
                     │        Inhalt: "Import wurde durchgeführt, aber {{context.importStats.errors}} 
                     │                Datensätze konnten nicht importiert werden.
                     │                Siehe Fehlerprotokoll für Details."

                     └─ NEIN:
                        └─> 14. FEED-EINTRAG ERSTELLEN: "Erfolgreicher Import"
                           └─ Titel: "Import erfolgreich: {{context.importStats.imported}} Artikel"

                     └─> ENDE: Workflow beenden

Konfigurationstipps

  • Inkrementeller Import: Importieren Sie nur geänderte Daten seit dem letzten Import für bessere Performance
  • Batch-Verarbeitung: Bei großen Datenmengen in Batches verarbeiten
  • Fehlerprotokollierung: Detaillierte Protokollierung aller Fehler für spätere Analyse
  • Retry-Logik: Bei temporären API-Fehlern automatische Wiederholung implementieren
  • Validierung: Strikte Validierung der importierten Daten vor dem Speichern

Erweiterungsmöglichkeiten

  • Konfliktauflösung: Intelligente Strategien für Duplikate und Konflikte
  • Datenbereinigung: Automatische Bereinigung und Normalisierung der importierten Daten
  • Benachrichtigungen bei Änderungen: Benachrichtigung von relevanten Teams bei bestimmten Änderungen
  • Monitoring-Dashboard: Integration von Import-Statistiken in ein Dashboard

6. Automatische Berichtsgenerierung und Versand

Ziel und Geschäftskontext

Automatische Erstellung und Versendung von regelmäßigen Berichten (z.B. Monatsberichte, Quartalsabschlüsse, KPI-Dashboards) an das Management und relevante Stakeholder.

Geschäftsvorteile:

  • Konsistente, rechtzeitige Berichterstattung
  • Automatische Verteilung an alle Stakeholder
  • Archivierung von Berichten für Compliance
  • Zeitersparnis durch Automatisierung

Verwendete Knoten

  • Start: Zeitgesteuert (Cron)
  • Aktionen:
    • SQL-Abfrage (Datensammlung)
    • PDF-Bericht erstellen
    • E-Mail senden (mit Anhang)
    • Datei speichern (Archivierung)
    • Optional: Feed-Eintrag erstellen

Detaillierter Workflow-Ablauf

1. START: Zeitgesteuert (Cron: "0 8 1 * *" = Monatsanfang, 8 Uhr)
   └─ Konfiguration:
      * Cron-Ausdruck: "0 8 1 * *" (1. Tag jedes Monats um 8 Uhr)
      * Alternative: "0 9 * * 1" (jeden Montag um 9 Uhr)

2. SQL-ABFRAGE: "Daten für Monatsbericht sammeln"
   └─ SELECT 
        SUM(Umsatz) AS GesamtUmsatz,
        COUNT(DISTINCT KundeID) AS AnzahlKunden,
        SUM(AnzahlBestellungen) AS AnzahlBestellungen,
        AVG(Lieferzeit) AS DurchschnittLieferzeit,
        ...
      FROM Verkaufsdaten
      WHERE MONTH(Datum) = MONTH(DATEADD(month, -1, GETDATE()))
        AND YEAR(Datum) = YEAR(DATEADD(month, -1, GETDATE()))

3. SQL-ABFRAGE: "Top-Kunden des Monats"
   └─ SELECT TOP 10 
        KundeID, Kundenname, SUM(Umsatz) AS Umsatz
      FROM Verkaufsdaten
      WHERE ... (gleiche Zeitfilter)
      GROUP BY KundeID, Kundenname
      ORDER BY SUM(Umsatz) DESC

4. SQL-ABFRAGE: "Produktstatistiken"
   └─ SELECT 
        ArtikelID, Artikelnummer, Artikelname,
        SUM(Anzahl) AS VerkaufteMenge,
        SUM(Umsatz) AS Umsatz
      FROM Verkaufsdaten
      WHERE ... (gleiche Zeitfilter)
      GROUP BY ArtikelID, Artikelnummer, Artikelname
      ORDER BY SUM(Umsatz) DESC

5. PDF-BERICHT ERSTELLEN: "Monatsbericht generieren"
   └─ Konfiguration:
      * Template: Formular "Monatsbericht" oder HTML-Template
      * Daten: 
        - Monat: {{context.reportMonth}}
        - Gesamtumsatz: {{context.sqlQuery1.GesamtUmsatz}}
        - Anzahl Kunden: {{context.sqlQuery1.AnzahlKunden}}
        - Top-Kunden: {{context.sqlQuery2}}
        - Produktstatistiken: {{context.sqlQuery3}}
      * Format: A4, Hochformat
      * Wasserzeichen: Optional "Vertraulich"
      * Dateiname: "Monatsbericht_{{context.reportMonth}}.pdf"

   └─> 6. DATEI SPEICHERN: "Bericht archivieren"
      └─ Konfiguration:
         * Datei: {{context.pdfReport.file}}
         * Collection: "Berichte/Monatsberichte"
         * Metadaten:
           - Typ: Monatsbericht
           - Monat: {{context.reportMonth}}
           - ErstelltAm: {{context.currentDate}}

      └─> 7. E-MAIL SENDEN: "Bericht an Management versenden"
         └─ Konfiguration:
            * An: Management-Team (Gruppe oder Liste)
            * CC: Geschäftsführung
            * Betreff: "Monatsbericht {{context.reportMonth}}"
            * Inhalt: HTML-E-Mail mit:
               - Zusammenfassung der wichtigsten KPIs
               - Hinweis auf Anhang
               - Link zum Archiv
            * Anhänge:
              - {{context.pdfReport.file}}

         └─> 8. FEED-EINTRAG ERSTELLEN: "Bericht erstellt"
            └─ Titel: "Monatsbericht {{context.reportMonth}} wurde erstellt und versendet"

            └─> ENDE: Workflow beenden

Konfigurationstipps

  • Flexible Zeiträume: Nutzen Sie Variablen für Zeiträume, damit der Workflow für verschiedene Berichte wiederverwendet werden kann
  • Template-Variablen: Nutzen Sie konsistent Template-Variablen für alle dynamischen Inhalte
  • Mehrsprachigkeit: Berücksichtigen Sie die Sprache der Empfänger bei der Berichtserstellung
  • Formatierung: Achten Sie auf professionelle Formatierung des PDF-Berichts

Erweiterungsmöglichkeiten

  • Interaktive Dashboards: Zusätzlich zum PDF ein interaktives Dashboard erstellen
  • Vergleiche: Vergleich zum Vormonat oder Vorjahr einbauen
  • Prognosen: KI-basierte Prognosen für kommende Perioden
  • Individualisierte Berichte: Unterschiedliche Berichte für verschiedene Empfänger (z.B. nach Abteilung)
  • Automatische Präsentation: Erstellen einer PowerPoint-Präsentation zusätzlich zum PDF

Zusammenfassung

Diese Beispiele zeigen die Vielseitigkeit von Workflows zur Automatisierung verschiedenster Prozesse in Argon ERP. Jedes Beispiel kann als Vorlage verwendet und an Ihre spezifischen Bedürfnisse angepasst werden.

Häufige Workflow-Muster

Basierend auf diesen Beispielen lassen sich folgende wiederkehrende Muster identifizieren:

  1. Ereignis → Prüfung → Aktion: Reaktion auf Systemereignisse mit bedingter Verarbeitung
  2. Zeitgesteuert → Datensammlung → Bericht: Regelmäßige Berichte und Auswertungen
  3. Import → Validierung → Speicherung: Datenimport mit Qualitätssicherung
  4. Mehrstufige Genehmigungen: Komplexe Genehmigungsprozesse mit Eskalationen
  5. Parallel → Warte → Zusammenführung: Koordination mehrerer paralleler Prozesse

Nächste Schritte

  • Experimentieren: Erstellen Sie einfache Workflows basierend auf diesen Beispielen
  • Anpassen: Passen Sie die Beispiele an Ihre Geschäftsprozesse an
  • Erweitern: Kombinieren Sie verschiedene Muster für komplexere Workflows
  • Optimieren: Nutzen Sie die Best Practices zur Optimierung

Für eine vollständige Übersicht aller verfügbaren Knoten und deren Funktionen siehe die Workflow-Komponenten-Dokumentation.