This is an assembly line for hyper-personalized sales proposals. A sales rep drops in a prospect's website URL. Minutes later, a fully branded, 13-tab microsite is live at proposals.outsourceaccess.com/{company-slug} with company-specific data, local market intelligence, competitor analysis, and industry-specific VA playbooks.
Think of this as a modern manufacturing floor. Raw materials (prospect URL, industry data, OA content library) enter the pipeline. Automated stations enrich, generate, assemble, and deploy. What comes out the other end is a polished, personalized microsite that makes the prospect feel like OA already understands their business.
Each stage runs as an independent Cloudflare Worker connected via Queues. If any stage fails, the message stays in the queue for retry. The entire pipeline is serverless, scales automatically, and costs pennies per execution.
| Component | Product | Function |
|---|---|---|
| Generator Form | Pages | Sales team drops in prospect website URL + industry |
| Intake Worker | Workers | Validates URL, deduplicates, creates prospect record |
| Prospect Store | D1 | Stores prospect record (company, URL, industry, status) |
| Intake Queue | Queues | Publishes "prospect-intake" message to trigger enrichment |
| Workflow Orchestrator | Workflows | Manages state machine: intake > enrich > generate > deploy |
| Component | Product | Function |
|---|---|---|
| Company Enrichment | Workers (Apollo.io API) | Revenue, headcount, founding year, owner name, LinkedIn URL |
| Local Market Intel | Workers (Google Places API) | Competitors by zip, reviews, ratings, demographics |
| Software Detection | Workers (BuiltWith/TheirStack) | Detect FieldRoutes, HousecallPro, PestPac, ServiceTitan, etc. |
| Website Capture | Browser Run | Screenshot prospect website, extract logo, scrape about/awards |
| Asset Storage | R2 | Store logos, screenshots, competitor images |
| Enriched Data | D1 | Update prospect record with all enrichment data |
| Component | Product | Function |
|---|---|---|
| AI Router | AI Gateway | Route to Claude API with caching, logging, rate limiting |
| Content Generator | Workers (Claude API) | Generate all 13 tab sections with industry-native language |
| Template Matcher | Workers AI (Embeddings) | Match prospect to closest industry template via vector similarity |
| Knowledge Base | AI Search / AutoRAG | Pull relevant case studies, playbooks, podcast episodes per industry |
| Vector Store | Vectorize | Store embeddings of all OA content for RAG retrieval |
| Component | Product | Function |
|---|---|---|
| Competitor Screenshots | Browser Run | Capture competitor websites for visual comparison |
| Image Optimization | Images | Resize, compress, format logos and screenshots for web/mobile |
| Asset CDN | R2 | Store all generated assets with public access |
| Template Engine | Workers | Assemble 13-tab HTML from generated content + assets |
| Component | Product | Function |
|---|---|---|
| Site Deployment | Pages Direct Upload API | Deploy assembled microsite to proposals.outsourceaccess.com/{slug} |
| Route Management | Custom Domain Routing | Map each proposal to its unique URL path |
| Page Cache | KV | Cache rendered pages for instant load times |
| Notification | Email Service | Email sales rep + optionally prospect with proposal link |
| Component | Product | Function |
|---|---|---|
| Engagement Analytics | Workers Analytics Engine | Track page views, time on page, section-level engagement |
| CTA Tracking | Workers Analytics Engine | Track "Book a Call" clicks, video plays, tab switches |
| Retargeting | Zaraz | Fire retargeting pixels (Facebook, Google) on proposal views |
| Engagement Store | D1 | Store per-prospect engagement data for sales team |
| CRM Sync | Workers (Webhook) | Push engagement events to HubSpot for lead scoring |
Every product below is available on the OA Cloudflare account. The entire engine runs on Cloudflare's edge network with zero external servers.
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Workers | All pipeline logic: intake, enrichment, generation, deployment orchestration | $5 (Paid plan) |
| Pages | Host all proposal microsites + generator UI + admin dashboard + game plan | Free (Pro included) |
| D1 | Prospect records, enrichment data, generated content, analytics, template registry | Free tier (5GB) |
| R2 | Store logos, screenshots, competitor images, generated assets, videos | Free tier (10GB) |
| Queues | Decouple pipeline stages: prospect-intake, enrichment-complete, generation-complete | Free tier |
| Workflows | Orchestrate multi-step pipeline with retry, state management, error handling | Included with Workers |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Workers AI | Embeddings for template matching, text classification for industry detection | Free tier (10K neurons/day) |
| AI Gateway | Route Claude API calls with caching, logging, rate limiting, cost tracking | Free |
| AI Search / AutoRAG | Pull relevant case studies, playbooks, podcast episodes per industry | Free tier |
| Vectorize | Store embeddings of OA content library for semantic search | Free tier (5M vectors) |
| Agent Memory | Persistent memory for proposal generation agent context | Free (beta) |
| Agents SDK | Build proposal generation agent with tool use and multi-step reasoning | Free |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Browser Run | Screenshot prospect + competitor websites, extract logos, scrape content | Free tier (100 sessions/day) |
| Images | Resize, compress, convert logos and screenshots for optimal web delivery | Included with Pro |
| Stream | Host CEO intro video + Summer welcome video + client dashboard screencasts | $5/1K min stored |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| KV | Cache rendered proposal pages for instant load, store config/feature flags | Free tier |
| Durable Objects | Rate limiting per sales rep, concurrent generation locks, session state | Included with Workers |
| Hyperdrive | Connection pooling if external Postgres needed for analytics aggregation | Free |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Workers Analytics Engine | Custom analytics: page views, section engagement, CTA clicks, time on page | Free tier |
| Web Analytics | Privacy-first page-level analytics for all proposal sites | Free |
| Zaraz | Server-side tag management for retargeting pixels (FB, Google) | Free |
| Pipelines | Stream engagement events to external analytics/data warehouse | Free (beta) |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Turnstile | Bot protection on generator form to prevent abuse | Free |
| Access | Protect admin dashboard and generator tool behind OA SSO | Free (50 users) |
| Secrets Store | Store API keys (Apollo, Claude, Google) securely in Worker bindings | Free |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Email Service | Send proposal-ready notifications to sales team, optional prospect outreach | Free (100 emails/day) |
| Product | Role in Engine | Monthly Cost |
|---|---|---|
| Flagship | Feature flags for A/B testing V1 vs V2 templates, progressive rollout | Free (beta) |
| Containers | Run heavy processing (PDF generation, video rendering) if needed | Usage-based |
| Workers for Platforms | Future: white-label proposal engine for OA clients to use themselves | Usage-based |
| Sandbox SDK | Safely execute dynamic template code without risking main Worker | Free (beta) |
Each proposal is a microsite with left sidebar navigation. Content is database-driven and AI-generated per prospect. The Keller Williams playbook principle applies: every "How We Can Help" tab must have specific, industry-native task examples... not generic descriptions.
Overview
Company logo (scraped), city/state, founding year, awards/certifications, owner name + LinkedIn, revenue range, headcount. All pulled from Apollo.io + website scraping via Browser Run.
About Your Local Market(s)
Demographics by zip code, population trends, median household income, hot neighborhoods, growth opportunities, seasonal patterns. Sourced from Google Places API + Census data enrichment.
Competitor Analysis
Top competitors from Google Places (same industry, same zip codes). Each competitor: website screenshot, Google review count + average rating, estimated SEO ranking, website traffic estimate. Visual comparison cards.
Sales
Outbound calling scripts, lead follow-up sequences, CRM data entry, proposal creation, pipeline management. Industry-specific: "calling property managers for quarterly pest inspections" not "making outbound calls."
Lead Generation
Google/Facebook ad management, SEO content writing, review solicitation campaigns, referral program management, direct mail coordination, event outreach.
Sales Operations
Quote generation, contract preparation, renewal management, upsell identification, commission tracking, territory mapping.
Service Operations
Scheduling/dispatch support, route optimization data entry, customer communication (appointment confirmations, follow-ups), work order management, quality assurance call-backs.
Vendor Management
Supplier communication, PO creation, invoice reconciliation, inventory tracking, price comparison research, vendor compliance documentation.
Supply Chain
Inventory monitoring, reorder point management, shipment tracking, warehouse coordination, demand forecasting data entry, product catalog maintenance.
HR / Certification / Compliance
Employee onboarding paperwork, license renewal tracking, safety training coordination, background check management, certification database maintenance, regulatory filing support.
When BuiltWith/TheirStack detects the prospect's software (FieldRoutes, HousecallPro, PestPac, ServiceTitan, Jobber, etc.), an additional "Your Software" tab is auto-generated with: OA's experience with that platform, embedded podcast episode (if available), specific task examples inside that software, and a link to the software-specific playbook.
Every "How We Can Help" tab must read like it was written by someone who has worked inside this specific industry. Not "we help with data entry" but "your VA can process termite inspection reports in PestPac, update WDI/WDO findings, and auto-generate the state-mandated reporting forms." Industry-native language is the difference between a generic pitch and a prospect thinking "they already understand my business."
Your Client Dashboard
Screencast video walking through the live OA client dashboard. Link to interactive demo at marketing.outsourceaccess.com/client-dashboard-demo/. Shows daily task tracking, KPI reporting, time tracking, communication logs. The "wow factor" tab.
Our Difference
Screencast of marketing.outsourceaccess.com highlighting key differentiators. Link to the "50 Reasons to Choose OA" page. Inc. 5000 #326, 500+ staff, 85+ industries, dedicated (not shared) VAs, OA Playbook system, no long-term contracts.
Get Started
CEO introduction video (Vimeo 876258402). Summer Baccay welcome video. HubSpot booking link for discovery call. Bright green "Book Your Free Strategy Call" CTA button. Designed as the conversion point after 12 tabs of credibility-building.
Each data source feeds specific sections of the proposal. The enrichment pipeline runs all sources in parallel, merges results, and stores in D1 before AI generation begins.
Apollo.io
- Company name, domain, description
- Revenue range, headcount, founding year
- Owner/CEO name, title, LinkedIn URL
- Industry classification, SIC/NAICS codes
- Technologies used (partial software detection)
- Office locations, phone numbers
Google Places API
- Competitors by zip code (same industry keyword search)
- Google review count + average rating per competitor
- Business categories, hours, photos
- Local market demographics (population, density)
- Neighborhood-level data for "hot areas" analysis
- Service area radius estimation
BuiltWith / TheirStack
- Software stack detection (FieldRoutes, HousecallPro, PestPac, ServiceTitan, Jobber, etc.)
- CRM platform (HubSpot, Salesforce, Zoho)
- Marketing tools (Mailchimp, Constant Contact)
- Website platform (WordPress, Wix, Squarespace)
- Payment processing (Stripe, Square, PayPal)
- Triggers industry-specific software tab in proposal
Website Scraping (Browser Run)
- Company logo extraction (highest resolution available)
- About page content (mission, values, history)
- Awards, certifications, affiliations
- Brand colors (primary + secondary)
- Full-page screenshot for visual reference
- Team page data (key personnel, if public)
OA Content Library
- Industry-specific VA playbooks (pest control, HVAC, plumbing, landscaping, etc.)
- Case studies by vertical (anonymized or with permission)
- Podcast episodes per software platform (FieldRoutes, HousecallPro, etc.)
- "50 Reasons" content for Our Difference tab
- Client dashboard demo screencast
- Marketing site screencast for credibility
HubSpot CRM
- Existing relationship data (prior contacts, meetings, emails)
- Deal history (if prospect was previously in pipeline)
- Lead source tracking (where did this prospect come from)
- Engagement scoring (email opens, website visits)
- Post-proposal: receives webhook events for lead scoring updates
- Associates proposal engagement data with contact record
Total Sterling build time: ~60 minutes (a human dev team would quote 6-8 weeks and $30-50K for this). Each phase builds on the previous. Phase 1 produces a working V2 template. Phase 2 adds automated enrichment. Phase 3 enables full-scale generation.
Phase 1: Foundation
- Set up D1 schema: prospects, enrichment_data, proposals, generated_content, analytics
- Build Workflows pipeline (intake > enrichment > generation > deployment)
- Set up R2 buckets: proposal-assets, competitor-screenshots, company-logos
- Configure AI Gateway for Claude API with response caching + cost tracking
- Build V2 template engine: 13-tab left sidebar, database-driven content injection
- Template system: read tab content from D1, render into HTML, deploy to Pages
- Test with Gordon/Morton's Pest Control as first V2 proposal
Phase 2: Enrichment & Intelligence
- Integrate Apollo.io API: company enrichment endpoint, rate-limited, cached
- Integrate Google Places API: competitor search by industry + zip code
- Integrate BuiltWith API: software stack detection for auto Software tab
- Build Browser Run screenshot pipeline: prospect site + top 5 competitors
- Build AI Search knowledge base: index case studies, playbooks, podcast episodes
- Create Vectorize embeddings for OA content library (semantic matching)
- Create screencast videos: client dashboard walkthrough + marketing site tour
Phase 3: Scale & Automation
- Build sales team generator UI: drop in URL > select industry > auto-assemble
- Set up Email Service: proposal-ready notifications to sales rep
- Set up Workers Analytics Engine: page views, section engagement, CTA clicks
- Build assembly line visual page: animated pipeline showing live proposal status
- Set up Zaraz: retargeting pixels fire on proposal page views
- Build admin dashboard: all proposals, engagement data, conversion tracking
- Protect admin with Cloudflare Access (OA SSO)
- Replicate pest control vertical to landscaping/lawn care
Phase 4: Optimization
- A/B test V1 vs V2 proposals using Flagship feature flags
- Feed engagement data back to improve AI generation prompts
- Build industry-specific demo dashboards (per-vertical showcases)
- Scale to 1,000+ proposals per month
- Add Flagship feature flags for template variant testing
- Build white-label version via Workers for Platforms (future SaaS play)
- Integrate with HubSpot sequences for automated follow-up
These can be knocked out immediately with zero dependencies on the larger pipeline build. Each one improves the existing proposal system today.
Client Demo Dashboard Fixes
Sidebar should be open by default (not collapsed). Add the green welcome popup that appears on first visit. These are Brad-identified UX issues on the live client dashboard demo at marketing.outsourceaccess.com/client-dashboard-demo/.
Update Main Proposals Index
The proposals.outsourceaccess.com index.html needs V1/V2 sections so Brad can see both template versions side by side. Currently lists V1 proposals only. Add a V2 section with the Pest Pro Services link and future V2 proposals.
Embed CEO Video in V2 Get Started Tab
The Vimeo video (876258402) is identified but not yet embedded in the V2 template's "Get Started" tab. Drop in the Vimeo embed iframe + the bright green CTA button for booking a call. 5-minute task.
Build V2 Version of Morton's Pest Control
Morton's is Brad's designated test page. Take the existing V1 Morton's data and rebuild it in the V2 13-tab sidebar format. This validates the V2 template with real prospect data before automating the pipeline.
Create Assembly Line Visual Page
An animated page showing the 6-stage pipeline with status indicators. Even before the automation is built, this page communicates the vision to the sales team and gets buy-in. Can use mock data initially and connect to live pipeline later.
Comprehensive list of everything that needs to be built, researched, or decided. Updated July 22, 2026. Also tracked in Brad's Command Center under OA > New Sales Campaigns > Custom Proposal Engine Punch List.
Root cause: Morton's Pest Control proposal. Morton's was acquired by Lookout Pest Control. Apollo still showed "Morton's Pest Control" with former owner Travis Morton. The website redirects to lookoutpestcontrol.com. Facebook link resolved to generic facebook.com. LinkedIn pointed to Travis Morton (former owner, no longer there). One wrong detail kills the entire pitch.
Gate 0: Redirect Detection
BEFORE any enrichment runs, HTTP GET the prospect's domain and follow all redirects. If the final destination domain differs from the input domain, the company has likely been acquired, merged, or rebranded. Use the DESTINATION domain's data. Flag the redirect for review. If domain 404s or times out, skip the prospect entirely.
Revenue Numbers: PERMANENTLY EXCLUDED
Never include revenue estimates in proposals, even with high confidence. The risk of being wrong discredits everything else in the proposal. The logo + business description alone demonstrates research effort. Revenue is permanently excluded from V2 template and all future templates.
98% Confidence Threshold
Any data point below 98% confidence gets EXCLUDED rather than included. Brad's analogy: "It would be like somebody trying to do this for me and Outsource Access and talking about our great outsourcing business in India when we're in the Philippines. I could not shut that email down and delete it fast enough." One wrong detail kills the entire pitch.
Market Analysis: Flexible Phrasing
For multi-location companies, NEVER claim to have analyzed all their markets. Instead: "We took the liberty of analyzing opportunities in one of your markets." Dynamically select one location. This handles multi-location companies without overreaching. Consider filtering lead list by location count and geographic scope before generating proposals.
Social Link Validation
Every social media link must be tested before inclusion. Facebook links that resolve to generic facebook.com (no specific page) = exclude. LinkedIn profiles for people who left the company = exclude. Dead or redirected links = exclude. Better to have no link than a broken or wrong one.
Lead List Pre-Filtering
When sourcing prospects, filter by: number of locations, number of states, geographic scope. Single-location companies are cleaner targets (less data ambiguity, simpler market analysis). Multi-state operations require the flexible market phrasing and more careful data validation across all gates.
QA Checklist Dashboard
Every proposal must produce a visible pass/fail report showing all gate results. Brad needs to see the control checklist for each proposal produced: validation status, cross-check results, data accuracy scores, social link test results, redirect detection, confidence levels for every included data point.
Visual Screener Pipeline (5-Gate)
Workers AI logo validation, canonical company name cross-reference (website name is always source of truth, not Apollo), pre-deploy and post-deploy screenshot verification. Prevents wrong-logo bugs like the V1 Morton's "Lookout Pest Control" incident. Gates: Website Scrape (Browser Run) > Logo Extraction + Validation (Workers AI) > Cross-Reference Check > Pre-Deploy Visual Screenshot > Post-Deploy Verification.
V2 Template Engine
Database-driven content injection replacing hardcoded HTML. Proposals should generate dynamically from D1 data rather than requiring manual HTML assembly per prospect. The engine reads from industry config + enrichment data + AI-generated content and outputs a complete 13-tab proposal page.
Enrichment Pipeline
Apollo.io + Google Places + BuiltWith + Browser Run integrated via Workers for auto-pull of company data, competitors, reviews, demographics, tech stack. Currently manual. Needs to be fully automated with fallback chains (if Apollo fails, try Google Places, etc.).
AI Content Generation
Claude API via AI Gateway generating all 13 tab sections using industry-specific VA playbook data. Each "How We Can Help" tab needs hyper-specific, Keller Williams-level content with realistic task descriptions, time estimates, and software references.
Asset Pipeline
Browser Run screenshots of competitor sites, R2 storage for all logos and media, Cloudflare Images for optimization and format conversion. Needs quality gates to reject low-res logos or broken images before they reach the proposal.
Deployment Automation
Pages Direct Upload API for one-click microsite creation from the generator form. Type in a URL, the system enriches, generates, assembles, and deploys a complete proposal to proposals.outsourceaccess.com/{company-slug}/.
Sales Team Generator UI
Drop-in-URL tool for Summer and the sales team to trigger the full pipeline on their own. Simple form: paste a company website URL, select industry, hit generate. No technical knowledge required.
Engagement Analytics
Workers Analytics Engine + Zaraz for server-side event tracking. Email notifications to the sales team when a prospect views their proposal. Tab-level tracking (which tabs viewed, time spent, return visits). Engagement scoring to prioritize follow-up. HubSpot webhook integration to log views as contact activities.
Assembly Line Visual Page
Animated page at proposals.outsourceaccess.com/assembly-line/ showing the pipeline stages with real-time status. Visual representation of data flowing through enrichment, AI generation, asset creation, deployment. Shows the sales team and prospects that this is an industrial-grade system, not a person writing proposals manually.
NotebookLM Podcast Integration
Generate an AI-powered podcast episode per prospect using Google NotebookLM's Audio Overview feature. The podcast depicts what it sounds like for the prospect on the other side of working with OA... two hosts ("Nate and Susan from our podcast production team") discussing the prospect's business and how OA's system transformed their operations. Embedded in the email outreach sequence as a personalized audio asset. Pitch: "We had Nate and Susan put together a quick 10-minute podcast interview of what it may sound like listening to Morton's Pest Control on the other side of implementing our system."
Lead Data Source Evaluation
Deep comparison of Apollo.io vs Clay vs ZoomInfo vs other providers. Key criteria: data quality and accuracy, cell phone number availability (critical for SMS outreach), cost per contact, API capabilities, enrichment features, real-time vs stale data. Need to determine the best source for building lead lists with verified cell phone numbers of pest control business owners.
Cold Email Infrastructure
Full cold email sending system: dedicated sending domains (not outsourceaccess.com), domain warming protocol (2-4 weeks ramp), CAN-SPAM compliance (physical address, unsubscribe, no deceptive headers), email authentication (SPF, DKIM, DMARC), deliverability monitoring, sending volume optimization. Evaluate: Cloudflare Email Workers vs dedicated platforms (Instantly, Smartlead, Lemlist).
Mass Texting / SMS Capability
TCPA compliance research (express written consent required for marketing SMS, $500-$1,500 per violation). Cell phone number sourcing and verification. California-specific restrictions (CCPA overlay, stricter consent rules). Evaluate platforms: Sakari (already connected), Twilio, EZTexting. Opt-in mechanisms, A2P 10DLC registration. Key question: can we legally text pest control owners who haven't opted in? (Short answer: no for marketing, yes for some B2B exemptions with careful handling.)
Multi-Channel Distribution Strategy
Beyond email and SMS: LinkedIn group posting and DM outreach to pest control owners, Facebook group engagement (FieldRoutes Customer Community, HousecallPro groups, PestControlTips.com), direct mail integration, social listening for pest control owner pain points ("need help with scheduling", "drowning in paperwork"). Build a multi-touch sequence: proposal page + email + SMS + social engagement + podcast.
Email Sequence Builder
Automated multi-touch email campaign tied to each proposal with tracking and follow-up triggers. Proposal-aware: if the prospect viewed the proposal, the next email references what they looked at. Integration with engagement analytics so the sales team knows when to follow up personally vs. let the sequence run. Include the NotebookLM podcast as a mid-sequence touchpoint.
Screencast Videos
Two recordings needed for proposal tabs: (1) Client dashboard walkthrough (click through every section slowly, text overlays, 3-5 min) and (2) Marketing site walkthrough (outsourceaccess.com key pages, differentiators, Inc 5000, 2-3 min). Recording via Playwright browser automation for precise control over scroll speed, hover timing, and viewport.
Industry Replication System
System to clone the pest control vertical config to landscaping, HVAC, plumbing, roofing, cleaning, property management. Each vertical needs: industry research, VA playbook, lead lists, custom proposal tab definitions, software-specific content. The template engine stays the same... only the content and industry data change. Target: one new vertical per week once the engine is mature.