What if an AI agent could find potential customers for your business, research their websites, identify decision-makers, and prepare personalized outreach emails—all without you manually researching every company?
That’s exactly what an interesting open-source project called Sellbird is trying to accomplish.
And unlike a simple lead scraper that gives you a spreadsheet full of company names, Sellbird attempts to understand why a particular business might actually need your product.
I recently discovered this project on GitHub and decided to put it to the test.
The challenge?
Give Sellbird a fictional startup, ask it to find potential customers in Toronto, and see how far it can get through the sales prospecting workflow using AI agents.
I also wanted to see whether I could get everything running with Claude Code without spending hours manually configuring the project.
Here’s what happened. 👇
🎥 Full video walkthrough
🤖 Meet Sellbird: An Open-Source AI Sales Outreach System
Sellbird is an open-source, AI-powered sales outreach system designed to automate repetitive tasks involved in finding and contacting potential customers.
🔗 GitHub: https://github.com/ethanplusai/sellbird
Traditional sales prospecting often involves several manual steps:
- Finding companies that match your ideal customer profile.
- Visiting their websites to understand their businesses.
- Identifying potential buying signals.
- Finding relevant decision-makers and contact information.
- Writing personalized outreach emails.
- Following up with potential customers.
Individually, these tasks aren’t particularly complicated.
But when you’re researching dozens or hundreds of companies, they become incredibly time-consuming.
Sellbird attempts to automate much of this workflow using AI.
How does Sellbird work?
At a high level, the pipeline looks like this:
Business Discovery → Website Research → Contact Discovery → Personalized Outreach → Human Approval
Here’s what happens at each stage.
| Stage | What Sellbird Does |
|---|---|
| 🔍 Business Discovery | Searches for companies matching your target market |
| 🌐 Website Research | Analyzes company websites for relevant signals |
| 👤 Contact Discovery | Looks for potential decision-makers and contact information |
| ✉️ Email Generation | Creates personalized outreach emails and follow-ups |
| ✅ Human Approval | Allows outreach to be reviewed before sending |
The interesting part is the website research stage.
Instead of treating every company in a particular industry as a potential customer, Sellbird can use website signals to help identify businesses worth investigating.
For example, if you’re selling an appointment-booking solution, a business whose website emphasizes phone-based booking might be worth researching.
Of course, that doesn’t automatically mean the business needs your product.
But it gives you a more meaningful starting point than sending the same generic email to every company in a directory.
And that’s what I wanted to test.
🧪 The Experiment: Can AI Find Customers for a Fictional Startup?
To make this experiment realistic, I needed something to sell.
So I came up with a fictional SaaS product called AfterHours Desk.
The product: AfterHours Desk
Imagine an AI receptionist designed for dental practices.
It can:
- Answer incoming calls outside business hours.
- Collect patient callback requests.
- Capture relevant information.
- Pass that information to the practice’s existing systems.
The value proposition is straightforward: help dental practices avoid missing potential patient inquiries when nobody is available to answer the phone.
Who are our potential customers?
For this experiment, I targeted:
Independent dental practices in Toronto, Canada.
But I didn’t want Sellbird to simply return every dental clinic in the city.
I wanted it to look for a specific signal:
Dental practices whose websites encourage patients to call for appointments rather than prominently offering online booking.
Why?
Because these practices might be more dependent on phone-based communication.
That could make them interesting prospects for an AI receptionist.
However, there’s an important distinction here.
A website emphasizing phone-based booking doesn’t prove that a clinic has missed calls, needs an AI receptionist, or would be interested in purchasing one.
It’s simply a signal worth investigating.
With the target market and product defined, it was time to get Sellbird running.
🛠️ Setting Up Sellbird With Claude Code
One thing I appreciated about Sellbird is that its repository includes setup instructions specifically for Claude Code.
Instead of manually working through every configuration step, I decided to let Claude Code guide the setup.
Step 1: Clone the repository
First, clone Sellbird from GitHub.
git clone https://github.com/ethanplusai/sellbird
Navigate into the project directory:
cd sellbird
You’ll need Python and Claude Code installed on your machine.
Step 2: Start Claude Code
From the project directory, launch Claude Code:
claude
Now, rather than manually configuring everything, I gave Claude Code a prompt describing the project and my intended experiment.
Here’s a simplified version of the prompt I used:
Set up Sellbird using the setup instructions in this repository.
I’m creating a fictional startup called AfterHours Desk, an AI receptionist that helps dental practices handle after-hours calls and collect callback requests.
My target customers are independent dental practices in Toronto.
Focus on practice owners and managers.
Use Claude as the AI model provider.
Keep email approval enabled and do not connect a mailbox.
Walk me through any configuration or credentials required, and stop before running discovery so I can review everything.
Claude Code inspected the repository, followed its setup instructions, and guided me through the configuration.
This made the initial setup considerably easier.
One important detail: I deliberately kept email approval enabled and avoided connecting a mailbox.
The goal was to evaluate Sellbird’s research and email-generation capabilities, not send unsolicited emails to real businesses.
📊 Exploring the Sellbird Dashboard
Once the environment was configured, I launched the dashboard using:
sellbird dashboard
The dashboard provides an interface for inspecting different parts of the outreach workflow.
You can explore discovered companies, review research signals, monitor discovery activity, and inspect generated outreach.
Website signals
One of the more interesting features is Sellbird’s signal system.
These signals help determine what the system should look for when researching businesses.
Some signals rely on free services, while others require paid providers.
For my experiment, I wanted to keep costs low.
So I enabled the available free signals using:
sellbird signals --confirm free
This enabled 26 free signals in my setup.
Choosing a business discovery provider
Sellbird supports multiple discovery providers.
Some are paid, but I wanted to see what was possible using free options.
For this test, I selected OpenStreetMap.
It’s a useful starting point for discovering local businesses, although the available data and resulting lead quality can vary.
And as I discovered later, the choice of provider matters quite a bit.
🔎 Running the AI Lead Discovery Pipeline
With everything configured, I started the discovery process:
sellbird discover
Sellbird began searching for dental practices matching the target market.
The dashboard allowed me to monitor the pipeline and inspect its progress.
The initial results
Here’s what happened during my test:
| Metric | Result |
|---|---|
| Target market | Dental practices in Toronto |
| Discovery provider | OpenStreetMap |
| Businesses discovered | 96 |
| Websites analyzed | 26 |
| Contact discovery | Contacts found for some businesses |
| Outreach generation | Personalized emails and follow-ups generated |
| Emails sent | 0 |
Sellbird discovered approximately 96 businesses and analyzed 26 websites.
That was an encouraging start.
But finding businesses is only the first step.
The more interesting question was whether Sellbird could turn those discoveries into useful outreach opportunities.
📧 From Business Research to Personalized Emails
After the discovery stage, Sellbird continued processing the available business information.
The system attempted to find relevant contacts and generate outreach messages based on the research it had collected.
Contact discovery and verification
Finding an email address doesn’t necessarily mean it’s valid.
Sellbird includes a Python-based verification approach, but the project also recommends using dedicated email verification services for more dependable results.
For my experiment, I configured an external verification provider.
This added another step between discovering contact information and preparing outreach.
It’s worth emphasizing that email verification and lead qualification are different problems.
An email address can be technically valid while the person behind it is completely irrelevant to your product.
Personalized outreach generation
Once the pipeline had enough information, Sellbird generated outreach drafts for identified contacts.
What I found interesting was that it didn’t stop at a single email.
It also prepared follow-up messages.
The generated sequences included:
- An initial personalized outreach email.
- A first follow-up.
- A second follow-up.
The idea is to use information collected during business research to make the outreach more relevant than a generic cold email.
And because I kept the approval workflow enabled, these remained drafts for review.
No emails were sent during my experiment.
That’s an important distinction, especially when testing automation systems that interact with real businesses.
⚖️ Does Sellbird Actually Find Qualified Leads?
This is where things get interesting.
Sellbird successfully automated several steps in the prospecting workflow.
It discovered businesses, researched websites, found some contacts, and generated personalized outreach drafts.
But does that mean it found 96 qualified leads?
Not necessarily.
And this distinction matters.
1. Business discovery isn’t the same as lead qualification
Finding a dental practice in Toronto is relatively straightforward.
Determining whether that practice genuinely needs an AI receptionist is a much harder problem.
A clinic might not offer online booking because it prefers phone-based scheduling.
Or it might already have a receptionist, answering service, or another solution.
Website signals provide useful clues, but they aren’t proof of purchasing intent.
2. Your discovery provider matters
I deliberately used OpenStreetMap because it was free.
That made it a good option for testing the pipeline.
However, free business directories may have incomplete company information, missing website URLs, or outdated records.
A different discovery provider could produce substantially different results.
I would be interested in comparing Sellbird’s output using a paid provider.
3. AI-generated outreach still needs human review
Generating a personalized email is relatively easy for modern language models.
Generating an email that’s accurate, relevant, and genuinely useful to the recipient is another matter.
The AI might misunderstand a website, overstate a business problem, or make assumptions that aren’t supported by the research.
That’s why I think human approval is an important part of this workflow.
For a production system, I would also want checks for duplicate contacts, unsupported claims, privacy requirements, and applicable email marketing regulations.
💡 Why I Think This Project Is Interesting
We’ve seen plenty of AI coding assistants, research agents, and autonomous browser tools.
But projects like Sellbird demonstrate another practical direction for agentic AI:
Automating multi-step business workflows rather than individual tasks.
The value isn’t necessarily in any single capability.
Finding businesses? We already have directories for that.
Researching websites? Search engines and scraping tools can help.
Writing emails? LLMs are already good at generating drafts.
The interesting part is connecting these capabilities into a workflow where the output of one stage informs the next.
For example:
Find a company → Analyze its website → Identify a relevant signal → Find a contact → Draft a contextual email → Request approval
That orchestration is what makes the system worth exploring.
It also introduces challenges around data quality, error handling, model reliability, and human oversight.
And those challenges are precisely what make real-world AI agent projects interesting from an engineering perspective.
🚀 What Would I Improve?
If I were extending this project, there are a few areas I’d explore.
1. Better lead scoring
Rather than treating every discovered company equally, I’d introduce a lead scoring system based on the strength and reliability of the evidence.
For example, a company with multiple relevant signals could receive a higher score than one with a single weak signal.
2. Evidence-backed qualification
Every lead should include a clear explanation of why it was selected.
Ideally, that explanation would reference specific information from the company’s website.
This would make the system easier to audit and reduce the risk of unsupported assumptions.
3. More reliable contact discovery
I’d compare multiple contact discovery and verification providers to understand their coverage, accuracy, and cost.
4. Automated evaluation
I’d also build a small evaluation dataset with manually reviewed businesses.
Then measure things like:
- Precision of qualified lead recommendations.
- Contact discovery accuracy.
- Percentage of outreach drafts requiring correction.
- Cost per reviewed lead.
- Time saved compared with manual research.
Because ultimately, the important metric isn’t how many companies an AI agent discovers.
It’s how many genuinely relevant prospects it identifies with reliable evidence.
Final Thoughts
Sellbird is an interesting example of how AI agents can be used to automate sales prospecting and outreach preparation.
In my experiment, it discovered 96 businesses, analyzed 26 websites, and generated outreach drafts for identified contacts.
That doesn’t mean it found 96 qualified customers or that the generated emails would convert into sales.
But it does demonstrate how several repetitive tasks can be connected into a single AI-powered workflow.
For developers interested in building practical AI agents, I think projects like this are worth studying.
They show both the possibilities of agentic automation and the challenges that appear when AI systems interact with real-world data.