Quick scan before the full breakdown.
Goal
Build a repeatable B2B outreach machine that finds the right businesses and moves every contact through a defined sequence
Stack
Outscraper, Python, Cloudflare-bypass container, Claude Code, Zoho CRM
Result
~1,000 businesses sourced and classified, 140 emails sent in two weeks, 2 meetings booked from a cold list
My client is a sculptor working from a studio in Tivat, Montenegro. His work sells through relationships — an architect specifies it, a designer places it, a hotel commissions it. He had no systematic way to reach those people. Outreach happened when he remembered to do it.
The goal wasn’t “send more emails.” It was to build a repeatable machine that finds the right businesses, understands what each one actually does, and moves every contact through a defined sequence without anything falling through the cracks.
Outscraper pulled business records from Google Maps across four segments: architecture firms, interior design showrooms, restaurants, and hotels. About 1,000 companies with names, addresses, phones, and websites.
Google Maps data tells you a company exists, not whether it’s worth writing to. I wrote a Python scraper that visited every website. Many sat behind Cloudflare, so requests routed through a dedicated solver container that handled the challenge and returned clean HTML. The same pass harvested secondary channels the Maps listing never showed: Facebook, WhatsApp, Telegram.
Claude Code read each scraped site and classified the business by what it genuinely does, not by its Maps category. A “design studio” that only does kitchen renovations is a different prospect than one furnishing boutique hotels. Bad-fit companies were filtered out before they ever reached the CRM.
Records pushed into Zoho CRM via API, each one arriving with a personalised first email already drafted by Claude Code and a send task auto-created. Zoho workflows then chained the sequence: close the “send email” task, a reminder-email task appears days later, close that, a phone-call task appears. The follow-up structure runs itself.
Zoho lets you connect your own mailbox even on the free plan, so everything sends from the client’s real address. Delivery stayed human and deliberate: five emails a day, reviewed before sending. Secondary contacts got messages through Facebook, WhatsApp, and Telegram.
The volume ceiling is deliberate. Sending is still human-in-the-loop while we learn which segments and which messages actually land — automating a message nobody answers just produces failure faster. The infrastructure underneath is fully built and ready to scale the moment the copy proves itself.
Outscraper, Python, a Cloudflare-bypass container, Claude Code, Zoho CRM (API and workflow automations), Facebook/WhatsApp/Telegram outreach.
Three nearby case studies worth reading next.

Aug 10, 2026
A conversational n8n assistant that qualifies leads for a bookkeeping firm, scores them against admin-editable thresholds, and starts fresh for every new conversation.

Aug 10, 2026
A live restaurant booking bot that reserves tables, answers menu questions, and tracks several requests at once through an internal ticket system.

Aug 22, 2026
What it actually costs to run an AI chatbot day to day, why the agent model wasn't worth it, and how ticket-based state beats keeping everything in the prompt.
If you have a manual workflow between tools, I can help map the logic, design the system, and automate it in a way your team can actually use.
Hire Me on Upwork