a Sagan program ยท currently in private beta

Clickup Nurture & Referral Agent

The Instantly queue fills daily with founder-voice emails drafted from ClickUp closed-lost and closed-won leads, triggered by spring season, website redesigns, or neighbor wins, so the 500-lead list gets worked without Jan's manual sessions.
before

Jan manually pulls leads from ClickUp, reads through them, and decides who to email. He drafts messages using Missive's AI (which only sees one thread, not the whole relationship) and sends them sporadically. Closed-won clients never trigger systematic referral outreach to nearby businesses.

after

Every day, the agent pulls closed-lost and closed-won leads, detects real signals (seasonality, website changes, neighbor wins), drafts emails in Jan's voice, and queues them through Instantly. For closed-won clients, it automatically identifies similar nearby businesses and drafts referral outreach. The 500-lead list gets worked consistently without manual sessions.

digital marketing / marketing agencies / home services / field services / lead nurture / follow-up / referral generation / data enrichment / ClickUp / Instantly / Firecrawl / Wayback Machine /  digital marketing / marketing agencies / home services / field services / lead nurture / follow-up / referral generation / data enrichment / ClickUp / Instantly / Firecrawl / Wayback Machine / 
the problem

500 CRM leads sit cold because re-engagement is manual and sporadic.

When a lead goes cold or a deal closes, Freitag Marketing's re-engagement process stops.

01
500 leads in ClickUp

Closed-lost and closed-won records that only get worked when someone has time.

02
Manual, sporadic outreach

Re-engagement happens 30 minutes at a time, whenever Jan or the team is bored, not systematically.

03
Local referral networks untapped

Closed-won clients' neighbors are warm prospects, but no one reaches out to them.

the math, if you want to look

Turn stale leads and closed-won clients into a daily, automatic re-engagement engine.

proof 01
Signal-driven, not timer-driven

Outreach happens when there's a real reason: seasonality, a website change, a topical hook. Otherwise, a gentle cadence keeps the lead warm without being annoying.

proof 02
Founder-voice, not platform AI

Message content is assembled from Jan's rules and voice, not a black-box platform AI. Changing the approach is a settings change, not an Instantly edit.

proof 03
Local referral spread from closed-won

Each closed-won client triggers outreach to similar nearby businesses. Freitag's local credibility makes this high-yield.

proof 04
ICP-gated so no junk goes out

Only New England home-services businesses with websites get contacted. Time-wasters and no-website leads are skipped.

Every day, the agent pulls closed-lost and closed-won leads from ClickUp, finds a real reason to reach out (spring season starting for a landscaper, their website redesigned since last contact, a neighbor who just signed), and drafts an email in Jan's voice. The message goes into Instantly's queue, with content assembled outside the platform so Jan controls the model, tone, and approach. For closed-won clients, the agent identifies similar nearby businesses and drafts the 'we just closed your neighbor' referral opener. No one has to remember to work the list. The revenue gets worked consistently.

how it works

How the agent works

The agent runs daily, pulling leads from ClickUp, detecting signals, drafting emails, and queuing them for send.

step 01
Pull closed-lost and closed-won leads from ClickUp daily

Every morning, the agent fetches the closed-lost (nurture) and closed-won lists from ClickUp, extracting lead name, email, service type, website, deal value, and last-contact date.

step 02
Detect a real reason to reach out

For closed-lost leads, the agent checks for seasonality (spring for landscapers, fall for HVAC), a website redesign (comparing current site to the last Wayback snapshot), or a topical hook. If none fire, it falls back to a gentle cadence (2โ€“3 times per year). For closed-won clients, it identifies similar nearby businesses in the same vertical.

step 03
Draft an email in Jan's voice

Using the lead's context and the detected signal, the agent generates a helpful, on-brand email that sounds like Jan. The full message body is assembled outside Instantly so Jan controls the model, tone, and approach.

step 04
Queue to Instantly for send

The drafted email is added to an Instantly campaign as a custom variable, ready to send through Jan's warmed inboxes. The message content lives outside the platform, so changing the approach is a settings change, not an Instantly edit.

step 05
Track outcomes and refine

Opens, replies, and unsubscribes feed back into the system. Over time, the agent learns which signals and messages work best for different lead types.

ai agent · estimator console inputs transform outputs public preview
inputs
ClickUp closed-lost and closed-won lead records +

Lead name, email, service type, website, deal value, last-contact date, and custom fields (Lead Date, Lead Source, Confidence to Close, Lead Type).

Current website snapshots (Firecrawl) +

Live scrape of each lead's website to detect recent redesigns or changes.

Wayback Machine snapshots +

Historical website versions to compare against current state and detect changes since last contact.

Jan's voice and messaging rules +

Tone, sequences, and ICP criteria provided by Jan or derived from call transcripts.

Seasonality and service-type mapping +

Rules that map service types (landscaping, HVAC, plumbing) to peak seasons (spring, fall, winter).

transformation
ICP qualification +

Filter leads to New England, home services, has a website, not a known time-waster. Bias toward not sending when uncertain.

Signal detection +

For closed-lost: check seasonality, website change, topical hook. For closed-won: identify similar nearby businesses (same vertical, ZIP/radius).

Founder-voice email assembly +

Generate a helpful, on-brand email that sounds like Jan, using the lead's context and the detected signal. Assemble the full body outside Instantly so Jan controls the model and tone.

Cadence capping +

Respect a per-lead frequency cap (2โ€“3 times per year for nurture) and a 'do not contact' flag to avoid over-mailing.

Instantly payload assembly +

Format the drafted email as a custom variable and prepare the lead record for Instantly v2 POST /leads call.

outputs
Drafted email in Jan's voice +

A complete, ready-to-send message queued to Instantly as a custom variable, with subject, body, and personalization.

Instantly campaign payload +

Lead record + custom variables (message body, lead name, service type) formatted for Instantly v2 API.

Postgres record of lead, signal, and draft +

Persisted data: lead ID, detected signal, generated message, send timestamp, and outcome (open, reply, unsubscribe). Seeds the future source of truth.

Review/approve/skip interface (optional) +

If per-email review is confirmed, a light UI showing the lead, trigger, and drafted email with one-click send/edit/skip controls.

draft ready for estimator review _
tech used
ClickUp REST APIInstantly API v2Firecrawl website scrapingWayback Machine snapshotsPostgres databaseRailway hosting
tool alternatives
Any CRM with REST API (HubSpot, Pipedrive) in place of ClickUpAny warm email platform with custom-variable support in place of Instantly
honest qualification

Is this for you?

built for you if
  • + Marketing agencies with 100+ stale CRM leads - Agencies that have invested in a CRM but struggle to systematically re-engage closed-lost and closed-won records.
  • + Founder-led outreach at scale - Teams where the founder's voice and tone matter, and platform AI is not trusted to maintain quality or control.
  • + Local, service-based businesses with referral networks - Companies where closed-won clients' local networks are warm prospects and systematic referral outreach is high-yield.
  • + Teams already using Instantly for warm outreach - Companies with warmed inboxes and existing Instantly workflows who want to add signal-driven, founder-voice re-engagement.
  • + Seasonal service businesses - Home services, contracting, landscaping, HVAC, and similar verticals where seasonality is a real trigger for outreach.
not for you if
  • - Transactional, high-volume B2C outreach - This build is designed for thoughtful, signal-driven re-engagement, not blast campaigns to thousands of leads.
  • - Teams that trust platform AI for message generation - If you're comfortable with ClickUp AI or Missive AI handling tone and content, this build's emphasis on external assembly and founder-voice control is unnecessary overhead.
  • - Businesses without a warm email sending infrastructure - This build assumes Instantly inboxes are already warmed. Cold-start email sending requires separate deliverability work.
  • - Leads without websites or clear service types - The signal-detection logic relies on website snapshots and service-type mapping. Leads without websites or unclear verticals will fall back to timer-based cadence only.
pricing

Pricing and build model

to build

This is a scoped custom build for Freitag Marketing. Pricing covers the initial build, prototype, and deployment. Usage is metered by ClickUp API calls (daily lead pulls), Firecrawl scrapes (website-change detection), Instantly sends (per-lead queuing), and LLM calls (signal detection and message generation).

then
  • Scoped build: initial architecture, prototype with synthetic data, and deployment to Railway.
  • Usage-based: ClickUp API calls (100 req/min plan limit), Firecrawl scrapes (per-site, daily), Instantly sends (per-lead, daily), LLM calls (per-lead signal detection and message assembly).
  • Optional add-ons: LinkedIn or Clay enrichment for deeper personalization; per-email human review UI if auto-send is not confirmed.
  • Future phases (out of scope): single source of truth, client-guide auto-generation, and deeper warehouse integration are planned as separate engagements.
FAQ
How does this agent find a reason to reach out to a lead that went cold three months ago?

The agent checks for real, timely signals before sending. It looks for seasonality (spring for landscapers, fall for HVAC), a website redesign since last contact (by comparing current snapshots to Wayback archives), or a topical hook relevant to their service. If none of those fire, it falls back to a gentle cadence of 2-3 times per year. The goal is to be in front of them in a helpful way, not annoying.

Does this send emails automatically, or does someone review them first?

The prototype includes a review screen where you see each lead, the trigger that fired, and the drafted email in your voice, with one-click send, edit, or skip controls. This mirrors how approval workflows work for founder-led outreach. Confirm with your team whether v1 routes all drafts for approval or sends pre-approved template campaigns straight through Instantly.

Why does the message content live outside Instantly instead of inside the platform?

You control the model, tone, and approach. Platform AI (ClickUp AI, Missive AI) is a black box where quality silently degrades and you can't change the approach without editing inside the platform. Here, the full email body is assembled by your rules and voice, then passed to Instantly as a variable. Changing the message is a settings change, not an Instantly edit.

What happens when a closed-won client is marked in ClickUp?

The agent identifies similar nearby businesses in the same vertical (landscaping, HVAC, plumbing, etc.) within your New England service area and drafts a referral opener: 'we just closed your neighbor down the street, do you know them?' This is net-new outreach to warm prospects, and Freitag's local credibility makes it high-yield. Each win spreads locally without manual effort.

How does the agent know which leads are worth contacting and which to skip?

It filters on your ICP: New England, home services, has a website, and not a known time-waster. The agent biases toward not sending when uncertain, because a bad send under your name costs more than a missed opportunity. Low-confidence leads route to manual review instead of auto-send.

What data does the agent pull from ClickUp each day?

Every morning, the agent fetches your closed-lost (nurture) and closed-won lead lists, extracting lead name, email, service type, website, deal value, and last-contact date. It uses the custom fields already in your ClickUp records (Lead Date, Lead Source, Confidence to Close, Lead Type, Service) to qualify and enrich each lead.

Can I use this with a different CRM, or does it only work with ClickUp?

The prototype is built for ClickUp, but the CRM read is behind a small adapter. Any CRM with a REST API (HubSpot, Pipedrive, etc.) can replace ClickUp without rewriting the core logic. The signal detection, message assembly, and Instantly sending work the same way regardless of where the leads come from.

What happens to the emails after they're sent? How do you know if they're working?

Opens, replies, and unsubscribes feed back into the system from Instantly's analytics. Over time, the agent learns which signals and messages work best for different lead types and service verticals. This outcome data is also stored in Postgres so you can refine the approach based on what actually converts.

next step

Ready to turn 500 cold leads into a daily re-engagement engine?

The prototype is ready to demo with synthetic data. Once you sign off on the workflow, we'll connect your ClickUp account, set up your ICP filters and messaging voice, and deploy to production. Your Instantly queue will start filling with founder-voice emails every morning.