sente.run that the agent sends from, receives on, and uses to hold accounts at
third-party apps.
On top of that identity, Sente runs the account lifecycle:
- Verification inbox. Every inbound email is classified on arrival (OTP, magic link, or other) with the code or link already extracted. One call blocks until the verification email lands. Email content is treated as untrusted input; extraction is hardened against prompt injection.
- Register. Point Sente at an app’s signup page and a managed browser signs up under the identity’s email and completes email verification from the identity’s own inbox. Only for targets whose terms permit automated signup — and with confirm-before-submit, a human clicks the final submit.
- Connect. Hand Sente credentials for an account your org already owns. It logs in, vaults the credentials write-only (they can never be read back through the API), and keeps the account re-loginable. TOTP seeds are vaulted too; the server computes the 30-second code — the seed never reaches any model.
- Sessions. Ask for a registered account and get a browser that is already logged in, as a
CDP URL. If the login went stale, Sente re-logs in first with the vaulted credentials and a
fresh code from the inbox. Sessions also export as portable Playwright
storageState. - Human takeover. When a run can’t proceed, it doesn’t dead-end: it holds, surfaces an interactive live view, and a person clears the step and resumes.
What Sente does not do
Stated up front, because it shapes what you can build:- CAPTCHAs and SMS 2FA block the run. Sente does not solve CAPTCHAs and has no phone numbers. Either one pages a human: the run holds (~10 minutes), a person handles the step in the live view, and the run resumes.
- SSO-only accounts cannot be connected. Accounts that sign in only via Google/Okta SSO or passkeys have no username+password for Sente to vault.
- Email-code MFA on connected accounts needs a human, unless the account uses TOTP (Sente computes the code from the vaulted seed) or its notification email was repointed to the Sente identity.
- Registration is terms-gated. Sente registers only where the target’s terms permit it. Use confirm-before-submit when a human should form the terms-of-service agreement in person.
Who it’s for
Teams whose agents must operate third-party web apps: a support agent that needs its own Zendesk-style seat, a procurement agent operating vendor portals, a QA agent that needs disposable-but-durable test accounts, an ops agent driving dashboards your org already owns. The common blocker is the same everywhere — “check your email to continue” — and the common need is an account that still works next month.Start here
Quickstart
One pasted line for a coding agent, or four CLI commands. An identity with a working inbox
in a few minutes.
Guides
Receive verification codes, register at apps, connect owned accounts, use sessions, and
wire webhooks.
API reference
The REST API at
https://api.sente.run/v1 — identities, messages, registrations,
connections, runs, webhooks.SDKs and CLI
@sente-labs/sdk (TypeScript), sente-sdk (Python, import sente), and the sente CLI.