Case study•RevOps Agentic Platform

Designing an AI agent companies trust with their customer data

Ops teams spend their days fixing customer records and answering requests. I lead design on LeanData's AI agent that does that work for them, and changes nothing without a person's approval.

Role
Lead Product Designer
Team
SVPCPODE+3
Timeline
July 2026 - Present
Status
Pilot liveGA Dec 2026
RevOps Agentic Platform, in progress: a half-built screen with a tile being lowered into place
01The problem

Bad data quietly costs millions in revenue

Leads route to the wrong rep. Deals go cold with no owner. Account health slips and nobody notices.
The cleanup never ends, and nobody owns it.

Ops requests218 open
Two of my accounts look like the same company now. Acquisition?Slack · 2d
Why did this lead route to the wrong rep?Jira · 3d
A rep left Friday. Who owns their book now?Slack · 4d
VP Mktg, V.P. Marketing, Head of Mktg. Same job?Slack · 6d
Enrichment overwrote our Industry field againJira · 8d
Can someone dedupe the May import?Slack · 11d
Phone numbers stopped filling in. Is enrichment broken?Jira · 13d
Who approved this bulk change last night?Slack · 15d
+ 210 more

The queue is illustrative. The numbers come from partner calls and our own request history.

~3,000

cases/month in one interviewed team's RevOps queue

97%

of our own requests were a problem we had seen before - fixed once and came back again

~$750K

of open pipeline sat with owners who had already left, on our own org

3 months

before anyone noticed an enrichment contract had lapsed and data had stopped flowing

"Too scary"

how one partner now sees bulk fixes, after a single update set off automations that broke their CRM

“This is invisible work, grunt work that just needs to happen, and it does not.”
RevOps lead, security and compliance SaaS
“More value will come from our blind spots: finding problems before they're flagged to us.”
Ops leader, global mobility
“If you have multiple sources of truth, you have none.”
Demand gen systems, payments infrastructure
02The bet

Not a data cleaner. An agent that works the whole queue, ahead of you

Plenty of tools detect bad data. We bet on one that also answers requests and does the work, which made one question the center of the product: what is it allowed to do alone?

“It's really easy to do it once. It's really hard to keep the system live.”
Internal RevOps, LeanData
Hears

Every request from Slack, Jira and Salesforce Cases ends in an answer, a plan, or a clear route-out.

Finds

Problems surface before a rep, a forecast review or an auditor finds them.

Does

The routine half runs behind approval gates, with an audit trail and a way back.

Remembers

Policies and past decisions live in the product, not in one person's head.

The real competition
“Your number one competitor is: I can go build this with Claude.”

A teammate said this, and a partner said the same thing. Teams can build their own agent now. What's hard to build is the part that makes it safe to use: their policies, approvals, and a record of every change. That's the part I'm designing, and it can't feel heavy.

03Six momentsCurrently in testing with 8 enterprise design partners. Features and functionality subject to change.

A Monday morning with the agent

Each moment is a design decision about when the agent works quietly and when it stops and asks.

8:02 AM

You arrive to decisions, not a backlog

Home on Monday morning
Stopped at a policy

The one decision that needs you, and why the agent stopped.

Overnight

Records fixed, new issues and plans in flight, at a glance.

Pipeline exposed

Bad data in dollars, the number leaders ask about first.

8:15 AM

It hears a request in Slack, then stops at your rules

A merge request stopped for approval
One Slack message

A rep flags a likely acquisition. The agent finds both accounts.

Evidence, not a guess

Entity match, parent and child structure, and the policies it pulled.

Your threshold, your call

Above the approval bar, the merge waits for a person.

On naming

We first called these tickets. We're moving to requests (the final name is still open) so no one thinks we're replacing their ticketing system. We sync with tools like Jira, and requests feed in from there.

8:40 AM

It finds what nobody reported

Findings ranked by impact
Needs you first

What the agent can't decide ranks above what it is handling.

Ranked by impact

Sorted by what a problem costs, not how many records it touches.

Is it getting worse?

Each finding shows its trend since the last sweep.

Behind the screens
Object model board: where signals go, plan draft and execution, and ticket handling with rejections and partial failures

A finding is a condition. It closes only when a re-scan confirms the fix

I mapped every state before we argued about any of them. The board became what we ran reviews against.

Where I had it wrong

I wanted the agent's solo work in a separate log. A teammate pointed out that means checking two places. Now it's one list, with Handled hidden by default.

Needs youWatching
Handled
9:10 AM

It asks up to four questions, not ten

The agent asks one question before drafting a plan
Only what it can't infer

412 titles match no role, so it asks what should happen to them.

A suggested answer

Each option says what happens. The agent's pick is marked.

Your own words

Something else is always an option.

What testing showed

Early versions asked 8 to 10 questions before doing anything. People pasted the data into Claude instead to get a faster answer. Now the agent asks only what it can't infer, four at most, each with a suggested answer.

9:25 AM

You see what moves before anything runs

Run plan confirmation with blast radius
Blast radius

Routing graphs, buying groups and journeys this run will touch.

Held, not written

Low-confidence titles wait for review instead of guessing.

A way back

Checks after every batch. Every lead can roll back for 30 days.

Choosing what needs sign-off

Partners don't want to approve every run. They want to pick which kinds of changes wait for them and which the agent can just make.

“These ones I want to check it off, and then these ones I want it to do it itself.”
Enterprise design partner, Semiconductor and AI computing
After it runs

Every change can explain itself

Open any record the agent touched to see what changed, why, and who approved it.

A changed record and why it changed
The record view also shows which routers and buying groups the change moved.
10:05 AM

It handles work no workflow was built for

Planning a rep's transition in chat
Just ask

A rep gave notice. Help me plan her transition.

Reads how you work

Nobody wrote down how books get split, so it learns from past handoffs.

Stops the bleeding first

Step one keeps new work from reaching her today. Renewals wait for your call.

04Design system

The product needed a system before it needed screens

With no time to start from scratch, I used shadcn and Tailwind as the base, so tokens map cleanly to code. Then I wrote the layer that made it ours.

Storybook docs for the Input component: live preview, props table and stories
05How we learned

Build, show it to customers, change it, repeat

We didn't research first and design second. We started from our own mess, put something in front of people early, and kept listening while we built.

First, our own mess
560

internal RevOps requests, read one by one. 29% just stopped with no outcome.

Then, customer calls
39

distinct use cases from 15 companies. Organizational changes and governance came up most.

Then, every two weeks
12

design partners we met every two weeks. We gave the most weight to needs several of them raised on their own.

Closing the gap

Between sessions, feedback surfaced at the next call or not at all. So I built a feedback button that posts straight to our Slack with the page it came from. When I didn't have an answer, I wrote the open question down as a position and built something the team could react to.

Plan page with the feedback button in the sidebar Send feedback modal, tagged with the page it came from Feedback written with a thumbs-up Thanks for the feedback toast
The feedback button, in the product.
Feedback posts in Slack: each one carries the rating, the comment and the page it came from (details anonymized)
Where it lands: our Slack, with the page it came from. These are real posts we received, anonymized.
06Shipping it

More design-ready work than capacity. So I shipped the frontend

Rather than let UI queue behind feature work, I pushed PRs directly against the product. Findings, the Data Dictionary, knowledge docs, the feedback button and the nav all shipped from my branches.

My first merged PR: the design system landing as code
My first merged PR, ever. The design system landed as code, not a doc waiting on engineering time.
Slack shoutout from engineering after the design refresh PR merged
Engineering, after the design refresh merged.
Data Dictionary field page with monitored detectors
The Data Dictionary, one of the surfaces that shipped from my branches.
Launched at our annual RevOps conference

My screens went on the keynote stage

My screens were shown during the keynote. At our demo booth, people asked questions and signed up for early access.

The agent's home screen on the keynote stage
The chat interface, on the keynote stage.
A finding the agent raised, shown during the keynote
A finding the agent raised, walked through live.
On launch day
25

companies signed up for early access

+10

companies expressing interest

In the last 12 years this was the most excitement and bullishness I’ve seen from our customers… [One enterprise customer] gets 45k+ RevOps tickets / year, and they have a team of 35 offshore just handling that. They also have a team of 50+ handling day to day data management. If this thing works the way we want it to, the value is incredible.
SVPSVP of Engineering
Very high conviction that this is a product that’s needed, customers would prefer to buy versus build, and it’s solving big pain for Ops teams who do all the work to keep the business running… Design partners are hoping to see the UI and experience look like what they saw on stage very soon.
CPOChief Product Officer
Still under construction

We are heading into early access and I'm still designing, building and iterating as feedback keeps coming in. I'll keep this case study updated as it grows, but take a peek below at my learnings so far + what's next!

08Learnings so far

AI is changing how we work, not just what we build

Building an AI product with AI tools is changing how I work. So far, two lessons have stuck out.

01

If you made it, you own it

With AI, I did more reading on this project than ever. Docs, specs and artifacts multiplied, and most of them came as long prose. Generating is cheap now. Reading isn't.

So if my name is on an artifact, I know exactly what's in it, I stand behind it, and it's on me to make it readable and short.

So far, the longest artifact I received for this project so far was 34,030 words, which would take an average reader 2.5 hours to read.

02

Roles are bleeding into each other

AI lowered the cost of stepping into someone else's lane. I pushed frontend PRs and did PM work, strategizing and scoping. My engineers and PM took on prototyping too.

MeDesignFrontend PRsStrategy & scoping
EngEngineeringPrototyping
PMProductPrototyping
What's next

General availability in December

This is a running case study. The question we measure against stays the same: would an admin have done what the agent proposed?

Pilot shippedAugust 2026
Design partners8, enterprise and mid-market
Measured byAdmin-matching proposals, work resolved, time saved
GADecember 2026
Keep reading
Tradeshow Events case study cover
Next case study

Tradeshow Events

Closed a competitive gap and $400K+ in at-risk revenue with BookIt's first event-scheduling system.

Read it →
BookIt Handoff case study cover
Also

BookIt Handoff

A 0-to-1 product that became a $1.2M licensed line in year one.

Off Platform case study cover
Also

Off Platform

LeanData's first standalone product, unlocking $300K+ in new ARR.

↑Back to top