Skip to content
Siglata Docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

Portals in the browser

On Enterprise, the agent works in the pages of a portal, such as an ERP, logged in as you, without seeing your password.

On Enterprise, the agent works in the pages of a portal the company uses, such as Bling, Sankhya or a regional ERP: it reads lists and tables, clicks, fills in and chooses, logged in as you. You log in to the portal once, on a Siglata page, with your password and codes; the agent never sees them. Kernel, Siglata’s browser provider, keeps the session and logs in again by itself when it expires.

These tools are not offered on www.siglata.com yet: they open once Siglata’s privacy policy and terms cover them.

Connect a portal

Ask the agent, for example: “connect Bling”. It calls portal_connect with the portal’s domain or any link into it:

return await portal_connect({ domain: "bling.com.br" });

The answer holds a link to Siglata’s connect page. Open it, confirm you may automate this account and log in to the portal on Kernel’s page. When the login finishes, the page shows the portal is connected. Banks, social networks and the gov.br login are refused.

The connection is yours: only you use it. An owner or admin connects the company’s portal with visibility: "org", and it serves every member who has no connection of their own to that domain. To let specific members or teams log it in again or disconnect it, grant write with grant_set and the connectionId that portal_list shows.

portal_list shows the connections you see and their live status: authenticated (ready), connecting (someone is logging in) or needs_auth (send the person url to log in again). portal_disconnect deletes the session Kernel keeps, the stored login and the grants.

Work in the pages

portal_open opens a browser on the portal, already logged in, and reads the page: its accessibility tree (the elements’ roles and names) and its visible tables, row by row.

const { sessionId, page } = await portal_open({
  domain: "bling.com.br",
  url: "https://www.bling.com.br/produtos",
});

In the same session, portal_read reads the page again or goes to another page of the portal, and portal_act clicks, fills in or chooses an element by the role and name the page shows:

return await portal_act({
  sessionId,
  action: { kind: "fill", role: "textbox", name: "Pesquisar", value: "caneta" },
});

The agent never types into a password field and stops at any link that leaves the portal’s domain. A session lasts 15 minutes.

Save and repeat a script

portal_close closes the session and returns the steps that worked as a script. The agent saves it in a company skill to repeat the work later:

  • portal_run runs a navigation-only script (goto) in one call and reads the last page.
  • portal_run_write runs a script that clicks, fills in or chooses in two calls. The first stores the steps and answers a confirmation; the agent shows what the steps will do and, only once you agree, calls again with the confirmation, which runs exactly those steps once. A confirmation lasts 10 minutes.

Credits and expired logins

Browser time is charged to the organization’s credits; with none left, the tools fail with CREDITS_EXHAUSTED before a browser opens. If the portal asks for a login again and Kernel can’t log in by itself, the tool fails with PORTAL_NEEDS_LOGIN and the link for you to log in.

For logins a script on your machine uses, see Portal logins.

Last updated on October 1, 2026

Was this page helpful?