Templates/AI Sales Agent

Your HubSpot pipeline, watched 24/7. Hot leads surfaced. Stale deals flagged. Daily Slack briefing. $79 once.

Lead scoring. Deal priority. Stale deal alerts. Score writeback to HubSpot. Daily reports. All automatic.
$79 one-time. Setup in 15 minutes. No subscription.

✦ Scores write back to HubSpot — filter by abbi_lead_score inside your CRM, build saved views, trigger workflows.

✅ Production TestedFramework AgnosticZero Dependencies
$79
one-time · own forever
Try it free on your pipeline first — no purchase required.

If the AI Sales Agent doesn't find at least one stale deal you missed or one hot lead you didn't know about in 30 days, I'll refund every cent. No questions asked. You keep the code. Email support@abbilabs.xyz — we'll process it same day.

⏳ v3 pricing: $79

Price increases to $129 when Pipedrive integration ships. Buyers today get the upgrade free.

🛡️
The "Find One Stale Deal" Guarantee

If the AI Sales Agent doesn't find at least one stale deal you missed or one hot lead you didn't know about in 30 days — full refund, same day. You keep the code. No forms, no questions. Email support@abbilabs.xyz.

See it in action

Watch the agent score leads, flag stale deals, and send the Slack report — live.

You open HubSpot every morning. Check new leads. Mentally score them. Flag the stale deals. Note follow-ups. Copy numbers into a spreadsheet. Write a summary for the team. That's 30–60 minutes. Every day. On work that a script can do better than you.

The AI Sales Agent connects to your HubSpot, scores every new lead against rules you define, flags deals with no activity for 7+ days, auto-creates follow-up tasks in HubSpot, and sends your team a daily pipeline report in Slack by 8am. You don't review the pipeline. You review the report.

Built for sales teams who use HubSpot every day

✅ This is for you if:
  • You spend 30+ min/day manually reviewing your pipeline
  • Deals go stale because nobody noticed in time
  • You want lead scoring without paying $800/mo for Marketing Hub Pro
  • You can paste an API key into a config file (or have someone who can)
❌ This is NOT for you if:
  • You don't use HubSpot (Salesforce/Pipedrive support coming soon)
  • You want a fully hosted SaaS — this runs on your machine
  • You have fewer than 10 deals in your pipeline
  • You need a human to do the follow-ups for you

Try it before you connect anything

Run node scripts/lead-scorer.cjs --test with sample data — no API key needed. See exactly what you're getting before you touch HubSpot.

$ node scripts/lead-scorer.cjs --test
Running in TEST MODE (sample data — no HubSpot connection needed)
─────────────────────────────────────────────────────────────────
🔥 HOT Sarah Chen — Score: 92/100
VP Engineering +30, 500+ employees +30, tech industry +15, pricing page +17
→ Score written to HubSpot: abbi_lead_score=92, abbi_lead_classification=HOT
🌡 WARM James Okonkwo — Score: 58/100 (decay: 74→58, 3 weeks inactive)
Director +20, 50–200 employees +20, SaaS +15, email opens +3
❄️ COLD Lisa Park — Score: 0/100
competitor.com -100, Director +30, 50–200 employees +20, SaaS +15
🧊 WENT COLD: Bob Walsh — VP Sales at BigCorp
Score: 45/100 (email bounced -30)
Would have scored 75/100 — blocked by negative signal

“Went cold” alerts show you leads that would have been HOT but got blocked by negative signals — bounced email, competitor domain, unsubscribe. You can't fix what you can't see.

🔗
Scores write back to HubSpot automatically

After scoring, the agent writes abbi_lead_score and abbi_lead_classification directly to each contact record in HubSpot. Your reps can filter by score in list views, build saved views (“Show me all HOT leads”), use them in sequences and workflows — without ever leaving HubSpot. It's not a parallel system. It plugs into the CRM you already live in.

Up and running in 15 minutes

No cloud setup. No ongoing subscription. Runs on your machine.

1
Download the package1 click

Instant download — one zip, all scripts and config included.

2
Add your HubSpot API key to config.json2 min

Open config.json, paste your API key. That's the whole HubSpot setup.

3
Verify it works1 min

Run node scripts/lead-scorer.cjs --test — scores sample leads with no live data needed.

4
Set your Slack webhook URL2 min

Paste your Slack webhook into config.json. Alerts and reports route there automatically.

5
Add the cron job5 min

One crontab line — runs every 30 minutes from then on. Done.

✓ No cloud setup. No ongoing subscription. Runs on your machine.

What it does — all 13 features

Most tools give you one thing. This gives you a complete pipeline intelligence system.

🎯

Lead scoring engine

Scores every lead on job title, company size, industry, email opens, page views, and form submissions. Weights in config.json — change without code.

🧠

Transparent score breakdown

Every alert shows exactly why. "VP Engineering +30, 500+ employees +30, tech +15" — not a black box your reps can't act on.

🔗

Score writeback to HubSpot

Writes abbi_lead_score and abbi_lead_classification to contact records. Filter, build views, trigger workflows — inside HubSpot.

🚨

Deal priority scorer

Scores DEALS by combining inactivity, deal size, engagement, and stage urgency into CRITICAL / WARNING / WATCH levels.

🔥

Hot lead Slack alerts

Instant Slack ping when a lead hits your threshold. Includes name, company, score, and full breakdown.

⚠️

Stale deal detection

Flags deals with no activity past your threshold (7/14/30 days). Auto-creates HubSpot task for each stale deal — due tomorrow, linked to deal and contact.

📊

Daily pipeline report

Sent to Slack every morning: hot leads, stale deals, pipeline value, deals closing this week. Before you wake up.

📈

Weekly performance + velocity

Pipeline velocity tracking — average days per stage, week-over-week trends. What sales ops pays Clari $800+/month for.

🖱️

Engagement scoring

Three behavioural signals from HubSpot free API: page views, form submissions, email opens. Recency-weighted so old clicks don't inflate today's score.

❄️

Score decay + negative signals

Scores decay 5%/week. Negative signals: bounce -30, unsubscribe -50, competitor domain -100. "Went cold" alerts surface near-misses.

📝

Google Sheets logging

Every score and alert archived automatically. Pull the sheet for client reviews or board meetings anytime.

🛠️

Full HubSpot toolkit

341 lines with 20+ CLI commands: contacts, companies, deals, tickets, notes, associations, pipelines, owners. Rate limit retry built in.

⚙️

Three vertical configs

Pre-built for B2B SaaS, Agency, Consulting. Swap vertical in 10 seconds — one config flag, no code changes.

Deal priority scorer — not just contacts

Most lead scoring tools only look at contacts. This also scores your active deals — combining inactivity, deal size, engagement, and stage urgency into actionable priority levels. CRITICAL deals get a HubSpot task created automatically.

$ node scripts/deal-scorer.cjs score-all
🚨 CRITICAL MegaCorp - Full Suite $50,000 Decision stage
Inactivity: 14d · No engagement · High value
→ HubSpot task created: "Urgent follow-up required"
⚠️ WARNING Acme Corp - Enterprise $24,000 Proposal sent
Inactivity: 9d · Last note 9 days ago
👁 WATCH FastMover Ltd - Hot Lead $12,000 Contract sent
Inactivity: 7d · Approaching threshold
Pipeline velocity (week-over-week):
Appointment → Qualified: 3.2d ↓ 0.8d ✅
Qualified → Proposal: 8.1d ↑ 2.3d ⚠️
Proposal → Decision: 12.4d → 0.1d ✅

CRITICAL deals get a HubSpot task auto-created. The agent doesn't just report problems — it creates follow-up actions for you.

📊 Pipeline velocity tracking — what Clari charges $800+/month for

The weekly report includes stage-by-stage velocity: average days each deal spends at Appointment, Qualified, Proposal, Decision — with week-over-week trend arrows so you can see if your pipeline is accelerating or stalling.

Clari starts at ~$100/seat/month. InsightSquared ~$65/seat/month. You get the same velocity data in the weekly Slack report — for $79 one-time.

Pre-built scoring models for your industry

Set vertical in config.json and the scoring weights, thresholds, and stage names switch automatically. Swap in 10 seconds.

💻
B2B SaaS
  • Job title: VP+ / Director
  • Company size: 50–500
  • Tech industry +15
  • Pricing page visit +17
  • Free trial signup +20
  • Competitor domain -100
🎨
Agency
  • Marketing / growth titles +25
  • SMB company size +20
  • Ecommerce / DTC +15
  • Contact form submission +15
  • Budget keyword +10
  • Unsubscribe -50
📋
Consulting
  • C-suite / Founder +30
  • Company size 10–200 +20
  • Professional services +15
  • Multiple page views +12
  • Case study download +20
  • Email bounce -30

Try it before you connect HubSpot

Run node scripts/lead-scorer.cjs --test with sample data — no API key needed. See exactly what fires before touching your real data.

$ node scripts/lead-scorer.cjs --test
Running in TEST MODE (sample data — no HubSpot connection needed)
─────────────────────────────────────────────────────────────────
🔥 HOT Sarah Chen — Score: 92/100
VP Engineering +30, 500+ employees +30, tech industry +15, pricing page +17
→ Score written to HubSpot: abbi_lead_score=92, abbi_lead_classification=HOT
🌡 WARM James Okonkwo — Score: 58/100 (decay: 74→58, 3 weeks inactive)
Director +20, 50–200 employees +20, SaaS +15, email opens +3
❄️ COLD Lisa Park — Score: 0/100
competitor.com -100, Director +30, 50–200 employees +20, SaaS +15
🧊 WENT COLD: Bob Walsh — VP Sales at BigCorp
Score: 45/100 (email bounced -30) — would have scored 75/100

Deal priority scorer

Scores open deals (not contacts) by inactivity, value, engagement, and stage urgency. Outputs CRITICAL / WARNING / WATCH with context — and auto-creates HubSpot tasks.

$ node scripts/deal-scorer.cjs score-all
🚨 CRITICAL MegaCorp - Full Suite $50,000 Decision stage
Inactivity: 14d · No engagement · High value
→ HubSpot task created: "Urgent follow-up required"
⚠️ WARNING Acme Corp - Enterprise Plan $24,000 Proposal sent
Inactivity: 9d · Last note 9 days ago
👁 WATCH FastMover Ltd $12,000 Contract sent
Inactivity: 7d · Approaching threshold
Pipeline velocity (week-over-week):
Appointment → Qualified: 3.2d ↓ 0.8d ✅
Qualified → Proposal: 8.1d ↑ 2.3d ⚠️
Proposal → Decision: 12.4d → 0.1d ✅
Pipeline velocity tracking — week-over-week stage trend arrows. This is what sales ops teams pay Clari and InsightSquared monthly for. It's in your weekly report.

Pre-built scoring models for your industry

Don't start from a blank config. Three vertical-specific models included — swap in 10 seconds.

B2B SaaS

Higher weights for VP+, 50–500 employees, tech/finance/SaaS. Email open multiplier. 80-point hot threshold.

Agency

Weighted for CMO/Marketing Director, mid-size companies, professional services. 70-point threshold — surface more leads.

Consulting

C-suite and VP-only hot leads. Conservative 85-point threshold — only the most qualified get escalated.

All three in examples/scoring-rules.json — copy, paste, adjust.

The actual code

Real Node.js code, zero dependencies, fully commented. Pure lead scoring logic — no black box.

// AI Sales Agent — Lead Scoring Engine
// Pure Node.js, 20+ rules, score decay, negative signals
function scoreContact(properties) {
const rules = config.scoring.rules;
let total = 0, breakdown = [];
// Score on job title, company size, industry
for (const rule of rules) {
if (value.includes(rule.keyword)) {
total += rule.points;
breakdown.push({rule, value, points});
}
}
// Apply negative signals
if (bounced) total -= 30;
if (competitor) total -= 100;
// Apply score decay for inactive leads
const weeks = (now - lastActivity) / (7*24*60*60*1000);
total *= Math.max(0, 1 - (5% * weeks));
// Return score + breakdown for Slack alert
return { score: Math.min(100, total), breakdown };
}
// Full source code included in download

Full file in download (lead-scorer.cjs, deal-scorer.cjs, pipeline-report.cjs). This is the actual scoring logic — 200 lines does all the work.

What's included

ai-sales-agent/
AGENT.mdAgent personality, decision rules, alert formats
WORKFLOWS.md5 complete workflows step-by-step
SETUP.mdSetup guide — HubSpot, Sheets, Slack (15 min)
config.jsonScoring rules, thresholds, channels — no code changes
scripts/hubspot.cjsHubSpot CRM integration, 20+ commands
scripts/sheets.cjsGoogle Sheets integration & logging
scripts/slack.cjsSlack alerts and daily/weekly reports
scripts/lead-scorer.cjs⭐ Lead scoring engine + writeback
scripts/deal-scorer.cjs⭐ Deal priority scorer
scripts/pipeline-report.cjs⭐ Daily & weekly pipeline reports
scripts/follow-up-checker.cjs⭐ Stale deal detector & auto-tasks
examples/saaS.config.jsonPre-built B2B SaaS scoring config
examples/agency.config.jsonPre-built Agency scoring config
examples/consulting.config.jsonPre-built Consulting scoring config
⚠️ What about HubSpot Breeze AI?

HubSpot Breeze AI is a black box locked inside an $800+/month subscription. You can't see the scoring logic. You can't change the rules. You can't export the code. The AI Sales Agent is the opposite: full transparency, JSON config, complete source code, $79 one-time.

vs HubSpot native lead scoring

HubSpot's own lead scoring requires Marketing Hub Professional or Enterprise. Here's the math.

HubSpot Breeze AI
AI Sales Agent
Price
$800–$1,200/mo
$79 one-time
Lead scoring
✅ Included
✅ Included
Scoring logic visible
❌ Black box
✅ Full source code
Custom scoring rules
⚠️ UI-based only
✅ JSON config you own
Score explanation
❌ Not shown
✅ "VP +30, tech +15..."
Slack alerts
❌ Not included
✅ Built in
Stale deal detection
❌ Not included
✅ Built in + auto-tasks
Deal scoring
❌ Not included
✅ CRITICAL/WARNING/WATCH
Daily pipeline report
❌ Not included
✅ Built in
Pipeline velocity
❌ Not included
✅ Weekly reporting
You own the code
❌ SaaS lock-in
✅ Full source, forever
$79 once vs $9,600+/year. Transparent scoring. Full source. No lock-in. You own it forever.

vs building it yourself

Sounds straightforward — until you hit the real problems. Here's what you'd spend weeks solving:

HubSpot API pagination quirkshandled
Slack webhook formattinghandled
OAuth token refreshhandled
Lead scoring logicpre-built
Error handling and retriesproduction-tested
HubSpot rate limitsmanaged automatically

A competent developer can build a basic version in 2–3 weekends. But you'll still hit rate limit edge cases, token expiry bugs, and Slack formatting quirks in production. This is already past all that — production-tested, documented, ready to run.

Example scoring config

Change the rules in config.json — no code changes required.

// config.json — customise per your business
{
  "scoring": {
    "job_title_weight": 25,
    "hot_threshold": 85,
    "warm_threshold": 50,
    "stale_deal_days": 7
  },
  "rules": [
    { "field": "jobtitle", "contains": ["ceo","founder","vp"], "points": 25 },
    { "field": "company_size", "range": {"min": 500}, "points": 30 },
    { "field": "industry", "contains": ["saas","tech"], "points": 15 }
  ],
  "negative_signals": {
    "email_bounced": -30,
    "unsubscribe": -50,
    "competitor_domains": ["competitor.com"]
  }
}

FAQ

Does it work with a free HubSpot account?

Yes. Free tier works fine. Just needs an API key — available on all plans, including free.

Can I customise the lead scoring rules?

Yes. All in config.json. Job title weights, company size, industry, engagement. No code changes needed.

Does it work with other LLMs?

Yes. Claude, GPT, Gemini, etc. You can also run scripts as cron jobs with zero LLM — pure automation.

What if I don't use Google Sheets?

Optional. Lead scoring and Slack alerts work without it. Sheets is just for archiving if you want a paper trail.

What's the refund policy?

30 days. Email us first — we'll fix it. If we can't, full refund, no questions asked.

Works with any AI framework

OpenClaw
Drop in skills directory. Run. Done.
Claude API
Load AGENT.md as system prompt.
GPT API
Load AGENT.md as system message.
LangChain
Scripts become tools, WORKFLOWS.md → chains.
CrewAI
AGENT.md → config, WORKFLOWS.md → tasks.
Any other
Standalone Node.js scripts. No framework required.

Freelancers and agencies

Deploy this for SaaS clients in 15 minutes. Customise scoring rules per client. Bill $2,000–$5,000 for CRM automation. One $79 purchase covers all your projects.

What early users are saying

“[Beta user feedback — updating as reviews come in]”

— Early beta user

HubSpot charges $9,600+/year for lead scoring. You pay $79.

Once. Own it forever. Works on their free CRM tier. 30-day money-back guarantee.

$79

Try it free on your pipeline first — no purchase required.

Result-based guarantee: If the AI Sales Agent doesn't find at least one stale deal you missed or one hot lead you didn't know about in 30 days, I'll refund every cent. No questions asked. You keep the code. Email support@abbilabs.xyz — we'll process it same day.

v3 pricing: $79. Price increases to $129 when Pipedrive integration ships. Buyers today get the upgrade free.

Instant download · Full source code included