DataMind Oda drives the Browser tab of a chat's side panel with ten browser tools. This page is the reference for them: what each call does and takes, the references it uses for elements and tabs, the limits it works under, and the policy and site grants behind every call. For the browser itself, see The browser in Oda.
| Tool | What it does | Takes |
|---|---|---|
browser_tabs | Lists the chat's browser tabs, opens a new one, or closes one. | action (list, open, close); url for open; tab for close |
browser_navigate | Loads an address in a tab, or goes back, forward or reload. | url, or action (back, forward, reload); tab |
browser_snapshot | Reads the page as an outline of headings, text and controls; each control carries a reference. | tab |
browser_get_text | Reads the page as text, with headings marked from # to ######. | tab |
browser_click | Clicks an element by reference, or at a point on the latest screenshot. | ref, or x and y; tab |
browser_type | Types into a field named by reference; refuses sensitive fields. | ref, text; clear (on by default), submit (off); tab |
browser_press_key | Presses one key from a fixed set of fourteen. | key; tab |
browser_scroll | Scrolls the page up, down, left or right. | direction; amount (1 to 20, default 1); tab |
browser_screenshot | Captures the visible part of the page as one JPEG, saved as browser-screenshot.. | tab |
browser_wait_for | Waits for the page to finish loading, or for text to appear. | text (omit it to wait for loading); seconds (default 10); tab |
tab handle. Leave it out and the call uses the tab used most recently in the chat, such as tab-2.browser_tabs call that opens a tab without a url reads Pass url for action "open".browser_navigate call with no address and no action reads Pass url, or action back, forward, or reload.browser_click call with no reference and no coordinates, or with a reference and coordinates together, reads Pass either ref, or both x and y.browser_scroll amount outside its range reads amount must be an integer from 1 to 20.The Oda browser is only available in the DataMind Oda desktop app and VS Code extension.e1 and e2; browser_click and browser_type name one of them.p1 and p2, and stay valid until the page navigates. See Picking page elements.tab-1 and stay with their tab for its lifetime.browser_type types into a field named by reference. It refuses password, payment, bank-account and one-time-code fields in every mode: Oda is told never to type these and to ask you to fill the field in yourself.focus moved to another field; an element that takes no text adds the detail that element is not a text field; click it, or find the input inside it with browser_snapshot.https:/ /, and localhost:5173 is read as a host and a port, not as a scheme.Pass a complete http:/ / or https:/ / address without a username or password.That address cannot be opened in the Oda browser.| What | Limit |
|---|---|
| Address | up to 8192 characters |
| Typed text | up to 10000 characters |
| Scroll amount | 1 to 20 screens |
| Screenshot width | 320 to 4096 pixels |
| Wait text | up to 500 characters |
| Wait time | 10 seconds by default; up to 30 seconds (60000 ms at most) |
| Click coordinates | 0 to 100000 |
| Snapshot and page text | cut at the size limit (40000 characters by default) |
| Site name | up to 253 characters |
| Company site rules | up to 500 entries per list |
| Takeover hold | up to 600000 ms (15000 ms by default) |
List browser tabs, Open <url> or Close a browser tab; Go to <url> (or Browser back, Browser forward, Browser reload); Read the page; Read the page text; Click <ref> or Click at <x>,<y>; Type into <ref>; Press <key>; Scroll <direction>; Capture the page; Wait for the page or Wait for "<text>".tab-2: followed by the page's title, its address in angle brackets, and flags in brackets when they apply, such as [loading] or [loading, user has control]. A tab list opens with Browser tabs in this chat, most recent first:, or reads No browser tabs are open in this chat. when there are none.The awaited text is on the page. or The awaited text did not appear before the timeout.The page content was cut at the size limit; scroll or narrow the task to read the rest.browser-screenshot. jpg. Where that storage is not available, the call fails with Screenshots need image storage, which this app does not provide. Use browser_snapshot instead.<site> is kept for the workspace folder, so every chat in that workspace reuses it. A chat without a workspace folder keeps an "always" answer only while Oda is open. If the stored answers cannot be read, they grant nothing, and the next answer you give rewrites them.When a browser call fails, Oda receives a short reason and guidance to act on. When the browser has more detail, the detail follows the guidance in parentheses.
| What happened | What Oda is told |
|---|---|
| No tab is open in the chat | No Browser tab is open in this chat. |
| The chat is not the one on screen | The browser can only open tabs in the chat the user is looking at. |
| The page moved to another site | The tab moved to another site before the action ran. |
| You have taken the tab | The user has taken control of this tab. |
| The field is sensitive | That field takes a password, payment detail, or one-time code. |
| The reference is out of date | That element reference is not in the latest snapshot. |
| The address cannot be opened | That address cannot be opened in the Oda browser. |
| The call ran out of time | The browser did not finish in time. |
| Anything else | The browser operation failed. |
A snapshot lists the page's controls, each with a reference such as e1. browser_click and browser_type name one of these references to act on that element. References expire when the page navigates, so take a new snapshot after the page changes; the elements you pick yourself use the same shape, such as p1, and are explained in Picking page elements.
The click did not carry a usable target. A click takes either an element reference, or both coordinates measured on the latest screenshot. A call with neither, or with a reference and coordinates together, is refused; use one form and run the call again.
The page changed since the snapshot the reference came from, most often because it navigated. Take a new snapshot and use its references; Oda is told That element reference is not in the latest snapshot.
While typing, the call focuses the field and checks it again. When focus lands elsewhere, or on a field that takes a password, a payment detail or a one-time code, typing stops and the sensitive-field guidance follows: Oda never types these and asks you to fill the field in yourself. If the reference points at something that takes no text, the detail reads that element is not a text field; click it, or find the input inside it with browser_snapshot. Take a new snapshot, click the field yourself, then retry.
browser_press_key presses one key from a fixed set of fourteen: Enter, Tab, Escape, Backspace, Delete, Space, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, PageUp and PageDown. A key outside the set, such as F12, is refused.
A screenshot is saved through the app's image storage, and where that storage is not available the call fails with Screenshots need image storage, which this app does not provide. Use a page snapshot or the page text instead, and keep screenshots for charts, images or layouts that an outline cannot describe.
For the workspace folder: Always allow <site> is kept for that workspace, so every chat that works in the same folder reuses it. Allow in this chat lasts until the chat ends or Oda restarts, and a chat without a workspace folder keeps its always answer only while Oda is open. If the stored answers cannot be read, they grant nothing, and the next answer rewrites them.
The tools come with your account's browser permission. While the account holds it, the tools are present in chats; when it is withdrawn, they are removed and browser calls stop. If the tools never appear, ask your administrator to give the account the browser permission (see Manage DataMind Oda for your company).
A read of the page, a snapshot or the page text, was longer than the size limit, so the result was cut and the rest was not sent. Scroll the page or narrow the task, then read again; the cut affects that result, not the page.