Thummar Technologies
Company
Industries
Technologies
Resource
Customer Service Inbox — Email-to-Ticket Support Management System

HOME - our portfolio - customer service inbox

Customer Service Inbox — Email-to-Ticket Support Management System
Customer Service Inbox — Email-to-Ticket Support Management System
Industry
Industry

Technology / Support Services

Built for
Built for

Web

Project Type
Project Type

Support Management

Region
Region

Global

Deployment
Deployment

On-Premise / IIS

Project Description

The Customer Service Inbox is a centralised, web-based email-to-ticket support management platform built by TTPL using ASP.NET Web Forms and Entity Framework. Designed for internal customer support teams, it automatically ingests inbound emails and converts them into structured tickets — giving agents a unified queue to manage, categorise, assign, and resolve customer enquiries without ever leaving the application.

The system operates as a full-lifecycle helpdesk: from the moment an email arrives and an auto-responder is sent, through intelligent rule-based routing and agent assignment, to final resolution with a tracked close reason. Every action — status change, reassignment, escalation, or note — is recorded in a complete per-ticket history log, giving supervisors and administrators full visibility over how support enquiries are handled.

The platform supports multiple agents with configurable role-based access, a live presence system (Online / Working / Offline), day-of-week and time-window auto-assignment rules, sender-based forwarding rules, outside escalation to external parties, and a global settings panel for auto-responder and assignment notification email templates — all managed from a single internal web application without requiring any third-party helpdesk subscription.

Goal

The goal of the Customer Service Inbox was to replace ad-hoc, inbox-based customer support with a structured, auditable helpdesk platform — giving a support team a single place to receive, manage, and resolve every customer enquiry with full traceability and configurable automation.

  • Automatically ingest inbound support emails and convert them into tracked tickets so no customer message is ever missed or handled informally
  • Provide a unified three-panel inbox — Unassigned, Active, and On-Hold — so agents can immediately see their workload and prioritise effectively
  • Implement intelligent auto-assignment rules (by day and time window) and sender-based forwarding rules to route tickets to the right agent without manual intervention
  • Track the complete lifecycle of every ticket — received, assigned, on-hold, closed — with per-status notes and a full status history log for accountability and reporting
  • Support outside escalation workflows so tickets that require third-party involvement can be formally routed to external contacts and tracked to resolution
  • Give administrators full control over categories, statuses, resolutions, users, assignment rules, and global email templates from a self-contained admin panel
Challenges

Email Ingestion and Ticket Creation Pipeline: Bridging an external email inbox with the internal database required a reliable ingestion mechanism that parsed raw email headers (From, To, Cc, Subject, Body) and created well-formed Ticket records in real time — including handling attachments, storing them against the correct ticket, and triggering the auto-responder email to the sender immediately on receipt.

Rule-Based Auto-Assignment Without Conflicts: The auto-assignment engine had to evaluate multiple rules simultaneously — matching by day of week, start time, end time, and active/inactive state — while respecting per-agent MaxTickets limits. When no rule matched, the ticket had to remain in the Unassigned queue without being dropped. ForwardingRules introduced an additional layer where sender-specific rules could override or bypass the auto-assignment logic entirely, requiring a clear rule-priority hierarchy (forwarding rules first, then auto-assignment).

Complete Ticket History Without Data Loss: Every status transition — change status, reassign, escalate to outside — had to update the current state on the Ticket record and simultaneously close the last open TicketStatu entry (setting StatusEndDate) before inserting a new open entry. Maintaining this dual-write integrity across all three status-change code paths (Change Status, Reassign, Send Outside) was critical to keeping the audit log accurate and gap-free.

Simultaneous Multi-Queue Inbox View: The inbox page had to load three independent ticket queues (Unassigned, Active, On-Hold) with their respective counts, filtering correctly by status type — and do so while also pre-loading all dropdowns (Category, Status, Resolution, User, OutsideAssignment) for the action panel, all on a single page load without performance degradation.

Live Presence System: Tracking agent online/offline/working status required recording UserActivity entries on login and logout, keeping the StatusEndDate null while the user is active, and closing the record on sign-out via an ASMX web method — while ensuring the FormsAuthentication session remained consistent with the activity log even when users closed the browser without explicitly signing out.

Solutions
Email-to-Ticket Ingestion with Auto-Responder

Inbound emails are pulled into the system via a dedicated TicketWebService ASMX endpoint and parsed into Ticket records capturing From, To, Cc, Subject, Body, and ReceivedDate. Attachments are stored as TicketAttachment records linked to the parent ticket by TicketID. On ingestion, the system immediately sends a configurable auto-responder email to the sender using the subject and body templates defined in GlobalSettings — ensuring every customer receives instant acknowledgment of their enquiry.

Three-Panel Inbox — Unassigned, Active & On-Hold

The main inbox page loads three independent ticket panels simultaneously: Unassigned (tickets with no CurrentStatusID), Active (tickets whose status Type is 'Active'), and On-Hold (tickets whose status Type is 'On-Hold'). Each panel displays a live count and is conditionally hidden when empty. Clicking any ticket triggers an AJAX call to TicketWebService.GetTicketDetails and GetAttachmentTicketById to populate the detail panel without a full page reload — keeping the agent's context intact while they review the ticket body, attachments, and history.

Intelligent Auto-Assignment & Forwarding Rules Engine

Two complementary rule engines handle ticket routing. AutoAssignmentRules define day-of-week and time-window conditions (StartTime, EndTime, Active) to automatically distribute incoming tickets to available agents, subject to per-agent MaxTickets caps. ForwardingRules define sender-specific routes (FromEmailAddress → AssignToID) with a configurable order and an IgnoreAutoAssignment flag — allowing VIP senders or known external systems to always reach the same agent, overriding the time-based assignment logic when needed.

Full Ticket Action Panel — Status, Reassignment & Escalation

From the ticket detail view, agents can take four distinct actions. Save updates the subject and category. Change Status updates CurrentStatusID, logs a TicketStatu history entry with a free-text note, and — if the new status is Closed — records a ResolutionID and ClosedDate. Reassign transfers CurrentAssignment to a new agent and logs the change with a note. Send Outside sets an OutsideAssignmentID (external contact with name and email), marks OutsideAssignment = true, and updates the status — letting supervisors formally escalate tickets to third-party vendors, partners, or external teams while keeping the ticket in the system.

Per-Ticket Status History & Audit Log

Every status-change action writes a new TicketStatu record with StatusID, StatusStartDate, optional ResolutionID, and a free-text note — and simultaneously closes the previous open record by setting its StatusEndDate to the current UTC time. This dual-write pattern maintains a gapless chronological log of every state transition a ticket has ever been through, giving administrators and supervisors a complete audit trail for any support enquiry from receipt to resolution.

Administration Panel — Categories, Statuses, Resolutions & Settings

A role-protected administration panel gives managers full self-service control over the platform's reference data. Category management (name, active flag) lets teams classify ticket topics. Status management defines configurable statuses with an Active or On-Hold type, controlling which queue a ticket appears in. Resolution types (name, type, active) classify how closed tickets were handled. Global Settings configure the MaxAutoAssignedTickets limit, the auto-responder email template (subject + body), and the agent assignment notification email template — all editable without any code changes.

Role-Based Security & Live Agent Presence

Authentication is handled via ASP.NET FormsAuthentication, with a PageBase class enforcing login and role checks on every page. A SecurityRole and SecurityUserRole join table implements flexible role assignment per user. A UserActivity table tracks each agent session — recording login time (StatusStartDate) and logout time (StatusEndDate), with a status field (Online / Working / Offline) updated in real time. Sign-out is processed via an AJAX call to the WebMethods.SignoutUser ASMX endpoint, which closes the open activity record and calls FormsAuthentication.SignOut() in a single atomic operation.

Tech Stack
Tags
Industry
Visuals
THUMMAR TECHNOLOGIES
icon
TRUSTED BY CLIENTS IN 8+ COUNTRIES
icon
ENGINEERING EXCELLENCE
icon
DIGITAL TRANSFORMATION PARTNER
icon
FUTURE-READY SOLUTIONS
icon
GLOBAL SOFTWARE DEVELOPMENT COMPANY
icon
YOUR SUCCESS IS OUR MISSION
icon
50+ PROJECTS DELIVERED GLOBALLY
icon
ON-TIME. ON-BUDGET. ON-POINT.
icon
WHERE VISION MEETS EXECUTION
icon
BUILDING TECHNOLOGY THAT EMPOWERS BUSINESS
icon
THUMMAR TECHNOLOGIES
icon
TRUSTED BY CLIENTS IN 8+ COUNTRIES
icon
ENGINEERING EXCELLENCE
icon
DIGITAL TRANSFORMATION PARTNER
icon
FUTURE-READY SOLUTIONS
icon
GLOBAL SOFTWARE DEVELOPMENT COMPANY
icon
YOUR SUCCESS IS OUR MISSION
icon
50+ PROJECTS DELIVERED GLOBALLY
icon
ON-TIME. ON-BUDGET. ON-POINT.
icon
WHERE VISION MEETS EXECUTION
icon
BUILDING TECHNOLOGY THAT EMPOWERS BUSINESS
icon
flag

Ahmedabad, India

call
inquiry@thummartechnologies.com
Message
+91 9725497682
location
2/3/A Samruddhi Complex, Near Saspan Cross Road, Nikol, Ahmedabad - 382350

© 2026 Thummar Technologies. All rights reserved.

LinkedInX (Twitter)FacebookInstagram