The interaction panel is the core mechanic of CSRD, a desktop for telecom call-centre operators. It took five versions to turn a form people avoided into a panel that does most of the logging for them.
CSRD is a box product customised for every telco — business processes differ even between Telefonica Uruguay and Telefonica Ecuador. Contracts run 10–15 years, and privacy policies make direct user feedback rare and slow.
So decisions rested on three sources — customer requirements, sales requests and usability studies — and one test: does it move FCR, AHT, ACW or training time?
1st line operators answer common questions and route the rest; 2nd line specialise in billing, tech or complaints. Most use little beyond messengers and office apps — and their salary can depend on KPIs.
Every call, chat or email has to be resolved and logged correctly — to pass it to another line and to improve service later. In practice:
The process of categorisation was so complicated (up to 5 levels), that the operators would select 'Other', leave the description blank, or write notes on paper and then fill them in afterwards, either at the end of the call or after the shift.
3–5 minof after-call work per interactionChat, email, SMS and calls lived apart and were tied to the customer by hand.
Updating a previous interaction meant a new browser tab and lost context.
A caller may only represent the account owner, which changes what can be shared or done — and the UI didn't show it.
Spoiler: two of these ideas survived to the final version.






Sales asked for retention metrics and customer interests so operators could make small talk. We designed a colourful header.
Studies showed 1st and 2nd line don't do retention, interest icons could mean anything, and nobody uploads an avatar when signing a mobile contract. Better to make the call fast enough that no small talk is needed.
Caller vs customer was now visible — but operators had to memorise which one sat on top. Even the design team needed a moment.
Linking via search worked only for billing accounts and products; tickets were still manual.
Parallel interactions: while one caller looks for their last bill, the operator finishes an email with router instructions to another customer — email doesn't need an instant reply — and keeps a few chats going.
Profile photos became initials. There was no reason, and no source, for pictures.
Finds the customer. The system searches by phone number and suggests the customer — or, if the caller is a contact person, the customers they represent. One click to accept or decline.
Reasons split from description. Reasons exist to collect service data, so weak spots show up without reading every note.
One field for every level. All nested categories merged into a single search — no need to learn a telco's hierarchy.
Linking is back, with suggestions. Open product A during the call, and it's suggested as related; create or open a ticket, and it's linked to this interaction.
Six designers in 2-week sprints, two ahead of development, split between the core product and customer integrations by load. A 3-tier library kept them consistent.
Atoms: buttons, fields, tabs.
Filter panels, product cards, navigation — and the interaction panel.
Customer-specific filter groups and components in each telco's colours.
The caller picks a reason by pressing a number before the operator picks up.
By ID number or secret word, through IVR or voice recognition.
Pre-filled from the reasons and details already logged.
Few fill it in; keep it only where 2nd line must describe reproduction steps.
Compare newcomers' learning curves on v.2015 and v.2021_4 in a real call centre, observe logging in the field, and compare median KPIs over half a year.
Measure learning curves in the office lab, and collect data from customer representatives during integration work.