Centurio System & Module Documentation
🏛️ Platform Architecture 🔑 Login
All Modules / core_platform / Automationen (Webhooks & API-Connectors)
⚡

Automationen (Webhooks & API-Connectors)

automations core_platform 🛡️ RLS Protected

Ereignisgesteuerte Automation, Webhook-Ingestion mit HMAC-Schutz, Signal-Bus, No-Code Canvas DAG-Workflows, UIP Connector SDK und kanonisches Datenmodell (CDM).

Fachliche Bestimmung: Das Automations- und UIP-Modul ist das zentrale Nervensystem für die unternehmensweite Prozessautomatisierung und Systemintegration in Centurio ERP. Es erfüllt vier Hauptaufgaben: 1. Universal Integration Platform (UIP): Ein generisches Framework zur Anbindung hunderter branchenspezifischer Fachanwendungen (Handel, Handwerk, Industrie, Bau, Logistik) über das standardisierte Connector SDK (connect, discover, query, sync, export) und ein einheitliches Canonical Data Model (CDM), ohne Kernmodule anpassen zu müssen. 2. Sichere Webhook-Ingestion & Signal-Bus: Eingehende HTTP-Ereignisse externer Plattformen (z.B. Shopify, Stripe, EDI, Portale) werden über kryptographische HMAC-SHA256-Signaturen und Idempotenz-Fingerprints gegen Replay-Angriffe und Doppelausführungen geschützt. Interne Zustandswechsel werden als entkoppelte Signale publiziert. 3. No-Code Canvas Engine: Grafischer Workflow-Editor, der visuelle Directed Acyclic Graphs (DAGs) in deterministische Ausführungspläne mit dynamischen Input-Bindings, bedingten Verzweigungen und menschlichen Genehmigungsschranken (Human-in-the-Loop) kompiliert. 4. Kaskadierung & Resilienz: Asynchrone Weiterleitung von Inbox-Ereignissen in Fachmodule (z.B. automatische CRM-Lead- oder Angebotsentwurfs-Erstellung bei eingehenden E-Mails), Dead-Letter-Queue (DLQ) für fehlgeschlagene Schritte mit exponentiellem Backoff und GoBD-revisionssichere Journalisierung.

⚡ Workflows & Lifecycles

E2E Webhook-Ereignisverarbeitung & Signal-Bus webhook_event_processing

Ablauf vom HTTP-Post-Empfang externer Drittsysteme über kryptographische HMAC-Signaturprüfung und Idempotenz-Deduplizierung bis zur Signalverteilung.

sequenceDiagram autonumber actor ExternalSystem as Externes System (Shop/EDI) participant WebhookAPI as Webhook Ingestion API participant Security as HMAC & Replay Guard participant IdempotencyStore as Idempotenz-Register participant SignalBus as Interner Signal-Bus participant CanvasEngine as Workflow Canvas Engine ExternalSystem->>WebhookAPI: POST /webhooks/inbound/{slug} (Payload + HMAC) WebhookAPI->>Security: verify_hmac(payload, secret, x_signature) alt Signatur ungültig Security-->>ExternalSystem: 401 Unauthorized (Invalid Signature) else Signatur verifiziert Security->>IdempotencyStore: check_and_set_fingerprint(event_hash) alt Duplikat erkannt IdempotencyStore-->>ExternalSystem: 200 OK (Already Processed / Idempotent) else Neues Ereignis IdempotencyStore->>SignalBus: publish(signal_key, canonical_payload) SignalBus->>CanvasEngine: trigger_matching_workflows(signal_key) SignalBus-->>ExternalSystem: 200 OK (Receipt ID: rec_xxx) end end
1. INGEST
Ereignisaufnahme
Externer HTTP-POST trifft auf Inbound-Webhook-Endpunkt (/api/v1/automations/webhooks/inbound/{slug}).
Aktionen: Rate-Limiting prüfen, Payload erfassen
2. HMAC_VERIFY
HMAC-Signaturprüfung
Abgleich des X-Signature-256-Headers gegen das mandantenspezifisch verschlüsselte Secret (SHA-256).
Aktionen: Replay-Schutz, Zeitstempel-Validierung
3. IDEMPOTENCY_CHECK
Idempotenz-Sicherung
Errechnen des SHA-256-Fingerprints über Header und Body. Abgleich gegen InboundWebhookReceipt.
Aktionen: Duplikate abweisen (409/200 idempotent)
4. SIGNAL_DISPATCH
Signal-Bus Verteilung
Überführung der Payload in ein internes Signal-Event und Übergabe an registrierte Abonnenten und Canvas-Workflows.
Aktionen: InboundWebhookReceipt anlegen, Outbox-Event feuern

UIP Connector-Synchronisation & CDM-Transformation uip_connector_sync

Bidirektionale Synchronisation externer Fachanwendungen über das Connector SDK mit Normalisierung in das Canonical Data Model.

sequenceDiagram autonumber participant Scheduler as UIP Sync Scheduler participant Connector as Connector SDK Adapter participant MappingEngine as CDM Mapping Engine participant ErpCore as ERP-Kernmodule participant Telemetry as Telemetrie & Audit Scheduler->>Connector: poll_changes(since_cursor, batch_size) Connector-->>Scheduler: raw_external_records[] loop Für jeden externen Datensatz Scheduler->>MappingEngine: transform_to_cdm(raw_record, mapping_profile) MappingEngine-->>Scheduler: cdm_entity (z.B. CanonicalOrder) Scheduler->>ErpCore: upsert_entity(cdm_entity, tenant_id) ErpCore-->>Scheduler: status (SUCCESS / CONFLICT) end Scheduler->>Telemetry: record_sync_run(total, successes, errors)
1. DISCOVER_POLL
Verbindung & Abfrage
UIP Service initialisiert den Connector, prüft API-Token und fragt neue oder geänderte Datensätze ab.
Aktionen: Health-Check, Cursor-Fortschreibung
2. CDM_TRANSFORM
Kanonische Normalisierung
Mapping-Engine transformiert externe Schemata über IntegrationEntityMapping in standardisierte CDM-Objekte.
Aktionen: Typkonvertierung, Feldzuordnung
3. TRANSACTIONAL_UPSERT
ERP-Synchronisation
Kanonische Entitäten werden atomar in Zielmodule (z.B. Lager, Verkauf, CRM) eingespielt.
Aktionen: RLS-Mandantensicherung, Audit-Log
4. TELEMETRY_LOG
Telemetrie & Abschluss
Protokollierung von Durchsatz, Laufzeit, Fehlern und Schreibständen in IntegrationSyncRun.
Aktionen: SyncRun abschließen, Fehler an DLQ melden

Visuelle Canvas-Workflow-Ausführung mit Genehmigungsschranke nocode_canvas_dag_execution

Kompilierung grafischer Workflow-Knoten zu einem Directed Acyclic Graph (DAG) mit Eingangs-Bindings, schrittweiser Abarbeitung und Vier-Augen-Freigabe.

sequenceDiagram autonumber actor Operator as Anwender / Trigger-Event participant Engine as WorkflowEngineService participant Compiler as Canvas DAG Compiler participant ReviewGate as Human-in-the-Loop Gate participant Capability as ERP Capability Operation participant Journal as Revisionsjournal Operator->>Engine: start_workflow(blueprint_id, trigger_data) Engine->>Compiler: compile_and_validate(nodes, edges) Compiler-->>Engine: executable_dag_plan loop Für jeden DAG-Knoten in topologischer Reihenfolge Engine->>Engine: resolve_input_bindings(node.inputs, context) alt Knoten erfordert Vier-Augen-Freigabe Engine->>ReviewGate: require_approval(step_id, risk_level) ReviewGate-->>Operator: Benachrichtigung: Freigabe erforderlich Operator->>ReviewGate: approve_step(step_id, comment) ReviewGate-->>Engine: approval_granted end Engine->>Capability: dispatch_operation(node.capability_key, bound_inputs) Capability-->>Engine: step_result Engine->>Journal: record_step_result(node_id, step_result, duration) end Engine-->>Operator: WorkflowRun completed (Status: SUCCESS)
1. COMPILE_GRAPH
DAG-Kompilierung
CanvasCompiler validiert Knoten, Ports und Kanten auf Zyklenfreiheit und typgerechte Bindungen.
Aktionen: Topologische Sortierung, Port-Validierung
2. BIND_INPUTS
Variablenauflösung
Auflösen dynamischer Input-Bindings aus Triggern, globalen Kontexten und vorherigen Schrittausgaben.
Aktionen: JSONPath-Extraktion, Typen-Cast
3. HUMAN_GATE
Freigabeschranke (Optional)
Erfordert ein Schritt menschliche Prüfung (Risikostufe high), pausiert der Workflow im Status PENDING_REVIEW.
Aktionen: Freigabeanforderung erstellen, Benachrichtigung an Prüfer
4. STEP_EXECUTION
Schritt-Ausführung & Journal
Ausführen der Capability-Operation über den WorkflowEngineService mit unumstößlicher Protokollierung.
Aktionen: ExecutionJournalEntry, Zustandsfortschreibung

Inbox-E-Mail-Kaskadierung & AI-Lead/Quote-Generierung inbox_cascade_ai_orchestration

Verarbeitung eingehender E-Mails mit KI-Intent-Klassifikation, Adressstammabgleich und kaskadierter Entwurfserzeugung für CRM-Leads oder Verkaufsangebote.

sequenceDiagram autonumber actor Customer as Kunde (E-Mail) participant Inbox as Inbox Mail Gateway participant AIClassifier as KI-Extraktion & Intent Engine participant PartnerService as CRM / Partner-Matching participant CascadeService as Cascade Dispatcher actor SalesRep as Vertriebsinnendienst Customer->>Inbox: E-Mail mit Anfrage / Bestellung Inbox->>AIClassifier: extract_intent_and_items(email_text, attachments) AIClassifier-->>Inbox: intent="purchase_order", confidence=0.96, items[] Inbox->>PartnerService: match_sender(customer_email) alt Bekannter Kunde PartnerService-->>Inbox: customer_id, payment_terms, price_list Inbox->>CascadeService: trigger_cascade("inbox.order_detected", payload) CascadeService->>CascadeService: generate_quote_draft(customer_id, items[]) CascadeService-->>SalesRep: Neuer Angebotsentwurf zur Prüfung vorgelegt else Unbekannter Interessent PartnerService-->>Inbox: match_failed Inbox->>CascadeService: trigger_cascade("inbox.lead_detected", payload) CascadeService->>CascadeService: generate_crm_lead(sender_info, interest_summary) CascadeService-->>SalesRep: Neuer CRM-Lead im Vertriebspool end
1. EMAIL_INTAKE
E-Mail-Eingang
E-Mail trifft in zentraler Inbox ein, Anhänge werden im DMS abgelegt und Viren/Spam geprüft.
Aktionen: DMS-Ablage, OCR-Pipeline
2. INTENT_CLASSIFICATION
KI-Klassifikation
KI-Modell klassifiziert E-Mail-Absicht (Anfrage, Bestellung, Reklamation, Rechnung) mit Konfidenzwert.
Aktionen: Intent-Score berechnen, Begründung formulieren
3. PARTNER_MATCHING
Geschäftspartner-Matching
Absenderadresse wird gegen Kunden- und Lieferantenstamm abgeglichen; Kontext wird geladen.
Aktionen: Stammdatenabgleich, Preiskonditionen laden
4. CASCADE_GENERATION
Entwurfserzeugung
Erzeugung eines CRM-Leads oder eines Angebotsentwurfs mit Positionen zur Überprüfung durch den Sachbearbeiter.
Aktionen: gw:create_quote_draft, Benachrichtigung Vertrieb

⚙️ Fachprozesse & Capabilities (System-Fachlogik)

Registrierte Fachoperationen und System-Capabilities dieses Moduls zur Steuerung von Workflows, Kaskaden und KI-Agenten.

Gesamt: 9 engine: 8 engine_step: 1
Capability & Schlüssel Fachliche Bezeichnung Ausführung / Coverage Risikostufe & Freigabe Effekte & Kaskaden
Inbound-Binding aktivieren capability:connector.activate_inbound
Op: connector.activate_inbound
Intent: activate_connector_inbound
Quelle: code:capability_registry
⚙️ Engine
🔒 Freigabe nötig Risiko: business_record
  • connector_binding.inbound_activated
API-Spec importieren capability:connector.import_spec
Op: connector.import_spec
Intent: import_api_connector
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: metadata
  • api_connector.imported
Connector-Operation ausführen capability:connector.invoke_operation
Op: connector.invoke_operation
Intent: invoke_connector_operation
Quelle: code:capability_registry
⚙️ Engine
🔒 Freigabe nötig Risiko: external_effect
  • connector_delivery.invoked
Connector-Binding vorschlagen capability:connector.propose_binding
Op: connector.propose_binding
Intent: propose_connector_binding
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: metadata
  • connector_binding.proposed
Connector-Operation simulieren capability:connector.simulate_operation
Op: connector.simulate_operation
Intent: simulate_connector_call
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: read_only
  • connector_delivery.simulated
Integrations-Verbindung testen capability:uip.connection.test
Op: uip.connection.test
Intent: test_integration_connection
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: read_only
Keine Seiteneffekte deklariert
Mapping Vorschau / Dry-Run capability:uip.mapping.preview
Op: uip.mapping.preview
Intent: preview_mapping_rules
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: read_only
Keine Seiteneffekte deklariert
UIP Synchronisation starten capability:uip.sync.trigger
Op: uip.sync.trigger
Intent: trigger_uip_sync
Quelle: code:capability_registry
⚙️ Engine
✓ Auto Risiko: business_record
  • integration_sync.triggered
custom canvas start gateway:custom_canvas_start
Op: start_custom_canvas_workflow
custom canvas start
Quelle: code:engine_facade
⚙️ Engine
✓ Auto
Keine Seiteneffekte deklariert

🧠 Fachprozess-Erzählung & Dual Knowledge Architektur

Synthese aus der ideologischen Blaupause (Meta-Fachlogik / Soll), der faktischen System-Implementierung (System-Fachlogik / Ist) und No-Code Customizing für KI-Consultants.

Dual Knowledge Layer
📖

Der durchgängige Businessprozess im Detail (End-to-End Fließtext-Erzählung)

Der durchgängige Automations- und Integrationsprozess in der betrieblichen Praxis

Moderne ERP-Systeme operieren nicht als isolierte Datensilos, sondern als hochgradig vernetzte Orchestrierungsplattformen. Das Modul automations in Centurio ERP schlägt die Brücke zwischen externen Drittsystemen, KI-Agenten und den internen Fachmodulen.

1. Universal Integration Platform (UIP) & Connector SDK

Unternehmen nutzen spezialisierte Softwarelösungen (z.B. Branchen-Webshops, CAD-Systeme, Speditionsportale, Zeiterfassungsterminals, Zahlungsdienstleister). Das Modul löst dieses Problem über die Universal Integration Platform (UIP):

  • Connector SDK: Anstatt für jedes Fremdsystem proprietären Code in Kernmodule zu schreiben, implementieren Konnektoren die standardisierten SDK-Methoden: connect(), discover(), query(), sync(), export().
  • Kanonisches Datenmodell (CDM - Canonical Data Model): Heterogene Drittsystem-Payloads (z.B. JSON eines Shopify-Webhooks, XML einer EDIFACT-Nachricht oder CSV eines Spediteurs) werden über Mapping-Profile in das einheitliche kanonische Datenmodell von Centurio ERP transformiert.
  • Entkopplung: Änderungen an externen APIs berühren niemals die ERP-Kernlogik; lediglich das Adapter-Profil wird angepasst.

2. Sichere Webhook-Ingestion & Replay-Schutz (HMAC & Fingerprint)

Trifft ein externes Webhook-Ereignis ein (z.B. Online-Shop meldet bezahlte Bestellung oder Zahlungsdienstleister meldet Stripe-Transaktion):

  • Kryptographische HMAC-Signatur: Das System verifiziert über den Header X-Hub-Signature-256 oder X-Signature mit dem im Mandanten hinterlegten Pre-Shared-Secret die Echtheit und Unverfälschtheit der Nachricht via HMAC-SHA256 (cap:automations.webhook.validate_hmac). Manipulierte Anfragen werden sofort mit HTTP 401/403 verworfen.
  • Idempotenz-Fingerprint: Aus dem Payload-Inhalt und dem Event-Zeitstempel errechnet das System einen eindeutigen SHA-256 Fingerprint.
  • Replay-Schutz: Wird dieselbe Nachricht durch Netzwerk-Timeouts oder Angreifer mehrfach gesendet, erkennt die Idempotenz-Prüfung das Duplikat und liefert die frühere Quittung zurück, ohne die Transaktion doppelt auszuführen.

3. No-Code Canvas Engine & DAG-Workflow-Kompilierung

Für individuelle Kundenabläufe bietet Centurio ERP den visuellen Canvas Workflow Editor im Workflow- & No-Code-Studio (/semantic/designer):

  • Directed Acyclic Graph (DAG): Workflows werden als gerichtete azyklische Graphen modelliert. Der Canvas kennt diese Knotentypen (Palette):
    • Start/Ende: Jeder Ablauf hat genau einen Start (manueller Einstieg mit Datensatzkontext) und jeder Zweig endet in einem Ende-Knoten.
    • Bedingung (condition): Verzweigung nach Workflow-Regel; Ausgänge Ja/Nein, beide müssen verbunden sein.
    • Parallel aufteilen/zusammenführen (parallel_split/parallel_join): Startet bis zu 8 Zweige gleichzeitig bzw. wartet, bis alle Zweige angekommen sind.
    • Freigabe (approval): Human-in-the-Loop-Gate; pausiert bis zur Entscheidung einer Organisationsrolle (Genehmigt/Abgelehnt).
    • Formular (form_task): Interaktive Datenerhebung; Ausgänge Abgesendet/Abgebrochen, Antworten stehen Folgeschritten als Formularantworten zur Verfügung.
    • Fachaktion (operation): Aufruf genau einer geprüften, canvas-tauglichen System-Capability (z. B. Aufgabe anlegen, Belegstatus setzen); Eingabebindungen werden am Knoten geprüft.
    • Für jedes Element (for_each): Wiederholt die gebundene Fachaktion sequenziell für bis zu 32 Datensätze einer verknüpften Liste; Fehler halten zur Prüfung an.
    • KI-Vorschlag (agent): Ein Agent erarbeitet an dieser Stelle einen Entwurf — niemals direkte Ausführung.
    • Teilprozess (subprocess): Visueller Verweis auf einen anderen Ablauf; echte Unterausführung folgt mit geprüftem Adapter.
    • Wartezeit (timer), Signal senden/warten (emit_signal/wait_event), API-Connector (connector_call): Warten, Ereigniskopplung und geprüfte externe Schnittstellenaufrufe.
  • Kompilierung in Ausführungspläne: Die Canvas-Engine übersetzt den visuellen Graphen in einen streng deterministischen Ausführungsplan (WorkflowRun), der schrittweise und transaktionssicher abgearbeitet wird.

4. Human-in-the-Loop Genehmigungsschranken (Approval Gates)

Kritische oder finanzrelevante Schritte dürfen in vielen Unternehmen nicht vollautonom durchlaufen:

  • In den DAG können Human-in-the-Loop Gates eingefügt werden.
  • Erreicht die Ausführung einen solchen Knoten, pausiert der Workflow im Zustand waiting_approval.
  • Das System erzeugt eine blockierende Prüfaufgabe für den zuständigen Sachbearbeiter oder Manager (z.B. Rabatt von 25% freigeben).
  • Erst nach digitaler Freigabe setzt die Engine den Graph an genau dieser Stelle fort.

5. Kaskadierung & Resilienz (Dead-Letter-Queue & Exponential Backoff)

Nicht jeder externe Server ist immer erreichbar; Netzwerke können schwanken:

  • Transaktionale Outbox: Interne Ereignisse werden nicht synchron im HTTP-Request ausgeführt, sondern in die PostgreSQL-Outbox geschrieben und von Hintergrund-Workern zuverlässig verarbeitet (At-Least-Once Delivery).
  • Exponential Backoff: Schlägt ein externer API-Aufruf fehl (z.B. Speditions-API antwortet mit 503), wiederholt das System den Versuch in steigenden Zeitabständen (1s, 2s, 4s, 8s, 16s...).
  • Dead-Letter-Queue (DLQ): Schlägt auch der finale Wiederholungsversuch fehl, wird der Event-Datensatz in die Dead-Letter-Queue verschoben. Der Workflow bricht nicht unkontrolliert ab; Administratoren erhalten einen Alarm und können den Fehler beheben und den Schritt manuell erneut anstoßen.

6. Revisionssicheres Ausführungsjournal (Execution Audit Trail)

Jede Workflow-Ausführung, jede Webhook-Ingestion und jeder Konnektoren-Sync wird im revisionssicheren Ausführungsjournal (ExecutionJournalEntry) mit Zeitstempel, Eingabeparametern, Zwischenergebnissen, Benutzer- bzw. System-ID und Erfolgsstatus protokolliert. Dies garantiert lückenlose Nachprüfbarkeit bei IT-Audits und GoBD-Prüfungen.

🏛️

Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen

Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild

Die Meta-Fachlogik der Automation stützt sich auf Enterprise Application Integration (EAI) Patterns nach Gregor Hohpe, ITIL v4 Service Integration and Management (SIAM), ISO/IEC 27001 (Schnittstellensicherheit) und Prinzipien der verteilten Fehlertoleranz.

1. Architektur-Prinzipien der Systemintegration (EAI Patterns)

  • Lose Kopplung (Loose Coupling): Systeme dürfen niemals direkt über harte Datenbankverbindungen oder synchrone monolithische Blockaden verknüpft werden. Die Kommunikation erfolgt asynchron über standardisierte Nachrichten (Message Channel).
  • Canonical Data Model (Kanonisches Modell): Um $N \times M$ Schnittstellenkomplexität zu vermeiden, übersetzt jeder Konnektor sein Quellformat in das kanonische Format des ERP-Kerns ($N + M$ Prinzip).
  • Idempotenz als universelles Gesetz: In verteilten Netzwerken gibt es Netzwerkverluste. Daher gilt: Jede Integration muss idempotent sein: $$f(f(x)) = f(x)$$ Das mehrmalige Eintreffen derselben Nachricht darf niemals zu mehrfachen Buchungen führen.

2. IT-Sicherheits- & Revisionsstandards

  • Kryptographischer Integritätsschutz (ISO 27001): Webhooks ohne kryptographische Signatur (HMAC-SHA256) verstoßen gegen grundlegende Sicherheitsregeln, da sie anfällig für IP-Spoofing und Man-in-the-Middle-Angriffe sind.
  • Segregation of Execution & Auditability: Jeder No-Code Workflow muss exakt protokollieren, unter welchem Mandantenkontext und mit welchen Berechtigungen er lief (Row-Level Security Isolation).

3. Invarianten des Soll-Modells

  1. Kein ungesicherter Webhook-Empfang ohne Signaturprüfung oder IP-Whitelist.
  2. Keine Ausführung von No-Code Workflows außerhalb der Mandanten-Isolation (RLS).
  3. Kein stillschweigender Datenverlust: Fehlgeschlagene Ereignisse müssen zwingend in die Dead-Letter-Queue laufen.
  4. Human-in-the-Loop Gates dürfen nicht durch automatisierte Schleifen umgangen werden.

Normbezug für automations

Prüfkatalog Standards-Registry v2026.10.1. Dieser Abschnitt ordnet Prüfreferenzen zu und stellt nicht fest, dass das Modul eine Norm einhält; keine Kataloganforderung ist als PASS bewertet.

Geführte Prüfreferenzen:

  • bpmn-2.0.2, Business Process Model and Notation (BPMN) 2.0.2, Ausgabe BPMN 2.0.2 (2013-12). Art: technical_interoperability. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen: bpmn-2.0.2/notation. Katalogstatus: NOT_ASSESSED.
  • eu-ai-act-2024-1689, Regulation (EU) 2024/1689 (Artificial Intelligence Act, EU AI Act), Ausgabe Regulation (EU) 2024/1689 (OJ 2024-07-12; stufenweise Anwendung). Art: regulatory. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen: ai-act-risk-classification, ai-act-risk-management. Katalogstatus: NOT_ASSESSED.

Plattformweite Katalogwerke mit Geltungsbereich all (unter anderem WCAG 2.2, EN 301 549 V4.1.1, ISO 9241-110:2020, ISO 9241-210:2019, ISO/IEC 25010:2023, ISO 9001:2026, ISO/IEC 27001:2022, APQC PCF 8.0, DSGVO, EU AI Act) umfassen dieses Modul mit. Wo der Volltext fehlt, bleibt der Zugang ohne Quelle, lizenzpflichtig oder nur als öffentliche Zusammenfassung gekennzeichnet. Auch diese Nennung weist keine eingehaltene Vorgabe nach.

⚙️

Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities

Systemische Fachlogik: Die faktische Umsetzung in Centurio ERP

Die System-Fachlogik dokumentiert die Realisierung im Modul automations und den Subsystemen workflows, integrations und cascade.

1. Datenmodelle & Semantische Schicht (ORM)

  • IntegrationConnector: Konnektordefinition (Felder: id, tenant_id, name, connector_type [shop, edifact, logistics, finance, custom_api], config_encrypted, status, last_sync_at).
  • WebhookEndpoint: Registrierter Webhook (Felder: id, name, endpoint_url, hmac_secret_encrypted, target_workflow_id, is_active).
  • WebhookEventLog: Protokoll aller empfangenen Payloads (Felder: webhook_endpoint_id, signature, fingerprint_hash, payload_json, status [received, processed, duplicate, failed]).
  • WorkflowGraph: Definition des No-Code Canvas DAGs (Felder: id, name, graph_json [Knoten, Kanten, Bindings], version, is_published).
  • WorkflowRun: Instanz eines ausgeführten Workflows (Felder: workflow_graph_id, status [running, waiting_approval, completed, failed], current_node_id, context_data).
  • DeadLetterQueueItem: Fehlerprotokoll für wiederholbare Ereignisse.

2. Das Capability-Register

  • cap:automations.webhook.validate_hmac: Kryptographische Überprüfung der Webhook-Signatur.
  • cap:automations.webhook.ingest: Empfang, Fingerprint-Prüfung und Speicherung des Payloads.
  • cap:automations.workflow.compile_dag: Validierung und Kompilierung des grafischen Canvas-Graphen.
  • cap:automations.workflow.execute_run: Ausführung eines deterministischen Workflow-Laufs.
  • cap:automations.workflow.approve_gate: Auflösen einer menschlichen Genehmigungsschranke.
  • cap:automations.uip.sync_connector: Ausführung des bidirektionalen Datentransfers über das Connector SDK.
  • cap:automations.dlq.retry_item: Manueller oder automatisierter Wiederanlauf eines fehlgeschlagenen Events.

3. Der Gateway gw:webhook_ingestion@v1

Sichert den externen Dateneingang ab:

  1. Prüfung: Verifiziert HMAC-Signatur und prüft den Fingerprint in WebhookEventLog.
  2. Deduplizierung: Existiert der Fingerprint bereits, wird mit HTTP 200 und Status duplicate geantwortet, ohne Folgeprozesse auszulösen.
  3. Kaskadierung: Erzeugt transaktional die kanonische Repräsentation (CDM) und übergibt an den gebundenen Workflow oder den Outbox-Bus.
  4. Signal: Feuert WEBHOOK_EVENT_INGESTED.

4. Statusmodelle

  • WorkflowRun: pending ➔ running ➔ waiting_approval ➔ completed oder failed.
  • Connector-Status: configured ➔ connected ➔ syncing ➔ idle oder error.
🤖

KI-Consultant Leitfaden: Customizing- & No-Code-Konzept (Soll-Ist-Synthese)

AI Solution Architect Blueprint

KI-Consultant Blueprint: Customizing & No-Code Architektur

Anleitung für Solution Architects zur Erstellung kundenspezifischer No-Code Automationen.

1. Kundenanforderungsanalyse

  • Welche Fremdsysteme sollen angebunden werden (z.B. WooCommerce-Shop, Datev-Connect, IoT-Sensoren)?
  • Welche manuellen Routineaufgaben der Mitarbeiter sollen automatisiert werden (z.B. E-Mail-Auftragsbestätigung, Bestandsabgleich)?
  • Wo müssen Schwellenwerte für menschliche Freigaben eingebaut werden?

2. No-Code Zusatzfelder (Custom Fields)

Im No-Code Studio (/semantic/customizing):

  • Auf WebhookEndpoint:
    • allowed_source_ip_range (Text): Zusätzlicher IP-Whitelist-Filter für Hochsicherheitsumgebungen.
    • sla_response_time_seconds (Ganzzahl): Schwellenwert für Alarmierung bei langsamen Schnittstellen.
  • Auf WorkflowRun:
    • business_transaction_id (Text): Verknüpfung zur externen Transaktionsnummer (z.B. Stripe-Charge-ID).

3. No-Code Workflow Canvas DAGs

Blueprint A: E-Commerce Webhook zu Auftragsanlage mit Schwellenwert-Gate
  • Trigger-Node: Webhook-Eingang shop.order_placed.
  • Transform-Node: Mapping auf kanonisches Verkaufsauftragsmodell (CDM_SalesOrder).
  • Condition-Node: cdm_order.total_amount > 5000.00 OR cdm_order.is_foreign_country == true.
    • Zweig True (Risiko): Human-in-the-Loop Gate ➔ Benachrichtigung an Vertriebsleiter; erst nach Klick auf Freigeben weiter.
    • Zweig False (Standard): Direkter Durchlauf.
  • Action-Node: Rufe cap:sales.sales_order.create auf und setze StockReservation.
Blueprint B: Dead-Letter-Queue Auto-Recovery mit Slack/Teams Alert
  • Trigger-Node: Event WORKFLOW_STEP_FAILED.
  • Condition-Node: retry_count < 3.
    • Zweig True: Plane Wiederholungsversuch mit exponentiellem Backoff ($2^{\text{retry}} \times 5$ Sekunden).
    • Zweig False: Verschiebe in DeadLetterQueueItem und sende dringenden Notfall-Alert per Webhook an den Admin-Kanal.

📚 Operative Prozessbegriffe & Transaktionsschnittstellen

Zentrale Fachbegriffe im Prozesszusammenhang (Operatives Modell)
Universal Integration Platform (UIP)
Zentrale mandantenfähige Integrationsplattform für externe Branchenlösungen.
Canonical Data Model (CDM)
Kanonisches Datenmodell zur Vereinheitlichung heterogener Drittsystem-Strukturen.
HMAC-Signatur (SHA-256)
Kryptographischer Nachweis der Authentizität und Unverfälschtheit eingehender Webhooks.
Idempotenz-Fingerprint
Eindeutiger Hash zur Vermeidung doppelter Transaktionsausführungen bei Netzwerkwiederholungen.
Canvas DAG
Gerichteter azyklischer Graph (Directed Acyclic Graph) visueller Workflow-Knoten.
Human-in-the-Loop Gate
Explizite Genehmigungsschranke vor Ausführung kritischer Datenmutationen.
Dead-Letter-Queue (DLQ)
Fehlerwarteschlange für fehlgeschlagene Ereignisse zur Diagnose und manuellen Wiederanlaufsteuerung.
📥 Eingänge & Trigger (Inputs)
  • Eingehendes Webhook-HTTP-Ereignis externer Systeme (Shop-Bestellung, Zahlungsstatus)
  • Periodischer Synchronisations-Poll über UIP-Connector
  • Systeminterner Event-Trigger über den Outbox-Eventbus
  • Inbox-E-Mail-Kaskaden-Signal (z.B. Kundenbestellung per Mail)
📤 Ausgänge & Arbeitsergebnisse (Outputs)
  • Kanonisch transformiertes ERP-Geschäftsobjekt (Canonical Data Model - CDM)
  • Erfolgreich ausgeführter mehrstufiger Canvas-Workflow-Lauf (WorkflowRun)
  • Audit-sicherer Ausführungsjournal-Eintrag (ExecutionJournalEntry)
  • Verifizierte Webhook-Empfangsbestätigung (200 OK mit HMAC / Event-ID)
  • Kaskadierte Folge-Entitäten (CRM-Lead, Verkaufsangebot, Lagerreservierung)
⚡ Kaskaden & Folgeprozesse (Cascades)
  • webhook_received -> cdm_mapping_executed: Transformation in kanonische Entitäten
  • inbox_order_classified -> create_sales_quote: Automatischer Angebotsentwurf
  • connector_sync_completed -> stock_level_updated: Bestandsabgleich im Zentrallager
  • step_failed -> dead_letter_queued: Verschiebung in Dead-Letter-Queue zur Prüfung
🛡️ Nebenprozesse & Resilienz
  • Idempotenz- und Deduplizierungsprüfung anhand des Event-Fingerprints
  • HMAC-Signaturvalidierung und Mandantentrennung (RLS-Guard)
  • Dead-Letter-Queue-Monitoring und manuelle Wiederanlaufsteuerung (Retry Policy)
  • Rate-Limiting und Circuit-Breaker-Schutz externer Schnittstellen
💡 No-Code Checkliste & Praxistipps
  • Neue Webhook-Endpunkte mit individuellem Secret und Ziel-Workflow im UI definieren
  • Connector-Mapping per No-Code-Felder-Zuordnung auf kanonische Felder konfigurieren
  • Freigaberegeln für riskante Transaktionen mit Prüfgate versehen
  • No-Code Zusatzfelder für IP-Whitelists und externe Referenzen auf WebhookEndpoint anlegen

🗄️ Data Models & Fields

InboundWebhookEndpoints inbound_webhook_endpoints RLS Aktiv
15 Fields / Columns

Tabelle inbound_webhook_endpoints

Feldname Data Type Required Schlüssel Functional Meaning
token VARCHAR(64) Ja * - Feld token
secret_encrypted TEXT Nein - Feld secret_encrypted
emits_signal_key VARCHAR(128) Ja * - Feld emits_signal_key
active BOOLEAN Ja * - Feld active
description VARCHAR(255) Nein - Feld description
created_by UUID Nein - Feld created_by
last_received_at DATETIME Nein - Feld last_received_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
InboundWebhookReceipts inbound_webhook_receipts RLS Aktiv
14 Fields / Columns

Tabelle inbound_webhook_receipts

Feldname Data Type Required Schlüssel Functional Meaning
endpoint_id UUID Ja * FK ➔ inbound_webhook_endpoints.id Feld endpoint_id
received_at DATETIME Ja * - Feld received_at
raw_payload JSONB Ja * - Feld raw_payload
signature_valid BOOLEAN Nein - Feld signature_valid
emitted_signal BOOLEAN Ja * - Feld emitted_signal
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
IntegrationConnections integration_connections RLS Aktiv
24 Fields / Columns

Tabelle integration_connections

Feldname Data Type Required Schlüssel Functional Meaning
connector_key VARCHAR(64) Ja * - Feld connector_key
name VARCHAR(255) Ja * - Feld name
description VARCHAR(512) Nein - Feld description
status VARCHAR(32) Ja * - Feld status
base_url VARCHAR(2048) Nein - Feld base_url
auth_type VARCHAR(32) Ja * - Feld auth_type
credentials_encrypted TEXT Ja * - Feld credentials_encrypted
settings JSONB Ja * - Feld settings
capabilities JSONB Ja * - Feld capabilities
sync_mode VARCHAR(32) Ja * - Feld sync_mode
is_active BOOLEAN Ja * - Feld is_active
last_sync_at DATETIME Nein - Feld last_sync_at
last_sync_status VARCHAR(32) Nein - Feld last_sync_status
last_error VARCHAR(1024) Nein - Feld last_error
api_connector_id UUID Nein FK ➔ api_connectors.id Feld api_connector_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
IntegrationEntityMappings integration_entity_mappings RLS Aktiv
20 Fields / Columns

Tabelle integration_entity_mappings

Feldname Data Type Required Schlüssel Functional Meaning
connection_id UUID Ja * FK ➔ integration_connections.id Feld connection_id
external_type VARCHAR(64) Ja * - Feld external_type
external_id VARCHAR(255) Ja * - Feld external_id
external_secondary_id VARCHAR(255) Nein - Feld external_secondary_id
internal_type VARCHAR(64) Ja * - Feld internal_type
internal_id UUID Ja * - Feld internal_id
match_confidence NUMERIC(4, 3) Ja * - Feld match_confidence
provenance VARCHAR(64) Ja * - Feld provenance
sync_state VARCHAR(32) Ja * - Feld sync_state
last_synced_at DATETIME Nein - Feld last_synced_at
payload_fingerprint VARCHAR(64) Nein - Feld payload_fingerprint
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
IntegrationSyncItems integration_sync_items RLS Aktiv
12 Fields / Columns

Tabelle integration_sync_items

Feldname Data Type Required Schlüssel Functional Meaning
sync_run_id UUID Ja * FK ➔ integration_sync_runs.id Feld sync_run_id
external_id VARCHAR(255) Nein - Feld external_id
internal_id UUID Nein - Feld internal_id
action VARCHAR(32) Ja * - Feld action
status VARCHAR(16) Ja * - Feld status
error_message TEXT Nein - Feld error_message
payload JSONB Ja * - Feld payload
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
IntegrationSyncRuns integration_sync_runs RLS Aktiv
23 Fields / Columns

Tabelle integration_sync_runs

Feldname Data Type Required Schlüssel Functional Meaning
connection_id UUID Ja * FK ➔ integration_connections.id Feld connection_id
direction VARCHAR(16) Ja * - Feld direction
entity_type VARCHAR(64) Ja * - Feld entity_type
mode VARCHAR(32) Ja * - Feld mode
status VARCHAR(32) Ja * - Feld status
records_processed INTEGER Ja * - Feld records_processed
records_created INTEGER Ja * - Feld records_created
records_updated INTEGER Ja * - Feld records_updated
records_skipped INTEGER Ja * - Feld records_skipped
records_failed INTEGER Ja * - Feld records_failed
started_at DATETIME Ja * - Feld started_at
completed_at DATETIME Nein - Feld completed_at
error_summary TEXT Nein - Feld error_summary
details JSONB Ja * - Feld details
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
WebhookDeliveries webhook_deliveries RLS Aktiv
19 Fields / Columns

Tabelle webhook_deliveries

Feldname Data Type Required Schlüssel Functional Meaning
subscription_id UUID Ja * FK ➔ webhook_subscriptions.id Feld subscription_id
signal_key VARCHAR(128) Ja * - Feld signal_key
payload JSONB Ja * - Feld payload
status VARCHAR(16) Ja * - Feld status
attempt_count INTEGER Ja * - Feld attempt_count
next_attempt_at DATETIME Nein - Feld next_attempt_at
last_error TEXT Nein - Feld last_error
response_status INTEGER Nein - Feld response_status
response_body TEXT Nein - Feld response_body
delivered_at DATETIME Nein - Feld delivered_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
WebhookSubscriptions webhook_subscriptions RLS Aktiv
15 Fields / Columns

Tabelle webhook_subscriptions

Feldname Data Type Required Schlüssel Functional Meaning
signal_key VARCHAR(128) Ja * - Feld signal_key
target_url VARCHAR(2048) Ja * - Feld target_url
secret_encrypted TEXT Nein - Feld secret_encrypted
connector_operation_id UUID Nein FK ➔ connector_operations.id Feld connector_operation_id
active BOOLEAN Ja * - Feld active
description VARCHAR(255) Nein - Feld description
created_by UUID Nein - Feld created_by
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
WorkflowBlueprints workflow_blueprints
10 Fields / Columns

Tabelle workflow_blueprints

Feldname Data Type Required Schlüssel Functional Meaning
key VARCHAR(96) Ja * - Feld key
version INTEGER Ja * - Feld version
status VARCHAR(16) Ja * - Feld status
active BOOLEAN Ja * - Feld active
definition JSONB Ja * - Feld definition
content_hash VARCHAR(64) Ja * - Feld content_hash
source VARCHAR(255) Ja * - Feld source
id UUID Nein PK Feld id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
WorkflowCheckpoints workflow_checkpoints RLS Aktiv
19 Fields / Columns

Tabelle workflow_checkpoints

Feldname Data Type Required Schlüssel Functional Meaning
run_id UUID Ja * FK ➔ workflow_runs.id Feld run_id
source_kind VARCHAR(16) Ja * - Feld source_kind
source_id UUID Ja * - Feld source_id
definition JSONB Ja * - Feld definition
definition_hash VARCHAR(64) Ja * - Feld definition_hash
semantic_binding JSONB Nein - Feld semantic_binding
semantic_binding_hash VARCHAR(64) Nein - Feld semantic_binding_hash
state VARCHAR(16) Ja * - Feld state
cursor INTEGER Ja * - Feld cursor
facts JSONB Ja * - Feld facts
references JSONB Ja * - Feld references
review_ids JSONB Ja * - Feld review_ids
agent_run_id UUID Nein - Feld agent_run_id
error_code VARCHAR(120) Nein - Feld error_code
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
WorkflowCommands workflow_commands RLS Aktiv
11 Fields / Columns

Tabelle workflow_commands

Feldname Data Type Required Schlüssel Functional Meaning
requested_by UUID Ja * - Feld requested_by
agent_name VARCHAR(64) Ja * - Feld agent_name
idempotency_key VARCHAR(128) Ja * - Feld idempotency_key
input JSONB Ja * - Feld input
input_hash VARCHAR(64) Ja * - Feld input_hash
proposal_only BOOLEAN Ja * - Feld proposal_only
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
WorkflowRunEvents workflow_run_events RLS Aktiv
11 Fields / Columns

Tabelle workflow_run_events

Feldname Data Type Required Schlüssel Functional Meaning
run_id UUID Ja * FK ➔ workflow_runs.id Feld run_id
sequence INTEGER Ja * - Feld sequence
node_key VARCHAR(64) Ja * - Feld node_key
transition VARCHAR(32) Ja * - Feld transition
blueprint_hash VARCHAR(64) Ja * - Feld blueprint_hash
evidence JSONB Ja * - Feld evidence
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
WorkflowRuns workflow_runs RLS Aktiv
17 Fields / Columns

Tabelle workflow_runs

Feldname Data Type Required Schlüssel Functional Meaning
workflow_name VARCHAR(64) Ja * - Feld workflow_name
workflow_version INTEGER Ja * - Feld workflow_version
trigger_event_id UUID Nein FK ➔ domain_events.id Feld trigger_event_id
trigger_event_type VARCHAR(64) Ja * - Feld trigger_event_type
status VARCHAR(48) Ja * - Feld status
steps JSONB Ja * - Feld steps
finished_at DATETIME Nein - Feld finished_at
last_error TEXT Nein - Feld last_error
correlation_id UUID Nein - Feld correlation_id
causation_id UUID Nein - Feld causation_id
parent_run_id UUID Nein FK ➔ workflow_runs.id Feld parent_run_id
workflow_depth INTEGER Ja * - Feld workflow_depth
idempotency_key VARCHAR(64) Nein - Feld idempotency_key
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at

🔌 Entry Points (UI & APIs)

Art Method Endpoint / Path Titel & Zweck Required Role
⚡ REST API GET /api/v1/workflow-instances
list_workflow_instances
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /api/v1/workflow-instances/blueprints
list_workflow_blueprints
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /api/v1/workflow-instances/metrics/autonomy
autonomy_metrics
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /api/v1/workflow-instances/{run_id}
get_workflow_instance
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /api/v1/workflow-instances/{run_id}/simulation
simulate_workflow_instance
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /automationen
automations_page
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API GET /workflows
workflows_page
Semantic binding: inventory_only; mutation=False
automations
⚡ REST API POST /api/v1/workflow-instances/{run_id}/retry
retry_workflow_instance
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/deliveries/{delivery_id}/redeliver
redeliver
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/inbound
create_inbound_endpoint
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/inbound/{endpoint_id}
update_inbound_endpoint
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/inbound/{endpoint_id}/delete
delete_inbound_endpoint
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/subscriptions
create_subscription
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/subscriptions/{subscription_id}
update_subscription
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/subscriptions/{subscription_id}/delete
delete_subscription
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /automationen/subscriptions/{subscription_id}/test
send_test_delivery
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /webhooks/in/{token}
webhook_inbound
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /webhooks/paypal
webhook_paypal
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /webhooks/stripe
webhook_stripe
Semantic binding: operator_surface; mutation=True
automations
⚡ REST API POST /webhooks/unzer
webhook_unzer
Semantic binding: operator_surface; mutation=True
automations
🖥️ WEB-UI GET /portal/automations
Automations-Studio
Webhook-Endpunkte und Signal-Subscriptions verwalten
Standard
🖥️ WEB-UI GET /portal/integrations
UIP Connector Hub
Verbindungen zu externen Spezialanwendungen konfigurieren
Standard
🖥️ WEB-UI GET /portal/semantic/designer
No-Code Workflow Designer
Visueller Canvas-Editor für benutzerdefinierte Workflows
Standard
⚡ REST API POST /api/v1/automations/webhooks/inbound/{slug}
Webhook Ingestion
Öffentlicher Endpunkt für externe Webhook-Aufrufe mit HMAC
Standard
⚡ REST API POST /api/v1/automations/webhooks/subscriptions
Webhook Subscription
Ausgehendes Event-Abonnement anlegen oder bearbeiten
Standard
⚡ REST API POST /api/v1/integrations/uip/connections/{id}/sync
UIP Sync starten
Manuelle oder automatisierte Synchronisation triggern
Standard
⚡ REST API POST /api/v1/integrations/uip/connections/{id}/test
Verbindungstest
Diagnose und Health-Check für Connector-Verbindung
Standard
⚡ REST API POST /api/v1/workflows/canvas/{id}/compile
Canvas kompilieren
DAG-Validierung und Kompilierung des visuellen Graphen
Standard
⚡ REST API POST /api/v1/workflows/canvas/{id}/run
Workflow ausführen
Durable Workflow-Lauf anstoßen
Standard
⚡ REST API POST /api/v1/workflows/canvas/{id}/approve
Gate genehmigen
Menschliche Freigabeschranke autorisieren
Standard
⏳ WORKER JOB worker.webhook_delivery_runner
Webhook Auslieferungs-Runner
Asynchrone Auslieferung mit Exponential Backoff
Standard
⏳ WORKER JOB worker.uip_sync_worker
UIP Synchronisations-Worker
Periodischer Datenabgleich und CDM-Normalisierung
Standard

🛡️ Regulatory & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GoBD Revisionssicherheit: Lückenloses Ausführungsjournal und unveränderbare Protokolle
  • PostgreSQL Row-Level-Security (RLS): Strikte Mandantentrennung auf allen Tabellen
  • HMAC-SHA256 Signaturnachweis & Replay-Schutz gegen Manipulation von Schnittstellen
  • Dead-Letter Queue (DLQ) Fehlertoleranz nach anerkannten EAI-Enterprise-Standards
  • DSGVO Art. 28: Protokollierung externer Datenflüsse und Bereinigung temporärer Nutzlasten
Related Modules:
➔ semantic_core ➔ agents ➔ inbox ➔ sales ➔ crm ➔ inventory ➔ purchasing