AI Automation

An Agentic Lead Engine: From an Upwork Job Post to a Tracked, Personalized Conversation

Internal (Quantiq Automation)

An Agentic Lead Engine: From an Upwork Job Post to a Tracked, Personalized Conversation

How we built our own lead engine in two parts: Jarvis finds and scores Upwork jobs, cross-verifies them on LinkedIn and identifies the person behind them, then hands the lead to a CRM we wrote ourselves that runs personalized email, open and click tracking, reply capture, meetings and reminders, with an AI assistant on top and a human on every send.

The Challenge

Job boards and LinkedIn show verification challenges, change their markup without notice and can restrict an account that behaves like a bot, so a naive scraper is a liability. Asking an LLM for a single 0-100 lead score gives different answers every run with nothing to tune. And found leads go cold without tracked outreach, reply capture and reminders. We needed sourcing that is careful with accounts, scoring we can audit, and follow-through we can see.

What We Built

A Chrome extension runs inside an already-logged-in browser profile at human pace, reads one 50-listing results page instead of crawling, and hands any verification challenge to a person. Scoring is deterministic Python (gates, weighted scorers, boosts) with one batched LLM call for semantic fit only, and every score stores its breakdown. Verified jobs are matched on LinkedIn through a no-AI pre-filter and an 85-point match gate, and connection requests are opt-in, capped daily and weekly. Our own Next.js CRM then runs the stages, tracked email, IMAP reply matching, calendar reminders on a durable workflow engine, and an MCP connector where the AI drafts and a human approves every send.

The Result

Every lead now carries a full audit trail: why it scored what it did, where it was cross-verified, every email sent, every individual open and click, and every reply matched back automatically. Replies land on the right lead without manual filing, reminders fire at exact times instead of on a polling schedule, and the pipeline advances itself with each send. The result is a lead pipeline that is tunable, observable and safe to run, with the AI doing the reading and drafting and people keeping control of anything that leaves the building.

PythonChrome Extension (Manifest V3)LLM ScoringNext.jsSQLite / DrizzleInngestIMAPMCP (Model Context Protocol)

Want something like this built for you?

Tell us about your workflow and we'll put together a tailored plan.

Book a Free Auditarrow_forward

More Case Studies