AI Ticket Routing for Mobile App

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
AI Ticket Routing for Mobile App
Medium
~3-5 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    761
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    649
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1071
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    884
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    466

Implementing AI-Powered Ticket Routing in Mobile Applications

Classification answers "what is this?" Routing answers "who gets this?" Different problem. A ticket labeled "technical issue"—but which specific agent or queue? Experienced staff, specialized agents, available agent in right timezone. Without AI, it's manual rules in Zendesk that break at scale.

Routing architecture in mobile context

Mobile app is the ticket entry point. Routing happens server-side; client just submits with metadata. But what metadata the client collects determines routing quality.

Minimum metadata for good routing:

  • user_id + previous ticket history (from cache)
  • platform (iOS/Android), app_version, os_version
  • last_screen — screen user was on before submitting
  • session_events — last 20 actions from analytics (Firebase Analytics logEvent)
  • Category from classifier (if already implemented)
  • device_locale — device language

On iOS, collect:

struct TicketContext: Encodable {
    let userId: String
    let platform = "ios"
    let appVersion: String = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? ""
    let osVersion: String = UIDevice.current.systemVersion
    let lastScreen: String
    let sessionEvents: [String]
    let locale: String = Locale.current.identifier
    let previousTicketsCount: Int
}

Server-side routing logic

Server receives ticket with context and runs through routing engine. Two approaches:

Rules + ML hybrid

First filter—hard rules. If app_version < "3.0" and category billing, route to legacy billing queue; they know that version. These rules live in codebase, not in model—business changes them, not data scientists.

Second filter—ML ranking across free agents. Use simple multi-armed bandit or gradient boosting (LightGBM) on features: ticket topic, language, agent rating on similar tickets, current workload.

LLM-based routing

For low volume without a data scientist, OpenAI function calling handles routing as zero-shot classifier:

# Backend (Python)
routing_response = openai.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{
        "role": "system",
        "content": f"Available queues: {json.dumps(queue_descriptions)}. Route the ticket."
    }, {
        "role": "user",
        "content": ticket_text
    }],
    tools=[route_ticket_tool],
    tool_choice={"type": "function", "function": {"name": "route_ticket"}}
)

One gpt-4o-mini call costs ~$0.0001. At 1000 tickets/day that's $3/month. Good starting point.

Display routing status in app

After submit, users want to know what's happening. Implement WebSocket or SSE for real-time status updates.

// Android—update status via StateFlow
class TicketStatusViewModel : ViewModel() {
    private val _status = MutableStateFlow<TicketStatus>(TicketStatus.Sent)
    val status = _status.asStateFlow()

    fun observeTicket(ticketId: String) {
        webSocketManager.observe(ticketId)
            .onEach { event ->
                when (event) {
                    is TicketEvent.Routed -> _status.value = TicketStatus.Routed(event.agentName, event.estimatedTime)
                    is TicketEvent.AgentAssigned -> _status.value = TicketStatus.InProgress(event.agentName)
                    is TicketEvent.Resolved -> _status.value = TicketStatus.Resolved
                }
            }
            .launchIn(viewModelScope)
    }
}

iOS equivalent via Combine + URLSessionWebSocketTask.

Reassignment and escalation

Routers make mistakes. Allow agents to reassign and feed that back to the system—training signal for the model. Mobile client should show reassignment without reload.

Common mistake: store assigned_agent_id only server-side without pushing update to mobile via push notification. User sees "ticket submitted" and doesn't know agent already changed.

Process

Audit current routing rules → describe queues and criteria → implement context collection on client → integrate with server routing engine → real-time status in UI → log reassignments for model improvement.

Timeline estimates

Basic rule-based routing with client context—1 week. Hybrid with ML ranking—3–5 weeks. Real-time WebSocket status—3–5 days separate.