Skip to content
RepoQuarry

Build · Intermediate · A weekend

Build a lead research and outreach assistant with open-source software

Catch leads, research them and send a personal reply or post, without a sales-tool subscription.

Instead of paying for Typeform, Firecrawl Cloud, ChatGPT Plus, Zapier or Mailchimp.

What you'll build

An assistant for the busywork of finding customers: when someone fills in your contact form, it reads their website, drafts a reply that mentions what they actually do, and queues it for you to send. The same setup helps you turn a long post into a short social version or test video titles. It replaces a stack of sales and AI writing subscriptions with tools you run, and you approve every message before it goes out.

Blueprint

A Formbricks form catches the lead, Crawl4AI reads their site, LibreChat drafts the reply or post, and listmonk sends it.

  1. You A contact or enquiry form on your site Formbricks
  2. Formbricks A new lead with their website Activepieces
  3. Activepieces The website to read Crawl4AI
  4. Crawl4AI What they do, in plain text LibreChat
  5. LibreChat A draft reply to approve You
  6. You The approved message listmonk

The repos

  1. 01 · Catch the lead Formbricks

    Self-hostable survey platform for link, website, in-app and email surveys with logic, webhooks and integrations; some team features are Enterprise.

    Setup
    Medium; one-click Ubuntu script or Docker Compose, needs a domain with HTTPS source
    Hardware
    2 vCPU, 4 GB RAM, 20 GB SSD for evaluation; 4 vCPU, 8 GB RAM for low load source
    Paid extras
    Core is free with unlimited responses; Enterprise adds branding removal, teams and roles, contacts, SSO, audit logs, spam protection
    ★ 13k AGPL-3.0-only Confirmed: 8/8 facts Official docsGitHubReplaces Typeform
  2. 02 · Research the lead Crawl4AI

    Open-source Python web crawler that turns pages into clean, LLM-ready Markdown or structured JSON, as a library, CLI or Docker server.

    Setup
    Easy, pip install crawl4ai then crawl4ai-setup to install the browser source
    Hardware
    Not documented; runs a headless browser source
    Paid extras
    None required; LLM extraction optional (local Ollama or paid APIs), Crawl4AI Cloud optional
    ★ 86k Apache-2.0 Partial: 7/8 facts Official docsGitHubReplaces Firecrawl Cloud
  3. 03 · Draft the message LibreChat

    Self-hosted ChatGPT-style interface for many AI providers, with agents, MCP, file chat, web search and multi-user auth.

    Setup
    Medium; Docker Compose (bundles MongoDB, MeiliSearch, RAG API) or npm + MongoDB source
    Hardware
    Not documented; depends on the model you run source
    Paid extras
    Works with local Ollama; most providers it targets are paid APIs
    ★ 46k MIT Partial: 7/8 facts Official docsGitHubReplaces ChatGPT Plus
  4. 04 · Connect the steps Activepieces

    Self-hostable no-code automation builder with 280+ TypeScript integrations ("pieces") that are also exposed as MCP servers.

    Setup
    Medium, install script or a single docker run with embedded database source
    Hardware
    Not documented
    Paid extras
    None required; enterprise licence and Activepieces Cloud are optional
    ★ 25k MIT Partial: 7/8 facts Official docsGitHubReplaces Zapier
  5. 05 · Send the email listmonk

    Self-hosted newsletter and mailing list manager in a single Go binary with PostgreSQL; lists, SQL segments, templates, analytics and archives.

    Setup
    Easy; download binary or docker compose up, plus a PostgreSQL database source
    Hardware
    Light; a production instance sent 7M+ emails using a fraction of one core and 57 MB peak RAM source
    Paid extras
    App is free; you need an SMTP server or sending service such as Amazon SES to deliver mail
    ★ 24k AGPL-3.0-only Confirmed: 8/8 facts Official docsGitHubReplaces Mailchimp

Step by step

Install commands change, so each step links to the repo's own docs for the exact commands.

  1. Put a form on your site

    Create an enquiry form in Formbricks that asks for name, email and website, and embed it on your site.

    Uses Formbricks · its docs

  2. Read their website

    Use Crawl4AI to turn the lead's homepage and about page into clean text.

    Uses Crawl4AI · its docs

  3. Draft the reply

    In LibreChat, save a prompt with your offer and tone of voice. Give it the lead's details and website text and ask for a short, specific reply.

    Uses LibreChat · its docs

  4. Wire it together

    Build an Activepieces flow from new form response, to Crawl4AI, to the draft, and email the draft to you for approval.

    Uses Activepieces · its docs

  5. Send and follow up

    Send approved replies and follow-ups from listmonk, to people who contacted you or agreed to hear from you.

    Uses listmonk · its docs

Watch out

Cold email rules differ by country; only email people who can expect to hear from you.

Take it further

  • Turn each blog post into a short LinkedIn version with the same LibreChat prompt.
  • Generate ten title options for a video and pick the best yourself.
  • Score incoming leads by fit before you read them.

Shared builds

Nobody has shared one yet. Be the first.

Built your own version and put it on GitHub as open source? Share your build

Questions

Can I use this for cold email?

Be careful. Many countries restrict unsolicited email. This build is designed for people who contacted you first.

Will it sound like a robot?

Less so if your saved prompt includes examples of your own writing and you edit each draft before sending.

Do I need LibreChat?

It gives you a chat screen and saved prompts. You could call Ollama directly from Activepieces instead.

Every repo here is open source, still maintained and checked against its own documentation. How we check →

Cookie preferences

Choose what we may store in your browser. You can change this any time from Cookie settings in the footer.

Essential

Security, and remembering this choice. rq-consent · 12 months

Always on