Proactive User Interaction
Most conversations with an AI Agent follow a simple rhythm: you ask, the agent thinks, the agent replies. But real work is rarely that tidy. A task can take a minute or more to complete, and sometimes the agent needs to check something with you before it can continue.
User Interaction is the built-in capability that lets your agent break out of that strict request-reply pattern when it makes sense to. It can keep you informed while it works, and it can pause to ask you a question when it hits a decision it shouldn't make on its own.
This feature is enabled by default on every new agent — there's nothing to configure to get started.
What It Does
User Interaction gives the agent two new behaviors it can use whenever it judges them appropriate:
- Send a notification — post a short progress update to the chat without stopping its work. Useful for long tasks where silence feels like the agent is stuck.
- Ask and wait — pause the task, ask you a question, and resume from exactly where it left off once you reply.
The agent decides when to use each one based on the situation. You don't script these moments; you just end up with a more transparent, more collaborative conversation.
Notifications: Knowing What the Agent Is Doing
When an agent is working through a multi-step task — running a report, combing through records, calling several tools in sequence — it can send an interim message to let you know where it is.
A typical exchange might look like this:
- You: "Pull last quarter's top-performing campaigns and summarize why they worked."
- Agent: (notification) "Fetching campaign data from the analytics source..."
- Agent: (notification) "Found 42 campaigns. Analyzing performance drivers..."
- Agent: "Here's the summary you asked for..."
The notifications appear inline in the chat, but they don't end the agent's turn. It keeps working after each one. You get visibility without having to refresh or guess whether anything is happening.
When Agents Use Notifications
Notifications show up naturally in situations like:
- Long-running analyses or data pulls
- Multi-step workflows with several tool calls
- Tasks where the agent has made a meaningful intermediate finding
- Anything where a silent wait would feel too long
Questions: Pausing for Your Input
Sometimes the agent hits a fork in the road that it genuinely shouldn't resolve on its own — a missing detail, a choice that depends on your preference, or a step with real consequences. In those cases, it can pause the task, ask you a question, and wait.
For example:
- You: "Archive the old project folders from last year."
- Agent: "I found 18 folders from last year. Do you want me to archive all of them, or should I skip the ones still marked as active?"
- You: "Skip the active ones."
- Agent: (resumes and completes the task) "Done. Archived 14 folders and left 4 active ones in place."
While the agent is waiting, the conversation is in a paused state — the agent isn't "thinking" in the background, and nothing will happen until you reply. Your next message is treated as the answer to the question, and the agent picks up exactly where it stopped. All the context it had gathered so far is preserved.
When Agents Use Questions
Agents tend to pause and ask when:
- A required piece of information is missing or ambiguous
- A decision has significant consequences (deletions, sends, permissions, money)
- There are multiple reasonable interpretations of your original request
- Confirming once now avoids having to redo the whole task later
How This Differs from a Regular Reply
It's worth being precise about what's happening here, because on the surface a mid-task question can look a lot like the agent ending its turn with a question. They are not the same thing.
A regular final answer — including one phrased as a question — is the agent handing the turn back to you. The task is over. Whatever you type next starts a new turn, and the agent has to reconstruct context from the conversation history to figure out what to do with your message.
A mid-task notification or question happens inside the agent's current turn. The agent hasn't finished. It hasn't handed the turn back. When it pauses for an answer, all the reasoning, tool results, and intermediate work it has accumulated so far are held in place, and your reply feeds straight back into the same in-flight task — not as a new request, but as the answer to the specific question the agent stopped on.
In practice, this means:
- Notifications are not final answers. The final answer is still coming; the notification is just a status update on the way.
- Mid-task questions preserve the agent's full working state. It resumes exactly where it stopped, with everything it had figured out still intact. Asking the same question as a final answer and then starting a new request would force the agent to redo that work.
- You don't have to do anything differently. From the chat, it looks like a normal conversation. The difference matters on the agent's side, and it's why the feature exists.
What You See in the Chat
In Wabee Studio's chat and in the embedded chat widget, both behaviors appear as regular messages in the conversation, clearly attributed to the agent. A notification reads like a short status line. A question reads like any other question the agent might ask.
From your side, there's nothing special you need to do:
- For notifications, simply let the agent keep working. No reply is required.
- For questions, just answer in the next message. The agent will take your reply as the answer and continue the task.
Agents Talking to Sub-Agents and Skills
Wabee agents can delegate work to sub-agents or invoke skills to handle specialized parts of a task. When they do, those sub-agents and skills inherit the ability to talk to you too. If a skill running under the main agent needs to send a progress update or ask a question, it can — and the message reaches you the same way any other message would.
This keeps the experience coherent: no matter how the agent organizes its work internally, you stay in the loop.
Turning User Interaction Off
User Interaction is enabled by default because most agents benefit from it. But some agents are designed to run without anyone watching — scheduled jobs, automations triggered by events, batch processes, or any other unattended context where there's no human to read a notification or answer a question.
For those cases, you can disable the feature in the agent's configuration by setting:
{
"allow_user_interaction": false
}
When disabled, the agent will no longer send notifications or attempt to pause for questions. It will complete the task end-to-end using only the inputs it was given, or fail gracefully if it can't. This is the right choice for non-interactive workloads and for any agent you want to keep strictly transactional.
See the Agent Configuration Reference for where this field fits among the other agent settings.
Summary
- User Interaction lets agents send progress notifications and pause to ask questions mid-task.
- It's enabled by default on every agent — no setup required.
- The agent decides when to use it based on the situation; you don't have to script it.
- Sub-agents and skills inherit the capability, so the user experience stays consistent.
- You can turn it off with
allow_user_interaction: falsefor unattended or automation-only agents.