Technical details and troubleshooting
Understand sessions, tool execution and common Robot problems.
Robots run on the backend using Google ADK. A session stores the conversation and its tool activity. The root Robot is selected when the session is created; it does not switch partway through the conversation. Denbot can delegate tasks to specialists without changing that root.
Tool discovery and tool execution are separate. A Robot can inspect available capabilities before loading them into the conversation. Loading a tool does not bypass permissions, confirmation requirements or workspace checks.
Interactive chats can request confirmation for tools that require it. Unattended runs, including Trail actions, disable interactive confirmation prompts and block tools that need live client input. Authorised server-side tools can still make changes. Use tool selection and account permissions to limit those changes; a task that needs missing human input should report that it is blocked.
Sessions and their ordered events are persisted. The session stream can catch up from an offset and remain attached for later updates, including delegated work. This lets the UI reconnect to an existing conversation instead of depending on one browser connection for its history.
For integrations, see the Robots API, session creation API, and session event stream. Plugins can also invoke Robots through robot_run.
Listing recent content
These details are useful when checking a Robot's tool calls or writing a playbook that needs a precise time window.
List Threads (thread_list) and List Library Pages (library_page_list) accept sort: newest or sort: oldest to order results by original creation time. Without an explicit sort, threads use the normal activity feed order, including pins, and Library pages use hierarchy order. Chronological sorting ignores pins, manual positions, edits and replies.
Both tools accept created_since as an inclusive lower bound and created_before as an exclusive upper bound, using RFC 3339 timestamps. Either bound can be omitted. These filters apply to original creation time, not publication time. A Library page can match even when its parent is older than the requested window. Pages hidden from the navigation tree are included if the account can access them. visibility: published limits the selection to published content.
Results include created_at, updated_at, total_results and, when more results are available, next_page. The default page_size is 10, with a maximum of 100; page starts at 1. Visibility and date filters apply before pagination, and total_results counts all matching items. Subsequent calls should keep the same date bounds and sort order while following next_page.
Troubleshooting
| What you see | What to check |
|---|---|
| Robots are unavailable | Enable a provider and save a default model in Robot settings. Check your role has the Use robots permission. |
| No models to choose from | Check the provider's key and enabled state, then refresh its model list. The provider panel shows refresh errors. |
| A tool cannot run | Check the account's permissions, whether the tool is assigned or loaded, and any workspace requirement. |
| A Robot cannot find a page | Try a direct page reference, check its visibility, or use Library browsing tools. Search results are not a complete inventory of the Library. |
| An answer is incomplete or wrong | Inspect the tool results and source content, then narrow the request or revise the playbook. A completed response is not a guarantee of correctness. |