← Back to Dashboard

Browser Provider Setup Guide

Complete reference for connecting your AI agents to browsers — local, remote, or cloud-hosted.

Quick Comparison

ProviderBest ForVideo CallsDifficultyCost
Local ChromiumWeb scraping, form filling, screenshotsNo (headless) / Yes (headed + display)EasyFree
Remote CDPVideo calls, persistent sessions, full controlYesMediumVM cost only
Browserless.ioScalable scraping, stealth, managed infraNoEasyFree tier available
BrowserbaseAI automation, session replay, anti-detectionNoEasyFree tier available
Steel.devSelf-hostable, AI-native, open-sourceNoMediumFree (self-hosted)
ScrapingBeeProxy rotation, CAPTCHA solvingNoEasyFree tier available

1. Local Chromium (Default)

The simplest option. A headless Chromium browser runs on the same machine as AgenticMail. No external services needed.

When to use

Setup

No setup needed — it's the default. Chromium is auto-detected (Google Chrome, system Chromium, or Playwright's bundled Chromium). If none found, we install Playwright Chromium automatically on first launch.

Headed mode: If your server has a display (desktop machine, not headless server), switch to "Headed" in the dashboard to see the browser window. Useful for debugging.

Troubleshooting

IssueSolution
Chromium not foundWe auto-install on first use. If it fails, check disk space (~300MB needed).
Missing dependencies on Linuxapt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libdrm2 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 libasound2
"Display not available" in headed modeHeaded mode requires X11/Wayland. Use headless on servers, or install Xvfb: apt-get install xvfb && Xvfb :99 &
Timeout on navigationIncrease timeout in browser settings. Some sites need longer with JS rendering.

2. Remote Browser (CDP)

Connect to a Chrome browser running on another machine. The agent controls it remotely via Chrome DevTools Protocol. This is the only option that supports video calls (Google Meet, Teams, Zoom) because it can access a real camera, microphone, and display.

When to use

What you need

  1. A machine with Google Chrome installed (any OS)
  2. Chrome launched with remote debugging enabled
  3. Network access between your AgenticMail server and that machine

Setup: macOS

Step 1: Open Terminal on the Mac where Chrome should run.

Step 2: Launch Chrome with remote debugging:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --remote-debugging-address=0.0.0.0 \
  --user-data-dir=/tmp/chrome-remote \
  --no-first-run

Step 3: In AgenticMail dashboard, enter: 192.168.x.x:9222 (the Mac's IP)

Step 4: Click "Test Connection" — you should see the Chrome version.

Run at startup: Add the command to Login Items in System Settings, or create a Launch Agent plist at ~/Library/LaunchAgents/com.chrome.remote.plist.

Setup: Linux (Ubuntu/Debian)

Step 1: Install Chrome:

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt-get update && sudo apt-get install -y google-chrome-stable

Step 2: For headless servers (no display), install virtual display:

sudo apt-get install -y xvfb pulseaudio
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99
pulseaudio --start

Step 3: Launch Chrome:

google-chrome-stable \
  --remote-debugging-port=9222 \
  --remote-debugging-address=0.0.0.0 \
  --no-sandbox --disable-gpu \
  --user-data-dir=/tmp/chrome-remote \
  --no-first-run &

Step 4: Enter your-server-ip:9222 in the dashboard.

For video calls on Linux: Virtual camera: sudo apt install v4l2loopback-dkms. Virtual audio: PulseAudio virtual sinks.

Setup: Windows

Step 1: Open PowerShell:

& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-port=9222 `
  --remote-debugging-address=0.0.0.0 `
  --user-data-dir="$env:TEMP\chrome-remote" `
  --no-first-run

Step 2: Allow Chrome through Windows Firewall when prompted.

Step 3: Enter the Windows machine's IP:9222 in the dashboard.

Setup: Cloud VMs

ProviderRecommendedNotes
AWSEC2 Ubuntu Desktop / WorkSpacest3.medium+. Open port 9222 in security group (restrict to your AgenticMail IP).
AzureVirtual Desktop or VMB2s+. Open port 9222 in NSG.
Google CloudCompute Engine with Desktope2-medium+. Open port 9222 in firewall.
HetznerCloud Server with Ubuntu DesktopCost-effective (~€4/mo). Open port 9222.
DigitalOceanDroplet with Desktop2GB+ RAM. Open port 9222.

Follow the Linux setup above, then configure firewall to only allow your AgenticMail server's IP.

Securing the Connection

Security: Chrome's debug port has NO authentication by default. Anyone who reaches port 9222 has full browser control. Always restrict access.

Option A: Firewall (simplest)

# Linux (ufw)
sudo ufw allow from YOUR_AGENTICMAIL_IP to any port 9222

# Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 9222 -s YOUR_AGENTICMAIL_IP -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9222 -j DROP

Option B: SSH Tunnel (most secure)

  1. Don't expose port 9222 publicly
  2. In the dashboard, set Remote Browser Address to localhost:9222
  3. In SSH Tunnel field, enter: user@remote-host
  4. We auto-create the tunnel before connecting — all traffic encrypted

Troubleshooting

IssueSolution
"Cannot connect to CDP"Check: Chrome running with --remote-debugging-port, firewall allows it, IP/port correct
"Connection refused"Ensure --remote-debugging-address=0.0.0.0 is set, or use SSH tunnel
"WebSocket handshake failed"Use host:port format (e.g. 192.168.1.100:9222) — we auto-discover the WebSocket URL
No camera in video callRemote machine needs a camera (physical or virtual). Linux: sudo modprobe v4l2loopback
No audioInstall PulseAudio on Linux. macOS/Windows: works automatically.
SSH tunnel failsCheck: SSH key configured (no password), host reachable, user has access

3. Browserless.io

Managed cloud browser service. Chrome in the cloud, connect via API token. Scalable and maintenance-free.

Setup

  1. Sign up at browserless.io
  2. Copy your API token from the dashboard
  3. Paste in AgenticMail → Browser → Browserless → API Token
  4. Click "Test Connection"

Self-hosted

docker run -d --name browserless -p 3000:3000 -e TOKEN=your-secret ghcr.io/browserless/chromium

Set endpoint to ws://your-server:3000.

No video calls. Cloud browsers don't have camera/mic. Use Remote CDP for meetings.

4. Browserbase

AI-native cloud browser. Session replay, anti-detection, built for agent automation.

Setup

  1. Sign up at browserbase.com
  2. Copy API key from Settings
  3. Copy Project ID from dashboard
  4. Enter both in AgenticMail → Browser → Browserbase
  5. "Test Connection"
Session replay: Watch exactly what your agent did at browserbase.com.

5. Steel.dev

Open-source browser API for AI agents. Self-host for free or use managed cloud.

Cloud setup

  1. Sign up at app.steel.dev
  2. Copy API key
  3. Enter in AgenticMail → Browser → Steel

Self-hosted

docker run -d --name steel -p 3000:3000 ghcr.io/nichochar/steel-browser:latest

Set endpoint to http://your-server:3000.

6. ScrapingBee

Scraping API with proxy rotation and CAPTCHA solving. Routes your browser through their network for anti-detection.

Setup

  1. Sign up at scrapingbee.com
  2. Copy API key from dashboard
  3. Enter in AgenticMail → Browser → ScrapingBee
  4. "Test Connection" — shows remaining credits
Proxy-based: Works differently from other providers. Some advanced Playwright features (file uploads, complex interactions) may not work through the proxy. Use Browserless or Browserbase for those.

Security Best Practices

All providers

Remote CDP

Cloud providers

FAQ

Can I use video calls with cloud providers?

No. Cloud providers don't have camera/mic. Use Remote CDP for meetings.

Which provider is fastest?

Local Chromium (no network latency). For cloud: Browserless and Steel are fastest.

Can I switch providers without losing anything?

Yes. Sessions are independent. Switching takes effect on next browser action. Cookies don't transfer between providers.

What if cloud provider goes down?

Agent falls back to local Chromium automatically.

Multiple browsers for different tasks?

Each agent has its own browser config. Create different agents for different purposes.

AgenticMail Enterprise — Browser Provider Setup Guide

AgenticMail Enterprise Documentation Report an issue