Designing customer service that retained 60+ CRM customers
Company
Upsales
Role
Product Designer
Platform
Web · Mobile
Team
1 product owner · 5 devs

Upsales is a CRM platform with multiple products, one of which was an early-stage customer service tool that was losing customers to external solutions. As the product designer, I worked with a product owner and five developers to design and ship 15+ features across web and mobile, closing critical gaps and helping retain 60+ paying customers.
Approach
Through feature requests and support feedback, prioritized with the product owner, we identified the key gaps: customers were manually working around missing capabilities like status management, ticket merging, external contact handling, unread visibility, and the ability to postpone tickets. Without these, teams were working around the product rather than within it.
Process
I began with a competitor analysis, reviewing help center articles and user flows to understand established patterns in the areas we were improving: ticket status structure, external communication within a ticket, and the flow for merging tickets. From there, I worked on one or two features at a time, starting each by mapping the user flow before moving into high-fidelity UI design in Figma.
Challenges
The features that involved the most back-and-forth were merge tickets and external contacts, both requiring extensive collaboration with developers to get the flows right.
For merge tickets, the core challenge was traceability, ensuring merged tickets remained accessible after merging, and making it clear to users that the action is irreversible. To support this, we made the merge action a full-page flow so users could focus entirely on the task.
For external contacts, figuring out how contacts should be displayed and accessed, and how the email sending flow should work, required significant discussion with developers. The sending flow in particular was shaped by technical constraints in the underlying email systems that determined what was actually feasible, so the design had to work within those boundaries.
What we shipped
Ticket status
Move tickets through stages
A status control that lets teams track where each ticket is in their process.

Merge tickets
Combine related tickets into one
When multiple tickets relate to the same issue, users pick a primary and merge the others into it.

External contacts
Loop in external parties
Email suppliers, partners, or service providers directly from a ticket instead of switching to an external email client.

Unread indicators
See what's new at a glance
Visual indicators highlight unread updates so users can triage faster without opening every ticket.

Snooze functionality
Pause tickets, resurface them later
Snooze puts tickets on hold and brings them back at a chosen time, keeping the inbox focused on what's actionable now.

Mobile app
Support on the go
Brought customer service to the Upsales iOS and Android apps, with flows designed and built specifically for mobile.

Expanding the product
After the initial features shipped, I stayed on as the lead designer for customer service and expanded it across more areas:
Component library
To keep design consistent and speed up iteration as the feature set grew, I built a Figma component library for the customer service web product. Components like ticket cards, status badges, and form elements meant new features could be assembled from existing parts rather than designed from scratch each time.

Outcome
The features we shipped turned customer service from an early-stage add-on into a product teams relied on daily.
- Shipped 15+ features across web and mobile
- Directly contributed to retaining 60+ paying customers who had been evaluating external tools
- Extended the product from web-only to iOS and Android
