Building Self-Sufficient AI Agents with Notte Personas
October 9, 2025

Building Self-Sufficient AI Agents with Notte Personas

Lucas's profile picture
By Lucas

TL;DR: Creating accounts and passing 2FA is a major roadblock for AI agents, requiring manual intervention. We're launching Notte Personas, a new feature that gives your AI agents complete, persistent digital identities. Each Persona comes with a dedicated email, a real phone number for SMS verification, and a secure credential vault to manage its own website credentials. This allows your agents to autonomously handle the entire authentication process — from filling out a sign-up form to passing 2FA, without any human help.

Scrape Past the Login Screen

The most valuable data isn't public — it's behind a login. Traditional scrapers hit this wall and stop. Notte Personas unlocks the authenticated web, transforming your scraper from a simple bot into an autonomous agent that can:

  • Create Its Own Accounts: Your agent signs up for any service, handling both email and SMS verification automatically. No manual work required.
  • Conquer 2FA Instantly: The dreaded SMS code or Email Sign Link is no longer an automation-killer. Your agent gets these programmatically and logs in automatically.
  • Scrape Like a Real User: Personas provide persistent, credible identities that don't get blocked like disposable services do, allowing for long-term, stable scraping sessions.

By making account creation and authentication a reproducible step in your code, this removes the primary manual bottleneck to scaling. It allows you to reliably deploy and manage numerous authenticated agents for parallel data collection and complex automation workflow

How it works

Notte Personas are not a standalone feature; they are deeply integrated with our core Agent and Session components. During an active session, a Notte Agent uses built-in tool calling to seamlessly request credentials, verification links, or 2FA codes from its assigned Persona.

Post Image

Technical Integration: Using Personas in Your Code

Integrating Personas into your Notte agents is straightforward. Here's a practical example of how to use a Persona to automate account creation:

What happens under the hood:

  1. When the agent encounters a signup form, it automatically uses the Persona's email and phone number
  2. If email verification is required, the agent programmatically retrieves the verification link from the Persona's inbox
  3. For SMS 2FA, the agent fetches the code from the Persona's phone number
  4. Credentials are automatically stored in the Persona's secure vault for future sessions
main.js
from notte_sdk.client import NotteClient
import datetime as dt

notte = NotteClient()

persona = notte.Persona(create_vault=True)
print(f"Persona email: {persona.info.email}")

# add a credential to the persona: password is generated automatically and email is the persona's email
persona.add_credentials(url="https://github.com/")

# read recent emails
recent_emails = persona.emails(only_unread=True, limit=10, timedelta=dt.timedelta(minutes=5))
print(f"Recent emails: {recent_emails}")

# get your persona in subsequent scripts
same_persona = notte.Persona(persona.info.persona_id)
assert same_persona.info == persona.info

# delete the persona when you don't need it anymore
persona.delete()

How Personas Work with Your Existing Stack

Notte Personas integrate seamlessly with our core components:

  • Sessions: Each browser session can be assigned a Persona, ensuring consistent identity across multiple interactions
  • Vaults: Credentials generated during account creation are automatically stored in the Persona's vault for future use
  • Anti-Detection: Personas work alongside our stealth browser features, CAPTCHA solving, and proxy support to create authentic, long-lasting identities

This integration means you're not managing emails and phone numbers separately—everything is coordinated through a single Persona object.

Practical Applications: What to Build with Notte Personas

The ability to programmatically create and manage authenticated identities opens up a wide range of automation possibilities that were previously complex or required significant manual work. Here are some key use cases where this capability is a game-changer:

  • E-commerce Programmatically register for shopping sites and marketplaces. This enables automated workflows for price tracking, order placement, or managing multiple accounts on platforms where authenticated access is required.
  • Social Media Reliably set up profiles across social networks. With the ability to handle SMS verification, Personas overcome the primary technical barrier to creating accounts for data collection, research, or social listening tasks.
  • Financial Services Automate the initial stages of account opening and KYC processes. Use Personas to programmatically validate email and phone number verification steps, ensuring your user onboarding flows are functioning correctly.
  • QA Testing Generate clean test accounts on demand for quality assurance. Instead of relying on a static pool of users, your test scripts can create a new Persona for each run, guaranteeing a consistent, uncompromised starting state for testing registration and user features.
  • SaaS Signups Automatically create and verify accounts on any software platform. Use this for competitive analysis, testing integrations, or populating a new environment with users without manual data entry.

Ready to Build?

The next step is to try it yourself. Create your first Persona on the Notte console and start automating account creation in minutes: https://console.notte.cc/personas

Learn More: