Chatbot That Clicks Buttons for Users: What It Should Click
A chatbot that clicks buttons for users takes a question like “how do I invite a teammate?”, moves the user to the right screen and presses the control that opens the feature, instead of describing where it lives. The useful version clicks very little: it opens the thing and stops before anything gets saved. Total Chat works this way for logged-in users on the Starter plan and up. Its walkthroughs take the user to the right page, point out the element, click the opening control when the feature is a button or dialog, and explain the final step in chat. It never fills in forms.
Last updated: October 2026
Everyone pictures the wrong chatbot
Say “a chatbot that clicks buttons” to a founder and they picture an agent doing the whole job. The user types “set up my billing alert” and the bot opens the page, fills the fields, hits Save and reports back. Done.
That’s the well-known version. It’s also the one I’d least want in a support widget. If you’ve suspected the slick agent demos leave something out, you were right: they rarely show what happens when the bot presses Save on the wrong record.
The part that’s little understood is that clicks aren’t all the same. Some clicks move you around. Some open something. And some commit a change you can’t take back. A support chatbot earns its keep on the first two and gets into trouble on the third. Most of the value sits in the click that opens, and almost all of the risk sits in the click that commits.
Three kinds of click, three levels of risk
| Click type | Example | What goes wrong if the bot guesses wrong |
|---|---|---|
| Moving | Going to Settings > Team | The user lands on the wrong page and asks again |
| Opening | Opening the “Invite member” dialog | A dialog opens that they close |
| Committing | Save, Send, Delete, Pay | Data changes, an email goes out, money moves |
Look at the right-hand column. The first two rows cost a few seconds. The third can cost a customer.
So here’s my opinion, stated plainly: in a support context, the user should press the button that commits. Not because the model can’t find the Save button. It usually can. It’s because the person reading the form is the only one who knows whether the values in it are right, and because a user who pressed Save themselves knows what just happened. A user who watched a bot press it is the one who opens a ticket an hour later asking why their settings changed.
There’s a teaching argument too. If the bot opens the dialog and the user finishes it, next time they’ll find it on their own. If the bot does everything, you’ve built a dependency, not an onboarding flow.
What Total Chat actually clicks
Here’s the scope, taken from the product’s own feature record.
Who gets it. Logged-in users only, in what Total Chat calls Internal mode. Your server signs a token for the user and passes it to the widget; without a valid token the widget runs in its visitor mode, which has no navigation at all. On a pre-login marketing site, the widget answers from your knowledge base and captures leads, and that’s it.
Which plan. Navigation and element pointing are on Starter ($49/month) and up, per the plans table in Total Chat’s docs. On Free, the assistant gives directions in words instead of moving the user.
What a walkthrough does. One feature at a time: it moves the user to the right page, can point out the element they need, then explains the final step in chat. The walkthrough survives the page reload partway through. For a feature that’s a button or a dialog, it clicks the control that opens it. That’s the “opening” row in the table above, and it’s where Total Chat stops.
What it won’t do. It never fills in forms. It doesn’t chain several features into one workflow either; that isn’t built yet, so a task spanning three features runs as three walkthroughs the user asks for in turn.
If you want the background on why page context matters before any of this works, Chatbot That Knows What Page a User Is On: Dev Guide covers the route-on-every-message part.
How the bot finds the right button
A chatbot can only click what it can reliably find. Guessing from visible text breaks the first time someone renames a label.
Total Chat finds controls through a feature map of your app, built by its codebase scanner. You run it with one command, npx @totalchat/cli scan --upload, locally or as a GitHub Actions step. The map lists your routes and features, with UI selectors where the scanner finds them. Pointing at an element depends on the scan having captured that element’s selector, so if a control wasn’t captured, don’t expect it to be marked.
Two limits to know up front:
- The scanner reads Next.js apps only (App Router or Pages Router). On another framework, check with the Total Chat team before counting on walkthroughs.
- The URL crawler isn’t a substitute. It reads your live site and drafts knowledge base articles, but it doesn’t build the feature map. Without the map, the assistant knows the current route and not much more.
Getting your app ready for a clicking chatbot
Picture this: a new user asks where invites live, lands on the team page with the invite dialog already open, and only has to type an email address. Getting there is mostly prep work on your side, and most of it applies whatever tool you pick.
Tag the controls that open things. Total Chat’s docs recommend adding data-guide attributes to key elements, for example <button data-guide="add-team-member">Invite</button>, and the scanner suggests which ones to add first. Prioritize the buttons that open dialogs. Those are the clicks worth automating.
Make each feature openable in one click. If “Invite member” lives behind a kebab menu, then a submenu, then a tab, no chatbot will open it cleanly. A walkthrough is a decent audit of your own UI: if it’s awkward for the bot, it’s awkward for people, and no wonder they open tickets about it.
Write the last step down. The walkthrough ends by explaining the final step in chat, and that explanation comes from your knowledge base. A one-paragraph article per common task (“Inviting a teammate: enter their email, pick a role, press Send invite”) is what turns an open dialog into a finished task.
Re-scan when the UI moves. Running the scanner as a GitHub Actions step on each push keeps the map in step with your code, so a renamed button doesn’t strand the bot.
Test the boring cases. Ask “take me to X” from a page that has nothing to do with X. Use the wrong name for the feature. Then check whether the bot lands on the right page and opens the right thing.
For a back-to-basics take on the same flow, see Interactive App Walkthrough Chatbot: Back to Basics. There’s a longer discussion of where scripted tours end and chat begins in AI walkthroughs for in-app guidance.
Where this approach falls short
Fair warning: if your product’s main pain is long data entry, a chatbot that only opens dialogs won’t fix it. Total Chat won’t type values for the user, and each walkthrough covers one feature. A twelve-field setup wizard is still twelve fields the user fills in. A better-designed form helps more there than any assistant will.
It also won’t help on a framework the scanner doesn’t read yet, or for visitors who aren’t logged in.
I think that’s a reasonable trade for a support tool. The bot handles the part users actually get stuck on (finding the thing) and leaves the part that changes their data with them.
Frequently Asked Questions
Can a chatbot click buttons inside my web app?
Yes, within limits. Total Chat’s walkthroughs, for logged-in users on the Starter plan and up, move the user to the right page and click the control that opens a feature when that feature is a button or dialog. The assistant then explains the final step in chat. It covers one feature per walkthrough and relies on a feature map from its codebase scanner, which reads Next.js apps.
Does Total Chat fill in forms or press Save for users?
No. Total Chat never fills in forms. For a button or dialog feature it clicks the control that opens it, can point out the element the user needs, and explains the final step in chat, so the user enters the values and finishes the task. That keeps changes to the user’s data in the user’s hands, which is the safer default for a support assistant.
Which Total Chat plan includes in-app navigation?
Navigation and element pointing are included on Starter, at $49 a month, and every plan above it, according to the plans table in Total Chat’s docs. On the Free plan the assistant gives directions in words rather than moving the user. All of it applies to logged-in users only; the pre-login widget has no navigation.
What does the chatbot need to find the right button?
A feature map of your app. Total Chat builds it with a codebase scanner you run as npx @totalchat/cli scan --upload, locally or in GitHub Actions; it supports Next.js App Router and Pages Router apps. Pointing at a control depends on the scan capturing its selector, and adding data-guide attributes to key buttons makes targeting more reliable.
Open the feature, leave the Save button to your user
Total Chat takes logged-in users to the right page, opens the feature they asked about, and explains the last step in chat — installed with one script tag at one flat price.
Try It Free