# Clay Workflow - PHT Outreach Bot

## Overview
Single Clay table that finds → enriches → personalizes → exports 10 prospects/day to Instantly.

---

## Clay Table Structure

```
┌──────────────────────────────────────────────────────────────────┐
│                    CLAY TABLE: PHT Prospects                     │
└──────────────────────────────────────────────────────────────────┘

COLUMNS (left to right):

1. Company Name          [Input from scraper]
2. Location             [Auto-filled]
3. Website              [Auto-filled]
4. Cold Room Count      [Enrichment]
5. Fruit Type           [Enrichment]
6. ✓ Qualified?         [Formula: rooms ≥10 + fruit match]
---
7. Contact Name         [Apollo People Search]
8. Job Title            [Apollo]
9. Email                [Apollo → Hunter fallback]
10. LinkedIn URL        [Apollo]
11. Email Valid?        [ZeroBounce check]
---
12. Website Copy        [Scrape homepage]
13. Pain Points         [GPT-4 extract from copy]
14. Similar Customer    [Lookup: Zespri/Stemilt/Costa based on location+fruit]
---
15. Email Subject       [GPT-4 generate]
16. Email Body          [GPT-4 generate personalized]
17. LinkedIn Message    [GPT-4 generate]
---
18. Sent Date           [Timestamp when exported]
19. Status              [Queued/Sent/Replied/Bounced]
```

---

## Workflow Steps (Clay Enrichments)

### STEP 1: Find Companies (Input)

**Option A: Google Maps Scraper** (Clay native integration)
- Search: "cold storage apples [location]"
- Search: "packhouse citrus [location]"
- Runs daily, adds 50 new rows

**Option B: Upload CSV** (from Apify/Apollo)
- Drag-drop your existing MASTER-LIST-FINAL.csv
- Maps columns automatically

**Option C: Apollo Organization Search** (Clay integration)
- Industry: "Food & Beverage"
- Keywords: "cold storage" OR "packhouse" OR "cool room"
- Employee count: 20-500
- Runs as scheduled enrichment

---

### STEP 2: Enrich Company Data

```
Column: Cold Room Count
┌─────────────────────────────────────┐
│  GPT-4 Web Scraper                  │
│  Prompt: "Visit {website} and find  │
│  mentions of cold storage rooms,    │
│  CA rooms, or facility size.        │
│  Return number of rooms if found."  │
└─────────────────────────────────────┘
          ↓
    "50 CA rooms" → 50
    "No data" → Skip row
```

```
Column: Fruit Type
┌─────────────────────────────────────┐
│  GPT-4 Web Scraper                  │
│  Prompt: "What fruits does          │
│  {company_name} store or pack?      │
│  Return: apples, citrus, pears..."  │
└─────────────────────────────────────┘
          ↓
    Filter: Keep only apples/citrus/pears
```

```
Column: ✓ Qualified?
┌─────────────────────────────────────┐
│  Formula                            │
│  IF(rooms ≥ 10 AND fruit IN         │
│  ["apples","citrus","pears"], TRUE) │
└─────────────────────────────────────┘
          ↓
    Filters table to qualified only
```

---

### STEP 3: Find People

```
Column: Contact Name, Job Title, Email, LinkedIn
┌──────────────────────────────────────────────────┐
│  Apollo People Search                            │
│  Input: {company_name}                           │
│  Filters:                                        │
│  - Title contains: "Quality" OR "Operations"     │
│    OR "General Manager" OR "Cold Storage"        │
│  - Seniority: Manager, Director, VP              │
│  Return: Top 3 contacts                          │
└──────────────────────────────────────────────────┘
          ↓
    Pick #1 (highest seniority)
```

**Fallback enrichments:**
```
If Apollo email = null:
  ↓
Hunter.io email finder
  ↓
If still null:
  ↓
Prospeo (Clay integration)
  ↓
If still null → Skip row
```

---

### STEP 4: Validate Email

```
Column: Email Valid?
┌─────────────────────────────────────┐
│  ZeroBounce Email Validation        │
│  (or MillionVerifier)               │
│  Input: {email}                     │
│  Return: Valid/Invalid/Risky        │
└─────────────────────────────────────┘
          ↓
    Filter: Keep only "Valid"
```

---

### STEP 5: Scrape Website for Context

```
Column: Website Copy
┌─────────────────────────────────────┐
│  Clay Web Scraper                   │
│  Scrape: {website}/about            │
│  Extract: First 500 words           │
└─────────────────────────────────────┘
```

```
Column: Pain Points
┌─────────────────────────────────────┐
│  GPT-4 Analysis                     │
│  Prompt: "Read this website copy:   │
│  {website_copy}                     │
│                                     │
│  Identify 1-2 pain points related   │
│  to fruit storage quality control,  │
│  export compliance, or post-harvest │
│  management. Be specific."          │
└─────────────────────────────────────┘
          ↓
    "Exports to EU = strict ethylene limits"
    "Multi-variety storage = ripening sync issues"
```

```
Column: Similar Customer
┌─────────────────────────────────────┐
│  Formula / Lookup                   │
│  IF location = NZ → "Zespri"        │
│  IF location = USA + citrus →       │
│     "Wonderful Citrus"              │
│  IF location = USA + apples →       │
│     "Stemilt"                       │
│  IF location = AU → "Costa Group"   │
└─────────────────────────────────────┘
```

---

### STEP 6: Generate Personalized Emails

```
Column: Email Subject
┌─────────────────────────────────────────────────┐
│  GPT-4 Writer                                   │
│  Prompt: "Write 1 email subject line for       │
│  {contact_name} at {company_name}.              │
│                                                 │
│  Context:                                       │
│  - They store {fruit_type}                     │
│  - Pain point: {pain_points}                   │
│  - We help companies like {similar_customer}   │
│                                                 │
│  Style: Curious, helpful, NOT salesy.          │
│  Length: 4-7 words max.                        │
│  NO "Quick question" or "Touching base"        │
│                                                 │
│  Examples:                                      │
│  - "Export rejections at {company}?"           │
│  - "How {similar_customer} cut waste 40%"      │
│  - "Ethylene question for {contact_name}"      │
│                                                 │
│  Return ONLY the subject line."                │
└─────────────────────────────────────────────────┘
```

```
Column: Email Body
┌─────────────────────────────────────────────────┐
│  GPT-4 Writer                                   │
│  Prompt: "Write a personalized cold email      │
│  from Jonny Shannon to {contact_name},          │
│  {job_title} at {company_name}.                 │
│                                                 │
│  Context:                                       │
│  - They store {fruit_type} in {location}       │
│  - Likely pain: {pain_points}                  │
│  - We help {similar_customer} monitor ethylene │
│    to prevent premature ripening/waste          │
│                                                 │
│  Structure:                                     │
│  1. Personal observation (1 sentence)          │
│  2. Relevant pain point (1 sentence)           │
│  3. How we help similar company (1 sentence)   │
│  4. Soft CTA: offer video walkthrough          │
│                                                 │
│  Tone: Helpful, genuine, brief (60 words max)  │
│  NO hype, NO "revolutionize", NO "game-changer"│
│                                                 │
│  End with:                                      │
│  'I recorded a quick video showing how          │
│  [similar_customer] uses it. Want me to send   │
│  it over?'                                      │
│                                                 │
│  Sign: Jonny (no last name, keep casual)       │
│                                                 │
│  Return ONLY the email body."                  │
└─────────────────────────────────────────────────┘
```

**Example Output:**
```
Subject: How Zespri cut ethylene spikes by 60%

Hi Sarah,

Saw FreshPack exports kiwis to 40+ countries — keeping consistent 
ripeness across that many shipments must be challenging.

We help Zespri monitor ethylene in real-time so they catch hot 
spots before fruit goes out. Cut their rejections by 60% last season.

I recorded a quick video showing how they use it. Want me to send it over?

Jonny
```

---

### STEP 7: LinkedIn Message (Parallel Track)

```
Column: LinkedIn Message
┌─────────────────────────────────────────────────┐
│  GPT-4 Writer                                   │
│  Prompt: "Write a LinkedIn connection message  │
│  to {contact_name}.                             │
│                                                 │
│  Context: {company_name} stores {fruit_type}   │
│  We help similar companies monitor ethylene.    │
│                                                 │
│  Length: 250 characters max (LinkedIn limit)    │
│  Tone: Casual, no pitch, just connection        │
│                                                 │
│  Example:                                       │
│  'Hey Sarah — saw you're managing quality at   │
│  FreshPack. We work with a few kiwi exporters, │
│  would be great to connect!'                    │
│                                                 │
│  Return ONLY the message."                      │
└─────────────────────────────────────────────────┘
```

---

## Export & Automation

### Daily Schedule (Clay Automation)

```
6:00 AM NZDT - Clay Runs
├─ Add 50 new companies (Google Maps scraper)
├─ Enrich all new rows (Steps 2-6)
├─ Filter: Qualified = TRUE, Email Valid = TRUE
├─ Sort by: Company size (largest first)
├─ Select: Top 10 rows
└─ Export to Instantly webhook
```

### Instantly Integration

```
Clay Export Webhook → Instantly API
┌─────────────────────────────────────┐
│  Instantly Campaign: "PHT Daily 10" │
│                                     │
│  Sends:                             │
│  - 2 emails from Account 1 (8am)    │
│  - 2 emails from Account 2 (10am)   │
│  - 2 emails from Account 3 (12pm)   │
│  - 2 emails from Account 4 (2pm)    │
│  - 2 emails from Account 5 (4pm)    │
│                                     │
│  Follow-ups:                        │
│  - Day 3: Value add (case study)    │
│  - Day 8: Final bump (breakup)      │
└─────────────────────────────────────┘
```

### PhantomBuster Integration (LinkedIn)

```
Clay Export CSV → PhantomBuster
┌─────────────────────────────────────┐
│  Phantom: LinkedIn Auto-Connect     │
│                                     │
│  Inputs from Clay:                  │
│  - {linkedin_url}                   │
│  - {linkedin_message}               │
│                                     │
│  Daily limit: 20 connections        │
│  Runs: 9am NZDT daily               │
└─────────────────────────────────────┘
```

---

## Monitoring Dashboard (Clay Views)

### View 1: Pipeline
```
┌──────────┬───────┬──────────┬─────────┬─────────┐
│ Prospect │ Sent  │ Opened   │ Replied │ Booked  │
├──────────┼───────┼──────────┼─────────┼─────────┤
│ Found    │  347  │   —      │   —     │   —     │
│ Enriched │  289  │   —      │   —     │   —     │
│ Queued   │   30  │   —      │   —     │   —     │
│ Sent     │   —   │   178    │   —     │   —     │
│ Opened   │   —   │   —      │    47   │   —     │
│ Replied  │   —   │   —      │   —     │    12   │
└──────────┴───────┴──────────┴─────────┴─────────┘
```

### View 2: Daily Output (Today)
```
✅ 10 emails queued in Instantly
✅ 20 LinkedIn connections sent via Phantom
✅ 3 replies from yesterday (flagged in Telegram)
⚠️  2 bounces (re-verify emails)
```

---

## Cost Breakdown

**Clay:** $149/mo (Starter plan)
- Unlimited tables
- 2,000 enrichment credits/mo
- GPT-4 included

**Instantly:** $37/mo (Growth)
- 5 email accounts
- Unlimited sends
- Warmup included

**PhantomBuster:** $56/mo (Starter)
- 20 LinkedIn connects/day
- Auto-messaging

**ZeroBounce:** $16/mo (pay as you go)
- Email validation

**Total: $258/mo**

---

## Build Timeline

**Day 1:** Set up Clay table, import existing prospect list
**Day 2:** Configure enrichment waterfall (Apollo → Hunter → Prospeo)
**Day 3:** Build GPT-4 personalization prompts, test outputs
**Day 4:** Connect Instantly webhook, test 1 email send
**Day 5:** Add PhantomBuster, set daily schedules
**Day 6:** Monitor + refine prompts based on open rates

---

## Success Metrics (Week 1)

- **50 emails sent** (10/day × 5 days)
- **100 LinkedIn connections** (20/day × 5 days)
- **Target: 10% reply rate** = 5 interested prospects
- **Target: 2 booked calls**

If we hit that → scale to 20/day Week 2.

---

Want me to start building this in Clay? I'll need:
1. Clay account login (or I can sign up with maxjasonweber@gmail.com)
2. Apollo API key
3. Instantly webhook URL
