A five-minute interactive tutorial
What is an
app agent?
It is a helper inside an app. You describe an outcome, and it uses that app’s own tools to get you there.
Start with the idea ↓The idea
Today, you translate your goal into clicks.
Imagine you want to mute marketing notifications. You first have to find Settings, choose Notifications, understand the categories, and change the right switches.
Goal → Find the screen → Learn the controls → Make the change
“Mute marketing notifications, but keep security alerts.”
That is the interface.How it works
An app agent needs three things.
- 01
The state of the app
What is on screen, what objects exist, and what is selected right now.
observe() - 02
A small set of tools
Named actions such as
find_project,pin_project, orset_notifications.choose_tool() - 03
A permission boundary
Safe actions can run. Consequential changes stop and ask the person first.
ask_first()
Try it yourself
This is a small, working app agent.
It has a small tool set and a tiny demo workspace. Pick a request. Safe actions happen immediately; consequential ones pause for approval.
No tools called yet. Run one of the examples above.
No account is required. The OpenRouter key stays on the server; the model can use only the small tool set shown in this tutorial.
The important part
A useful agent is bounded, not magical.
Show what it is doing.
People should be able to see the tool calls and understand what changed.
Ask before it matters.
Sending, deleting, assigning, and broad settings changes should remain the person’s decision.
We spent decades learning how software works. App agents let the software learn how to help us.