Skip to content

ADR 01: System Architecture

Statusproposed
Author@freinold
Voters@freinold, @lenabMUC, @pilitz
Drafted2025-09-23
Timelinetbd

< optionally reference related ADRs >

Context and Problem Statement

We need to decide on the system architecture for the Zammad-AI project. The system architecture should be scalable, maintainable, and easy to understand. It should embed well with the existing Zammad infrastructure.

The following criteria are relevant for the decision:

  • Maintainability: The architecture should be easy to modify and extend.
  • Integration: The architecture should integrate well with existing components (Zammad, Kafka).
  • Transferability: The architecture should allow for easy transfer to other projects or use cases.

Proposed Architecture

We propose a single service architecture for the Zammad-AI project. This 'zammad-ai' service will be responsible for all AI-related functionalities and will communicate with the existing Zammad services via APIs.

The service shall be notified via a Kafka topic about new tickets and ticket updates. It shall then gather ticket information via the API. The ticket shall first be triaged to determine if AI assistance is needed. If so, the service shall generate a response using a GenAI model and enhance it with relevant context from a knowledge base or external tools. Finally, the generated response shall be sent back to Zammad via the API as a draft.

For other use cases like summarization, the service logic can be extended in the future.

Decision Made

We have decided to implement a single service for the Zammad-AI project. This approach allows for better scalability, maintainability, and integration with existing components. The use of a dedicated 'zammad-ai' service will enable us to focus on AI-related functionalities while leveraging the existing Zammad infrastructure.

Last updated: