Files

6.0 KiB
Raw Permalink Blame History

name, description
name description
agent-browser-browserless-openai-signup-smoke Connect Agent Browser to Browserless or Browser Use CDP and automate OpenAI web flows. Use when Codex needs to (1) smoke-test ChatGPT signup from `chatgpt.com` through email/password/email-verification, or (2) drive an OpenAI OAuth authorize URL through login, email verification, Codex consent, and capture the final `localhost` callback URL. Includes Browserless troubleshooting notes, a Browser Use fallback workflow, and reusable Python helper scripts.

Agent Browser CDP Flows

Overview

Use this skill for two validated Agent Browser workflows:

  • Browserless stealth CDP for ChatGPT signup smoke tests.
  • Browser Use cloud browser + Agent Browser CDP attachment for OpenAI OAuth callback capture.

Prefer the Browser Use workflow for the OAuth callback task. It was more stable than Browserless for the final localhost redirect.

Quick Start

Browserless signup smoke

  • Export BROWSERLESS_TOKEN.
  • Run python3 skills/agent-browser-browserless-openai-signup-smoke/scripts/openai_signup_smoke.py.
  • Use a non-deliverable but syntactically valid test email such as an example.com address.
  • Prefer a fresh email alias on each run; reusing the same fake address can route the flow to log-in/password instead of the signup password page.
  • Stop after the email-verification page unless the user explicitly asks for more.

Example:

export BROWSERLESS_TOKEN='...'
python3 skills/agent-browser-browserless-openai-signup-smoke/scripts/openai_signup_smoke.py \
  --email 'agent-browser-smoke@example.com' \
  --password 'TempPass!20260315' \
  --output /tmp/openai-signup-smoke.json

Browser Use OAuth callback capture

  • Install browser-use-sdk in a local environment.
  • Export BROWSER_USE_API_KEY.
  • Run python3 skills/agent-browser-browserless-openai-signup-smoke/scripts/browseruse_oauth_callback.py with the OAuth authorize URL, login email, and password.
  • Omit --code to stop at the email-verification page.
  • Add --code ... --approve-consent to continue through the Codex consent page and capture the final localhost callback URL.

Example: stop at verification

export BROWSER_USE_API_KEY='...'
python3 skills/agent-browser-browserless-openai-signup-smoke/scripts/browseruse_oauth_callback.py \
  --oauth-url 'https://auth.openai.com/oauth/authorize?...' \
  --email 'user@example.com' \
  --password 'secret' \
  --output /tmp/browseruse-oauth.json

Example: capture callback after receiving the email code

export BROWSER_USE_API_KEY='...'
python3 skills/agent-browser-browserless-openai-signup-smoke/scripts/browseruse_oauth_callback.py \
  --oauth-url 'https://auth.openai.com/oauth/authorize?...' \
  --email 'user@example.com' \
  --password 'secret' \
  --code '123456' \
  --approve-consent \
  --trace-path /tmp/browseruse-oauth-trace.zip \
  --output /tmp/browseruse-oauth.json

Workflow A: Browserless Signup Smoke

  1. Build the Browserless stealth websocket URL: wss://production-sfo.browserless.io/chrome/stealth?token=...
  2. Connect Agent Browser to that websocket with a dedicated session name.
  3. Open https://chatgpt.com and wait briefly for the homepage to stabilize.
  4. Click Sign up for free with a role-based locator instead of brittle element references.
  5. Fill a format-valid test email and submit.
  6. Fill a test password and submit.
  7. Read back the resulting URL, title, and interactive snapshot.
  8. Treat https://auth.openai.com/email-verification / Check your inbox - OpenAI as a successful smoke-test result.

Workflow B: Browser Use OAuth Callback Capture

  1. Create a Browser Use cloud browser with the SDK.
  2. Read cdp_url from the Browser Use session, then fetch /json/version to get webSocketDebuggerUrl.
  3. Connect Agent Browser to that websocket URL.
  4. Open the OpenAI OAuth authorize URL.
  5. Log in with the provided email and password.
  6. If no verification code is available yet, stop on https://auth.openai.com/email-verification.
  7. When a verification code is available, submit it and wait for https://auth.openai.com/sign-in-with-chatgpt/codex/consent.
  8. Before pressing the consent Continue button, route http://localhost:1455/* so the callback URL survives even if the upstream app is not listening.
  9. Optionally start agent-browser trace before the consent click.
  10. Click consent Continue, then read the full callback URL from the current page URL.

Expected Observations

  • Browserless plain CDP can stall on Just a moment...; Browserless stealth is better for signup smoke tests.
  • Browser Uses direct agent-browser -p browseruse provider path can fail, while Browser Use SDK session creation plus explicit CDP attachment works.
  • Browser Use-backed Agent Browser runs were more stable than Browserless for the OAuth callback flow.
  • A successful callback capture can still render a proxy or upstream error page; if the current URL begins with http://localhost:1455/auth/callback?..., the callback was captured successfully.
  • Reused or stale verification codes show Incorrect code on the email-verification page.

See references/observations.md for the concrete results captured during testing.

Troubleshooting

  • If the title is Just a moment..., reconnect with the Browserless stealth endpoint.
  • If Agent Browser falls back to chrome://new-tab-page/, discard that run and start a fresh end-to-end session.
  • Use fresh verification codes quickly; they expire and cannot be replayed reliably.
  • Browser Use browser creation currently accepts timeout <= 240.
  • If the final page shows 502 Bad Gateway or localhost refused to connect, inspect the current URL before assuming failure.

Resources

  • scripts/openai_signup_smoke.py runs the Browserless signup smoke flow and emits a machine-readable summary.
  • scripts/browseruse_oauth_callback.py creates a Browser Use cloud browser, attaches Agent Browser via CDP, and captures OpenAI OAuth callback URLs.
  • references/observations.md records the tested Browserless and Browser Use behavior.