Today

Your workspace at a glance — what needs a decision, and how the pipeline is moving.

Sales activity
Emails, WhatsApp, replies and interested leads over time

Needs your attention

Recent activity

Campaign performance

Pipeline right now

Every message waits here for a decision. Review one at a time — approve, edit or discard. A approve, R reject, E edit, J/K to move.

WhatsApp drafts Nothing sends until you approve it

The email addresses VSELL sends from. Each one has its own daily cap, and replies stay on the inbox that started the thread.

Every reply and how VSELL handled it. Handed-to-you threads are first; nothing is answered automatically while a thread waits for you.

Read and answer WhatsApp conversations, review VSELL's suggested reply, or take over the thread yourself.

VSELL proposes what it knows how to look for. You decide what defines a good prospect — nothing is collected until you confirm it.

Cohort builder A prospect list is a query, not a file

Pick the signals a good prospect must have — and any that disqualify them — and see how many companies match right now. Nothing is collected by asking.

Find businesses matching your ICP. Pick a source, see what it will cost, then run it — nothing is called until you press the button.

Source Discovery is the only stage that spends money
Run

Saved search jobs, their progress, and results. View, filter, export, and launch outreach from discovered leads.

Organizations VSELL has researched, best fit first. Click a company to see its contacts and everything found on its site.

People VSELL has found, how sure it is of their address, and where each one stands.

Discovered contacts and companies with usable phone numbers. Filter by permission status and pipeline stage.

Campaigns VSELL has written and how far each one has got. Email sequences are shown with their recipients, steps and replies.

A running log of every action VSELL's agents have taken, newest first.

Model usage on your subscription (Claude or Codex): calls and tokens by provider, agent and task. Subscription plans aren't billed per token, so there are no dollar costs here.

Credentials are stored locally in .env and never sent anywhere except the services themselves.

Sending

Approval is the default: every email VSELL writes waits for you. Autopilot sends on its own, within the same limits and safety checks.

Email

Connect the mailbox VSELL sends from and the services that verify the addresses it finds.

Email provider Active: …

Set channels.email.provider in sellbird.yaml to gmail, microsoft, smtp or instantly.

Gmail / Google Workspace Recommended

Use a mailbox on a dedicated secondary domain. Create an OAuth client (type "Desktop app") in Google Cloud Console → Gmail API, paste the id and secret, save, then sign in on the Inboxes tab (or run sellbird gmail auth).

SMTP + IMAP mailbox

Any real mailbox (AgentMail, Fastmail, a Workspace app password). IMAP defaults to the SMTP host and login if left blank.

Reading replies from a different IMAP server or login

Microsoft 365 / Outlook

Microsoft turned off password sign-in for IMAP, so Outlook mailboxes connect with OAuth. In Entra → App registrations, register an app for your organization only and add the redirect URI http://localhost:8766 as "Public client/native". Paste both IDs here, save, then sign in on the Inboxes tab (or run sellbird microsoft auth). No client secret is needed.

Instantly Legacy

Get your API key from Instantly Settings → Integrations (Growth plan or higher for API).

Email verification Strongly recommended

Add at least one so found emails get verified. Without any, addresses stay and are never sent. Reoon has the best free tier (600 a month).

WhatsApp

Connect and manage WhatsApp accounts for outreach. Supports Baileys (self-hosted) and Meta Cloud API. Every message still waits for approval before it can send.

Connected accounts

Sending controls

Enforced before every send

Loading controls…

Meta message templates

Required outside the 24-hour window

Safety policy

Always enforced

These safeguards are enforced in the backend. They are not optional settings.

Integrations

Optional services used by discovery, training and prospecting.

LinkedIn

For automated LinkedIn prospecting. VSELL logs in and searches like a human.

Cloudflare

Deep website crawling with JavaScript rendering during product training. About $5 a month.

Appearance

VSELL follows your system theme until you choose one. The choice is saved in this browser only.

VSELL remembers this per browser. The dashboard token and other data stay on this machine.

Start and stop VSELL's heartbeat loop, and watch what it's doing.

Agent

Heartbeat
Stopped

Recent logs

No logs yet. Start VSELL to see activity.

What VSELL is, how it works, and how to fix the usual problems.

What is VSELL?

VSELL is an open-source outreach platform. Once set up, VSELL runs on its own: finds people who match your ideal customer, writes personalized cold emails, sends them through your email platform, reads every reply, handles objections, and works toward booking a meeting. You review everything through this dashboard.

VSELL runs on your Claude Max subscription (or, if you opt in, your ChatGPT plan through Codex), so there are no extra AI costs. Everything stays on your machine in one folder.

Getting started

There are three things to do:

1. Go to Settings and connect an email provider (Gmail recommended)
2. Train VSELL on your product (through Claude or the command line)
3. Go to Controls and click Start

Today shows exactly what's done and what still needs to happen.

Where everything lives

Everything VSELL needs is inside this one project folder. Nothing is stored elsewhere.

.envYour API keys and credentials (never shared or committed)
sellbird.yamlYour product info, target customers, and behavior settings
skills/Sales knowledge files. Edit these to change how VSELL writes and sells.
skills/product_knowledge.mdEverything VSELL knows about your product (auto-generated from training)
prompts/Prompt templates for each agent. Advanced customization.
data/sellbird.dbDatabase with all prospects, campaigns, and conversations
data/sellbird.logLog file showing what VSELL is doing

Getting your API keys

Instantly API key (legacy)

Instantly is the legacy sending option; Gmail or SMTP is recommended.

1. Sign up at instantly.ai (you need the Growth plan for API access)

2. Go to Settings > Integrations

3. Copy your API key

4. Paste it in Settings → Email here

LinkedIn credentials (optional)

If you want VSELL to find prospects on LinkedIn, enter your LinkedIn email and password. VSELL uses a real browser to search LinkedIn like a human would, with random delays and rate limits to avoid detection.

If you skip this, VSELL will find prospects through Google searches and company website scraping instead.

Cloudflare Browser Rendering (optional)

This is only used during product training (when VSELL crawls your website to learn about your product). It handles JavaScript-heavy websites that a basic crawler can't read.

1. Sign up at Cloudflare (paid Workers plan, ~$5/month)

2. Go to Workers & Pages > Browser Rendering

3. Create an API token with Browser Rendering Edit permissions

4. Enter your Account ID and API Token in Settings → Integrations

Without this, VSELL uses a built-in crawler that works fine for most websites but can't render JavaScript.

Common issues

"command not found: sellbird"
You need to activate the virtual environment first: source .venv/bin/activate
Instantly API returns 401
Your API key is wrong, or you need the Growth plan (the free plan doesn't include API access). Double-check the key in Settings → Email.
Claude headless mode fails
Make sure you've run claude login in your terminal and have an active Claude Max subscription. VSELL uses your existing subscription, not a separate API key.
Codex calls fail
With brain.provider: codex, set brain.model to an available model ID. Run codex login and choose "Sign in with ChatGPT". VSELL never renews your Codex login. See docs/codex.md for the full checklist.
VSELL isn't finding prospects
Check that your ICP (ideal customer profile) in sellbird.yaml has realistic titles, industries, and geography. If LinkedIn is set up, check that the credentials are correct. Check the Activity tab to see what VSELL has been trying to do.