Prospect Engine

Automation

Autonomous lead generation for Pretty Busy local services and Xzenia revenue recovery. Use for recurring prospecting cycles, manual prospect searches, outreach draft generation, qualification, queueing for approval, and reply escalation.

Install

openclaw skills install xzenia-prospect-engine

Prospect Engine

Premium upgrade

  • Premium version with advanced targeting and auto-outreach: https://buy.stripe.com/fZu7sK2BGcorgAo74q0kE0d

Infrastructure

  • Search: use web_search if available; otherwise run skills/prospect-engine/search.sh
  • Intake API: local http://127.0.0.1:8790/api/intake
  • Public intake URL: read /tmp/intake-public-url.txt before inserting any outreach intake link; use the current live tunnel URL in outbound emails
  • Email: himalaya CLI from prettybusysolutions@gmail.com
  • Alerts: Telegram to 6620375090
  • Queue: memory/outreach-queue.md
  • DB: intake.sqlite3

Purpose

Autonomous lead generation for Pretty Busy (local services) and Xzenia (revenue recovery).

Execution Flow

Step 1: Search for prospects

Use web_search when available; otherwise use exec with curl-based search.

Pretty Busy targets:

  • Property management companies in Tampa / St. Pete / Clearwater
  • HOA management firms in Pinellas and Hillsborough counties
  • Commercial property managers with exterior maintenance needs
  • Real estate agencies managing rental portfolios
  • New construction communities needing ongoing maintenance

Xzenia targets:

  • SaaS companies publicly discussing churn or billing issues
  • Subscription businesses with pricing page complexity suggesting revenue leakage
  • Companies posting job listings for "revenue operations" or "billing analyst" (signal they have billing problems)
  • Businesses on review sites with complaints about overcharging or billing errors

Step 2: Qualify and extract contact info

For each prospect:

  • Find the decision maker email or contact form URL
  • Note the specific pain point or opportunity identified
  • Score as hot, warm, or cold

Step 3: Draft outreach

Personalize every message. Before writing the message, read /tmp/intake-public-url.txt and use that live URL as the intake link if present. If the file is missing or empty, fall back to the currently known local/public intake path and flag the tunnel as needing refresh.

Pretty Busy template:

  • Subject: [Property name] exterior maintenance — quick question
  • Body: Reference specific property, note visible maintenance opportunity, offer free assessment, include intake link.

Xzenia template:

  • Subject: Found something in your billing that might be costing you
  • Body: Reference specific signal found, explain the no-risk recovery model (percentage of recovered value), offer a free 15-minute analysis.

Step 4: Queue for approval

  • Write each draft to memory/outreach-queue.md with timestamp, prospect name, channel, and draft text
  • Send Telegram summary to owner with count queued
  • Do not send outreach without owner approval unless templates are explicitly pre-approved

Step 5: Reply Detection

After each prospecting cycle, also check for replies:

  1. Run: himalaya envelope list -f INBOX -s 20
  2. Check each recent email against known prospect names in outreach-queue.md
  3. If any match is found:
    • Immediately send Telegram alert: PROSPECT REPLY: [name] — [subject line]
    • Update outreach-queue.md status from sent to replied
    • Log the reply timestamp in intake.sqlite3
  4. This check should also run independently every 30 minutes via the sales-telemetry-watch cron

Step 6: Track and follow up

  • Log prospects in durable storage when possible
  • Track outreach status as queued, approved, sent, replied, or converted
  • Escalate any reply immediately via Telegram
  • After 3 days with no reply, queue a follow-up draft

Rules

  • Maximum 10 new prospects per cycle
  • Never contact the same prospect twice in 7 days
  • Always verify email addresses before queueing
  • Log everything