Leo Nordén

Designing customer service that retained 60+ CRM customers

Company

Upsales

Role

Product Designer

Platform

Web · Mobile

Team

1 product owner · 5 devs

Ticket management interface improvements

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.

Ticket status

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.

Merge tickets step 1

External contacts

Loop in external parties

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

External contacts step 1

Unread indicators

See what's new at a glance

Visual indicators highlight unread updates so users can triage faster without opening every ticket.

Unread tickets step 1

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.

Snooze tickets step 1

Mobile app

Support on the go

Brought customer service to the Upsales iOS and Android apps, with flows designed and built specifically for mobile.

Mobile ticket view

Expanding the product

After the initial features shipped, I stayed on as the lead designer for customer service and expanded it across more areas:

Auto-reply templates
Automatic contact matching
Create activities from tickets
Email exclusion lists
Forward tickets
Internal chat
Mark as spam
Multi-select and bulk update tickets
Notification settings
Response templates
Ticket forms
Ticket rules

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.

Component library for customer service

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