Skip to content

OTOBO / Znuny - Artificial Intelligence

AI Ticket Classification

Under Development

ATC is currently in an early stage and is constantly being developed. The features described below are not yet fully implemented and are subject to change.

License

Copyright (c) 2024 - 2025 by Softoft, Tobias Bueck Einzelunternehmen This code is part of the "OTOBO - AI Ticket Classification - Basic" and is governed by its license agreement. Full license in LICENSE_DE.md / LICENSE_EN.md. This code cannot be copied and/or distributed without the express permission of Softoft, Tobias Bueck Einzelunternehmen.

System Requirements

  • At least 4 GB RAM (8 GB recommended) - 4GB RAM should be available for ATC
  • At least 10 GB of free disk space
  • OTOBO must be installed

Installation

Step 1: Configure the Database

ATC needs access to the OTOBO database to collect the training data. For this, a username and a password are required. The root user can be used for this, for example. However, it would be best to define a new user with limited rights. ATC only needs read access to the DB.

Step 2: Create OTOBO User

ATC needs a user in OTOBO to classify the tickets. For this, a username and a password are required. The user needs permissions to read tickets from the "Email Input Queue" and the right to move them to another queue and set a priority.

Step 3: OTOBO Priorities

ATC is trained with queue and priority data to obtain the best possible prediction model. Unused priorities should be set to invalid.

Step 4: OTOBO Queues

ATC takes the tickets from the input email queue. If there is no email queue yet, create one. Also, if there is no Unclassified queue yet, create a new one. ATC moves tickets it is unsure about to the Unclassified queue.

Step 5: Configure Webservices

Step 6: Create a new Docker-Compose override file

In /opt/otobo-docker/docker-compose, create the file otobo-atc.yml.

Then insert the following content:

Step 7: Adjust Configuration Files

In the OTOBO .env file, set the following variables:

dotenv
DATABASE_HOST="db"
DATABASE_PORT="3306"
DATABASE_USER="root"
DATABASE_PASSWORD="1234"
MIN_PREDICTION_CONFIDENCE=0.7
UNCLASSIFIED_QUEUE_NAME=unclassified
OTOBO_USER_NAME=atc
OTOBO_USER_PASSWORD=1234

Also, adjust the COMPOSE_FILE variable and add otobo-atc.yml.

Step 8: Install ATC

bash
docker-compose down
docker-compose up -d --build

Usage

Data Scraping

To collect the ticket data for training, execute the following command:

bash
docker exec -it atc collect-data

The collected data is saved in a specific file. This file is then used to train the model.

Model Training

To train the model, execute the following command. However, data must have been collected beforehand.

bash
docker exec -it atc train

Activate Prediction

To activate ATC, so that ATC permanently classifies the tickets. This means all incoming emails will be classified.

bash
docker exec -it atc activate

Deactivate Prediction

bash
docker exec -it atc deactivate

AI Ticket Classification