Skip to content
Deep dive

How Yantra Decides Which App Opens

How Yantra routes your message to an app: use-when and not-for rules, a confidence threshold, the skills each app loads, and why questions stay in chat.

Yantra Team3 min read

On this page

"Find me a flight from SFO to JFK next Friday" opens Travel. "Do I need a visa for Japan?" does not. Both are about travel. The difference is the routing layer, and it is worth explaining, because the failure mode of app-based assistants is opening an app when you wanted an answer.

Every app declares three things

Each app in the registry carries a small routing record with three lists.

Use when describes the requests the app should handle. For Travel: search flights between specific cities or airports, find hotels in a destination with dates or a nightly budget, search rental cars for a pickup and drop-off.

Not for describes the requests that sound related but belong elsewhere. For Travel: informational questions about visas, safety, packing or the best time to visit, which are answered in chat; checking an existing booking, answered in chat; finding concerts at the destination, which is yantra.live.

Examples are real sentences: "Hotels in Paris under $200 a night for March 3 to 7 for 2 people."

The not-for lines matter most. They are what keep apps from opening on questions about their own domain.

A threshold, not a guess

A classifier reads your message against every app's record and produces a candidate with a confidence. An app opens only when that confidence is high, currently at least 80 percent. Below that, the message stays in chat, where the agent can still use the same connectors to answer. Opening an app is a commitment of screen space; the bar for it is deliberately high.

What an app brings with it

The record also names the skills and connectors a turn needs. A Canvas turn loads the media skills so the agent has the production toolbox before it starts. A Computer turn carries the browser playbook and the computer connector. A Shopping turn loads the price-check lane so "watch this price" can schedule a check. Routing is not only "where does this go" but "what should be ready when it gets there".

When a turn is routed to the Computer, the shell pre-warms it immediately, which hides most of the cold start behind the time it takes you to read the first reply.

The hard cases

Some records do more work than others. Freelance sits next to Job Search, Resume, Timer and Payroll, and every one of those owns a word the other might claim. Its use-when lines lead with the task, not the worker: "walk my dog on Saturday", "a cleaner for my apartment", "stand in line at the passport office". A request for a person is Freelance. A request for information about how to do the task yourself is not.

Notion is the opposite case: the subject never decides it. "Add this research to my Notion", "put the meeting notes in Notion", "add that to Notion" all route to the Notion app, because the destination is the intent.

Where the rules come from

The routing records were seeded from a review of each app and are tuned from evaluation scorecards. Training material for the router lives outside the app as examples of what should and should not open each app: any retail category counts as shopping, "is the iPhone 16 worth it" does not.

What you can do about it

If an app opens when you did not want it, say so and the chat continues without it. If you want an app and it did not open, name it: "open Travel" or pick it from the launcher. And every app works on a brand-new chat, so you can start in the app and talk from there.

Read more in Apps Overview.

Keep reading

All posts