Designing ticket management that retained 60+ CRM customers
Company
Upsales
Role
Product Designer
Platform
Web · Mobile
Team
1 product owner · 5 devs
Overview
An early-stage support tool inside Upsales was losing customers to external ticketing solutions. As the product designer, I worked alongside a product owner and five developers to design and ship 15+ features across web and mobile that closed the gaps, helping retain 60+ paying customers and turning ticket management into a product teams relied on daily.

Background
Ticket management is a product within the Upsales CRM that lets customer teams handle support requests without leaving the platform. It was in its early stage and starting to gain adoption when customer feedback revealed feature gaps.
Discovery
We gathered insights from feature requests and support feedback, then prioritized them with the product owner to determine which gaps to address first.
We identified multiple pain points: customers needed to merge duplicate tickets, manage external contacts, pause tickets they couldn't act on yet, distinguish unread tickets at a glance, and manually change ticket status. Without these capabilities, teams were working around the product rather than within it.
We couldn't address everything at once. With limited development capacity, we weighed which gaps caused the most workaround behavior against what was fastest to ship. We started with the five features where customer pain and implementation feasibility overlapped most, each shaped by specific customer feedback and close collaboration with the development team.
Exploration
I studied competitor flows in Zendesk and Freshdesk to understand common patterns, then worked through low-fidelity mockups with the product owner before creating high-fidelity designs aligned with the design system.
Solution
Each feature was designed to remove a specific workaround customers had adopted. Rather than rethinking the product from scratch, we focused on targeted improvements that fit naturally into the existing interface. I worked through each problem with the product owner to define scope, then moved from low-fidelity concepts to high-fidelity designs aligned with the design system.
Merge tickets
Customers often received duplicate tickets for the same issue from different channels. I designed a merge flow that lets users select a primary ticket and fold others into it. The flow clearly communicates what happens during a merge, so users can act with confidence.

Snooze functionality
Some tickets couldn't be acted on immediately, whether waiting on a reply or under investigation, but they shouldn't clutter the active queue. I designed a snooze feature that temporarily removes tickets from the inbox and resurfaces them at a chosen time, so users can focus on what's actionable now.

External contacts
Tickets sometimes involved people outside the organization, like suppliers, service providers, or partners, but the system only supported internal contacts. I designed a way to bring external parties into ticket conversations without exposing internal discussion, so teams could manage all communication in one place.

Unread ticket indicators
With growing ticket volumes, users had no way to tell which tickets had new activity. I designed visual indicators that highlight unread updates, helping users prioritize without opening every ticket.

Ticket status
Tickets moved through stages, from open to waiting to resolved, but the system didn't let users manually change the status. I designed a straightforward way to update ticket status directly, giving teams control over their workflow without relying on automated rules alone.

Mobile app
Ticket management only existed on web, so we extended it to the Upsales iOS and Android apps. I worked with the product owner and mobile developers on early concepts, user flows, microcopy, and high-fidelity mockups.

Expanding the product
After the initial features shipped, I stayed on as the lead designer for ticket management and expanded it across more areas:
Outcome
What started as five features grew into a full product ownership role. Improvements closed the gaps that risked pushing customers toward external tools, and ticket management expanded from web-only to iOS and Android.
- Shipped 15+ features across web and mobile
- Helped retain 60+ paying customers by closing critical product gaps
- Extended ticket management from web-only to iOS and Android
- Owned the full design process from discovery to delivery
- Built two Figma component libraries to speed up iteration
- Worked closely with a product owner and five developers across web and mobile
