Skip to main content
Much useful data sits behind a sign-in: your orders, a dashboard, a members-only list. A skill can reach it in two ways, and they work together. A run first checks the start page. If the browser profile is already signed in, it just reads the page. If the site asks for a sign-in and the skill has a saved login, the run signs in once and carries on. If it still cannot get in, it stops and tells you why. It never retries in a loop. To set either one up, see Use a saved login.

Browser profiles

A browser profile stores a browser’s signed-in state. Every workspace has a Default profile, used by cloud runs unless a skill picks another one. You can also pick a profile per workflow step, so different steps run as different accounts. Each profile has an exit IP: the country the site sees. Keep it the same as where you first signed in. A mismatch can make the site end the session. If you imported your sign-in from your own Chrome, leave it on No proxy. Sessions expire. When one does, runs fail with triage_kind: "logged_out" and you get a notice to sign in again on that profile.

Saved logins

A saved login is encrypted and shown only masked (to***h). Your password, authenticator seed, and sign-in codes:
  • never reach the AI model that drives the browser. It sees placeholders such as vault_password, and the real value is typed only on the login site.
  • are never written to logs, run results, rows, webhooks, or AI assistant results.
  • are never recorded while the run signs in.
  • are never shared with your workspace.
While it signs in, the browser is fenced to the login site, so a page cannot send it somewhere else with your details. Only your own runs sign in. A teammate running a shared skill, an API key without the logins:use scope, or anyone running a public copy of the skill gets needs_user.kind = "no_login" instead. A copied skill never carries your login. A login is a setting on a skill, not a tool. No AI assistant can ask Valendata to “log in somewhere”, and nothing can read a saved password back.

Two-step sign-in

When a run cannot sign in

The run fails with triage_kind: "login_failed" (or "logged_out" when there is no login to use) and a needs_user object:
You also get an inbox note with a link to the Vault. Valendata never asks for your password in a chat.

Cost

Signing in is part of the run: its browser time and AI steps are billed like any other step. A profile that is already signed in costs nothing extra.
You are responsible for making sure automated use of your accounts follows each site’s terms.