The feedback nobody was reading
Customer feedback was reaching every Experience Design project team at Bank of America, and almost nobody was reading it. I designed and built an agent in the Microsoft 365 Copilot agent builder. It turns a raw export of customer comments into a short readout. Every quote in it can be checked against the spreadsheet in seconds.
The problem
Teams were expected to know what customers thought of their product before starting work. The feedback arrived as a raw Excel export averaging 3,000+ rows, full of blanks, non-answers and off-topic comments. Synthesizing one file took days, so most teams skipped it.
The goal was never to save time. It was to make a skipped step happen.
Every insight shows its receipts
The readout has four parts: a summary, user quotes, insights and XD recommendations. An insight only counts if it says why the agent suspects something, gives an approximate count and percentage, quotes exactly two customers, and names the impact.
Every quote carries its row and cell location. Anyone can verify it in the spreadsheet in seconds.
- Insight
- Customers can't tell whether a card payment went through.
- Why
- Comments describe paying, seeing no confirmation, then paying again or calling.
- Evidence
- Approx. 60 of 500 comments (about 12%)
- Quote 1
- "I paid on Friday and my balance still hasn't changed. Did it go through?"Row 212, cell F212
- Quote 2
- "There was no confirmation screen, so I paid twice."Row 388, cell F388
- Impact
- Duplicate payments and avoidable calls.
- Evidence rating
- High: all four elements are present.
How it was built
It started as one prompt that returned a wall of text. I set three requirements: the agent checks itself, a user can verify it fast, and it stays short enough to get read.
I refined it with Copilot. It proposed and I decided. Five quotes per insight became two. A caveats note earned its place in testing. Guardrails against invented quotes and counts went in.
It is built for real files. It finds the comment column by its name, then by its contents, whatever the layout. It keeps row numbers intact through cleaning, redacts personal information in quotes, and stops and says so when a file has nothing usable.
What it changed
The agent was never mandated, so I took it on a roadshow to get teams to try it. Several found it matched problems they had already identified and funded. It also surfaced ones they had not.
In credit cards, the option to pay a Bank of America card through bill pay had been removed, and customers did not understand why. The team had heard about the confusion. The readout showed how often it came up, in customers' own words, and gave the team the evidence to act.
The fix was not an explanation. Customers who choose to pay a card in bill pay are now moved straight into the new payment flow.