Skip to main content
There are two ways, and you can use both. To choose, see Logins and browser profiles.

Option 1: a signed-in browser profile

1

Create the profile

Click Browser Profiles in the sidebar, then Create. Name it after the site and account, for example LinkedIn — Growth team.
2

Sign in

Pick one:
  • Terminal command (recommended). Copy the command shown and run it in Terminal. Choose Pick my browser (copy the sign-in from your Chrome, Brave, or Edge), Fresh login (sign in once in a clean window), or Default Chrome (read your default Chrome’s cookies). Your password is never seen.
  • Live browser. Click Set up authentication. A browser opens in the dashboard. Sign in, including any two-step check, then click Done — save session.
3

Pick it on the skill

Open the skill. In the settings panel, choose the profile under Browser Profile. It saves at once. Every run, scheduled run, and API run now starts signed in.
When the session expires, runs fail with logged_out. Open Browser Profiles, click Update authentication on that profile, sign in again, and click Done — save session.

Option 2: a saved login

1

Save the login

In the app, open the Vault and add a Website Login. Or call POST /v1/logins. Add the authenticator seed if the site asks for an app code.
2

Pick it on the skill

In the skill’s settings, choose it under This skill signs in with…. Or call PATCH /v1/skills/{slug} with login_id. You confirm once; later runs need no prompt.
3

Run as usual

When the site asks for a sign-in, the run signs in and carries on.
API keys need logins:write to save logins and pick them, and logins:use to run skills that sign in. A key without logins:use still runs the skill but never signs in. See Authentication and scopes. If a site texts a code, the run waits up to 3 minutes. Enter it in the run panel, or send it with POST /v1/runs/{run_id}/otp. If a run cannot sign in, its needs_user says what to do. See When a run cannot sign in.