Leads Calculators Deal Structures New Contract

Today's Focus

What needs your attention right now

Lead Piles by Buyer Profile

Click a pile to filter leads to that archetype

Pipeline Funnel

Every lead's journey, current snapshot

Revenue · Last 6 Months

Closed deal profit

Hot Leads — Email These First

Top 20 A-tier leads with verified agent email and no outreach yet
Open All Leads

Deal Flow

Every active deal by stage - drafted to closed
Open Deals

Recent Activity

Last 12 inbound + outbound events

Closed Deals

Last 10 by close date
Autonomous mode: ON - runs on a daily schedule (see below). Counties: Brevard (set AUTONOMOUS_COUNTIES env var to add more).

Daily Schedule (ET, all times)

Time Days What runs
4:00 AM Daily BUYER-FIRST — google-scrape cash buyers in active metros, insert as prospects
6:00 AM Daily Morning prep — scrape new listings, pull agents, find emails, queue offers
9:00 AM Daily BUYER-FIRST — invite scraped cash-buyer prospects with a real sample deal (cap 25/day)
9:00 AM Daily Send wave 1 — approved offers (peak open rate)
12:00 PM Daily Send wave 2 — lunch-hour batch
3:00 PM Daily Send wave 3 — afternoon catch
6:00 PM Daily Evening digest — recap email to you with day's stats + pending approvals
Every 15m 24/7 Reply monitor — notify you of interested replies + classify intent
Send waves only fire on approved offers from the queue below. Nothing sends without your approval unless you flip Offer Settings to auto_send. Runs 7 days a week.
Loading...
-

Deal Flow Workflow

Sequential steps. Each step's output feeds the next.
1Scrape new leads
Pull listings from Redfin + Craigslist in the county.
2aPull agent name + phone from Redfin
Redfin CSV hides the listing agent. This fetches each property's detail page (iPhone UA bypasses their bot wall) and extracts agent name/phone/brokerage. Run this BEFORE Step 2b.
2bFind agent emails FREE
5 strategies: DuckDuckGo → Bing → Realtor.com → brokerage /agents page → pattern+MX verify. Realistic hit rate: 25-45% where agent_name exists.
3Build offer emails APPROVAL QUEUE
Builds 4-offer email per lead and queues for your review. Toggle auto-send in Offer Settings to bypass approval.

Offer Settings & Approval Queue

Set the math before emails go out. Nothing sends without your approval (unless you flip to auto-send).
Loading queue...
4Handle inbound replies
Resend webhook classifies replies as interested / unsubscribe / price_pushback and queues them in the Systems tab.
5Draft contract
Once seller agrees to terms, create the acquisition contract and send for signature.
6Match investor
Run investor-match to find cash buyers whose buy-box fits, email top 5 matches.
7Assign & close
Generate disposition / FL-assignment contract, close with both parties at title, collect fee.
Reality check on enrichment volume: Agent emails are publicly findable (Google CSE free + brokerage-site scraping). Owner emails require paid skip trace (BatchSkipTracing or Apify skip-trace; $0.05-$0.15/lead). Set GOOGLE_CSE_KEY and GOOGLE_CSE_CX in Netlify env vars for free agent-email search. For owner emails set BATCH_SKIP_TRACE_TOKEN.

End-to-End Test Funnel

Walk the full flow with yourself playing every seat - listing agent, cash investor, and title company. Set the email below and all seats route to it.

Click "1. Seed Test Lead" to start the funnel walkthrough.
0 unsubscribe / 0 other
Loading...
How replies get here: Resend webhook classifies every inbound email to info@wetyr.com (intent: interested / price_pushback / needs_info / requested_callback / unsubscribe / not_interested). The autonomous pipeline emails you an alert every 15 min if any are flagged "interested" and still unhandled.
0 deals
RefPropertyTypeSeller $Investor $FeeProfitStatusClose Date
Loading...
0 investors
NameCompanyEmailPhoneStatesPrice BandDeals ClosedTotal SpentActive
Loading...
0 cash-buyer prospects (scraped from county records)
NameCountyStateLast Cash PurchasePriceDateMailingEmailPhoneInvited
Loading...
0 realtors
NameBrokerageEmailPhoneStateCitiesRelationshipDealsLast Contact
Loading...
0 payments
DateDirPayeeMethodAmountReferenceExpectedStatusDealNotified
Loading...
0 sources tracked

Manual Property Lead Scrapers (on-demand)

Click a source + metro to run it right now. Only HTTP-based sources run inline (60-100s). For Zillow/Craigslist/Auction (Playwright), use "Run Scrapers Now" at the top (GitHub Actions).

Zillow/Realtor/Auction require Playwright - use daily GitHub Actions cron.

Google Cash Buyer Scraper (on-demand)

Runs DuckDuckGo + Google searches for "[city] we buy houses / cash buyers / wholesalers", deep-scrapes the top results, and extracts phone + email + company name. Inserts into Prospects tab. Each metro run takes 60-100s.

SourceStatusFoundIngestedErrorsDurationLast RunNotes
Loading...
0 documents
+ New Contract
RefTypeStatePropertyPartiesSignersStatusCreatedFinalized
Loading...

Geo Config  Loading...

Click to expand · counties + ZIPs that every scraper, scheduler, and filter uses.
Loading...
0 templates
Edit subject / HTML / text body. Variables in {{curly}} are filled at send time.
Loading...

Outbound Email Architecture

Sending provider: Resend (RESEND_API_KEY)
From addresses: contracts@wetyr.com (transactional) / deals@wetyr.com (outreach)
Reply-to: info@wetyr.com

Emails the system sends automatically

EmailTemplate KeyTriggerRecipientsFrequency
Offer Emailoffer_emailManual (Email Offers button on a lead)Agent or owner on fileOn-demand
Cash Buyer Inviteprospect_inviteManual (Invite button on prospect)Cold prospects from county recordsOn-demand
Contract Ready to Signcontract_readyAfter contract-generate or loi-generateCounter-party (tokened link)On-demand
Contract Fully Executedcontract_completedWhen last signer signsAll signers (PDF attached)On-demand
Daily Deal Digestdaily_digestNetlify cron 12:00 UTCinfo@wetyr.comDaily (A-deals) / weekly (B-deals)
Payment Status Reminderpayment_reminder_15_30Netlify cron daily, fires at 15 and 30 days post-acceptanceInvestor on dealAt milestone
Payment Sent Notificationpayment_sent_notifyManual (Log Payment with "notify" checked)PayeeOn-demand
Investor Match Alert(hardcoded)After investor-match runsTop investors by buy-box fitOn-demand
Outreach Auto-Reply(templates.js)Inbound Resend webhook classifies intent as interested / unsubscribe / price_pushbackOriginal senderAutomatic

Data flow

  1. Send function builds the merge variables from Supabase data
  2. Loads template from email_templates table (60s in-memory cache)
  3. Falls back to hardcoded default if DB row missing
  4. Renders {{variables}}
  5. Sends via Resend API
  6. Logs to outreach table (direction, subject, body, resend_id)
  7. Inbound replies hit /outreach-inbound, intent-classified, logged

Compliance

Closed Deals Ledger

ClosedRefPropertySeller PaidInvestor PaidFee CollectedMarketingEMDOtherNet Profit
Loading...

Members and Access

Give a teammate their own login. Generate an access key, share it with them, and they sign in on the same login screen using that key. Disable or remove it anytime to revoke access instantly. The master password stays yours alone.

Add a member

Every active member currently gets full admin access. Roles are recorded now so we can add per-role limits later.

Loading...