If you are running an AI agent and still measuring it with predefined funnels, you are watching the wrong screen. Funnels assume you know what users will do before they do it. With an agent, users type whatever they want, and the most important things they say are the things you never thought to track. Custom intent detection fixes this by reading actual conversations and generating the categories that matter, instead of forcing you to guess them up front.
Why predefined funnels were fine until agents showed up
Traditional product analytics was built for a world of buttons and screens. The user moves through a finite set of choices: signup, onboarding step 1, step 2, activated. You define the events, you string them into a funnel, you watch where people drop. That worked because the surface was closed. There were only so many things a user could click.
An agent blows that up. The interface is a text box. The user can ask for anything. There is no “step 2” because there is no fixed path, just an open conversation that goes wherever the user takes it. As one analytics team put it recently, we have moved from observing clicks to understanding intent and reasoning. The old model studies attrition along a predefined line. Agents do not move along a line.
Here is the trap. You can absolutely bolt your old funnel onto an agent. Fire a conversation_started event, fire a message_sent event, fire a conversation_ended event. Build a funnel. It will report numbers. The numbers will be confidently wrong.
The “activated but actually broken” problem
Amplitude’s agent analytics team described this exact failure mode, and it is the cleanest example I have seen. A user opens your agent, has a two minute conversation, fires a dozen events, and your funnel marks them “activated.” Looks great on the dashboard.
What actually happened: the user asked a real question, the agent hallucinated an answer, and the user quietly decided your product is broken and never came back. Your funnel counted that as a win. Every event fired. The funnel has no idea the agent lied, because the funnel was never looking at what was said. It was counting that something was said.
That gap, between “an event happened” and “the right thing happened,” is where every agent product silently bleeds users.
What custom intent detection actually means
Custom intents are categories generated from your real conversations, not picked from a generic template. Instead of you defining feature_X_clicked, the system reads what users are actually saying and surfaces the patterns: people keep asking for a CSV export you do not have, people keep hitting the same setup step and giving up, people keep asking if you integrate with a tool you do not support yet.
You did not predefine any of those. You could not have. That is the whole point. The valuable behavior in an agent product is the unanticipated behavior, the request you did not build for, the failure you did not expect, the question that reveals a gap in your product.
Predefined funnels can only catch what you already imagined. Custom intents catch what you didn’t.
A concrete walk-through
Say you run a fintech support agent. Your predefined funnel tracks: asked question, got answer, marked resolved. Clean.
Now read the conversations. You find a cluster of users asking “can I dispute a charge from the app” and the agent saying “please call support.” That is not in any funnel you built. But it is a churn risk, a feature request, and a CX failure all at once. Intent detection pulls that cluster out automatically and tells you it happened 340 times last month. The funnel just told you 340 conversations “resolved.”
Predefined funnels vs auto-generated custom intents
| Dimension | Predefined funnels | Auto-generated custom intents |
|---|---|---|
| What you track | Events you defined in advance | Categories generated from real conversations |
| Catches the unexpected | No, only what you imagined | Yes, surfaces requests and failures you never anticipated |
| Reads what was said | No, counts that something happened | Yes, reads the actual content of the turn |
| Hallucination / wrong answers | Invisible, often counted as success | Surfaced as a distinct failure cluster |
| Setup cost | High, you maintain the event taxonomy | Low, intents are generated and updated for you |
| Drift over time | Funnel rots as the product changes | Intents regenerate as conversations change |
| Best for | Fixed UI with known paths | Open-ended conversational surfaces |
The honest version: funnels are not useless. If you have a hard signup flow with real screens, track it with a funnel. But the moment the surface becomes a conversation, funnels stop describing reality and intents start.
What good product analytics for agents should do
A few things I would refuse to live without if I were running an agent in production again.
- Cluster conversations by intent, automatically. You should not be hand labeling. The system reads transcripts and groups what people are actually trying to do.
- Separate “happened” from “succeeded.” Containment rate, intent resolution, and whether the agent actually answered correctly are different numbers. Track them separately.
- Track the unanticipated as a first class thing. New intents should appear on their own when a new pattern emerges, not when you remember to add an event.
- Tie intents to outcomes. A spike in “asking about a feature we dont have” should connect to churn, not sit in a vacuum.
- Update as the product moves. Your conversations in three months will not look like today’s. The intent set has to drift with them or it rots like an old funnel.
This is the part of the stack we built Agnost AI for. It connects to your agent, reads every conversation, and auto-generates custom intents for your product (bug reports, feature requests, churn risk, setup friction, and more), then tracks them live so you can see why users stall or wont upgrade. It is infrastructure for self-improving agents, not another funnel builder.
The bit most teams skip: closing the loop
Detecting intents is half the job. The other half is doing something about them. If your tooling tells you “340 users hit setup friction on step 3” and then stops, you still have to go diagnose the prompt, figure out the fix, and ship it.
The reason we go further than detection is that the fix usually lives in the same place every time: the system prompt, the agent harness, the config. So Agnost opens pull requests against those, you review the diff, and you merge what you agree with. The detection and the correction live in one loop instead of a dashboard you screenshot and a Jira ticket you forget.
Where this is heading
The teams I talk to are realizing that for agent products, the conversation IS the analytics surface. You do not need to instrument a hundred events anymore. You need to read what users said and understand what they meant. Generic analytics vendors are racing to bolt “agent analytics” onto funnel-shaped products, and most of it is still counting events with a new label on top.
The real shift in 2026 is from “what did the user click” to “what did the user want, and did they get it.” Funnels cannot answer the second question. They were never built to.
FAQ
Is custom intent detection just topic clustering with a fancier name? No. Topic clustering tells you what conversations are about. Intent detection tells you what users were trying to accomplish and whether they succeeded, including product-specific categories like churn risk, feature requests, and setup friction that a generic topic model has no concept of.
Do I have to throw out my existing funnels? No. Keep funnels for the parts of your product that are still fixed screens and known paths, like a billing flow. Use custom intents for the conversational surface where users can say anything. They answer different questions.
How much setup does intent detection take versus building funnels? Far less. The whole appeal is that you stop maintaining an event taxonomy by hand. With Agnost it is a 3 line SDK or OpenTelemetry, roughly two minutes, and intents are generated from your real conversations instead of defined by you in advance.
Funnels made sense when your product was a set of buttons. Your agent is a conversation, and the things that decide whether users stay are the things they say that you never thought to track. Agnost AI reads those conversations, turns them into custom intents, and opens PRs to fix what it finds, so the loop actually closes.