Automated Ticket Classification API

Automated Ticket Classification API
Aktualisiert am 13.6.2025
Tobias Bueck

Tobias Bueck

Hello! I am Tobias Bueck, founder of Softoft. As a computer scientist, I share insights on my blog about software development, particularly the OTOBO ticket system, as well as automation tools like UIPath and Zapier.

This article introduces a REST API for ticket classification. The API analyzes incoming support requests and automatically classifies them by priority, category, tags, and other attributes. This allows for efficient and accurate handling of customer inquiries, improves response times, and increases customer satisfaction.

How the API Works

The developed REST API for ticket classification works by analyzing incoming support requests and classifying them based on various criteria. Here is a detailed description of how the API works:

Input

The API expects a JSON message as input, which can contain the following fields:

  • email_address (optional): The sender's email address.
  • subject (optional): The email's subject.
  • body (optional): The text content of the email.
  • timestamp (optional): The time the email was sent.
  • meta_headers (optional): Additional meta headers of the email, e.g., User-Agent or Content-Type.
  • customer_data (optional): Additional data about the customer, such as previous tickets and their history.

An example of an input could look like this:

{
  "email_address": "tab@softoft.de",
  "subject": "Problem with my order",
  "body": "I have a problem with my last order. Please help me.",
  "timestamp": "2023-06-05T12:00:00Z",
  "meta_headers": {
    "User-Agent": "Mozilla/5.0",
    "Content-Type": "text/plain"
  },
  "customer_data": {
    "customer_id": "1008",
    "previous_tickets": [
      {
        "ticket_id": "001",
        "subject": "Invoice not received",
        "body": "I have not received my invoice. Can you resend it?",
        "response": "Your invoice has been resent.",
        "priority": "medium",
        "queue": "Billing",
        "timestamp": "2023-05-01T08:30:00Z"
      },
      {
        "ticket_id": "002",
        "subject": "Defective product",
        "body": "The product I received is defective. What should I do?",
        "response": "Please return the defective product to us, and we will replace it.",
        "priority": "high",
        "queue": "Technical",
        "timestamp": "2023-05-15T09:15:00Z"
      }
    ]
  }
}

Processing

After receiving the request, the API analyzes and classifies the data. Various machine learning algorithms and heuristics are used to determine the following classification data:

  1. Priority: The urgency of the request (e.g., high, medium, low).
  2. Queue or Category: The appropriate queue or category in which the ticket should be placed (e.g., Technical, Billing, General).
  3. Tags: Additional tags for better categorization (e.g., "Complaint", "Payment").
  4. Estimated Processing Time: The estimated time required to process the ticket.
  5. Assignment to Staff/Agent: The specific staff member or agent to whom the ticket should be assigned, based on expertise and availability.

Output

The API returns a JSON message containing the classified data. An example output might look like this:

{
  "priority": "high",
  "queue": "Technical",
  "tags": [
    "Complaint",
    "Order"
  ],
  "estimated_time": "2 hours",
  "assigned_agent": "markus.turan"
}

Through this structured and automated classification, companies can ensure that support requests are handled efficiently and accurately, leading to improved customer satisfaction and optimized workflows.

Setup and Data Requirements

For the API classifications to function correctly, the API first needs data on how the customer's specific ticket system is organized. This includes information about the available queues, priorities, and, if desired, additional tags. Furthermore, data on past tickets and their processing times are necessary to make accurate predictions and classifications.

Available Queues and Priorities

First, the available queues must be defined into which tickets can be sorted. A queue represents a category or department, such as Technical, Billing, or General. Equally important are the priorities that indicate the urgency of a ticket, such as high, medium, or low. This information must be provided to the API to enable accurate classification.

Tags and Historical Processing Times

To categorize tickets even more precisely, additional tags can be used. Tags are keywords that provide more information about the nature of the problem or the required action, such as "Complaint" or "Payment." Additionally, historical data on previous tickets and their processing times are necessary. This data helps the API accurately calculate the estimated processing time and other classifications based on past experiences.

Setup via the ATC API Online Portal or the API

The necessary data and configurations can be set up either through the ATC API Online Portal or directly via the API. The ATC API Online Portal offers a user-friendly interface for entering and managing the required information. Alternatively, this can also be done programmatically via the API, which is especially useful for developers and integrators who prefer automated setup.

Example of an API setup:

{
  "queues": [
    "Technical",
    "Billing",
    "General"
  ],
  "priorities": [
    "high",
    "medium",
    "low"
  ],
  "tags": [
    "Complaint",
    "Payment",
    "Order"
  ],
  "historical_data": [
    {
      "ticket_id": "001",
      "queue": "Billing",
      "priority": "medium",
      "tags": [
        "Complaint"
      ],
      "resolution_time": "3 hours"
    },
    {
      "ticket_id": "002",
      "queue": "Technical",
      "priority": "high",
      "tags": [
        "Defect"
      ],
      "resolution_time": "2 hours"
    }
  ]
}

By providing this setup and data, it ensures that the API has the necessary information to accurately classify incoming tickets and make the support process more efficient.

If you are interested in the API or need more information, feel free to contact us at atc-api@softoft.de

Conclusion

The introduced REST API for ticket classification offers an efficient solution for the automated handling of support requests. By accurately analyzing and classifying tickets, companies can improve their response times and increase customer satisfaction. The flexible setup via the ATC API Online Portal or directly through the API allows for easy integration and customization to specific needs. Overall, this solution significantly contributes to the optimization of customer service.

CookieFirst Logo

Wir verwenden Cookies

Wir können diese zur Analyse unserer Besucherdaten platzieren, um unsere Webseite zu verbessern, personalisierte Inhalte anzuzeigen und Ihnen ein großartiges Webseiten-Erlebnis zu bieten. Für weitere Informationen zu den von uns verwendeten Cookies öffnen Sie die Einstellungen.