# Agent 6 — Pitch Deck Customizer Agent

**Build Priority:** 6 (runs with Agent 5)
**Time to Build:** 2–3 days
**Impact:** ⭐⭐⭐ — Nice to have, manual works too
**Cost/Month:** $5

## What It Does

Takes the generic 15-slide pitch deck (from `property-owner-pitch-deck.md`) and customizes it for each meeting. Fills in the owner's name, property details, revenue projections, neighborhood-specific market data, and their specific HOA/concern answers.

## Inputs

- Owner name, property address, property details
- Revenue projection from Agent 5
- Any known concerns (from qualification conversation)

## Outputs

- Fully customized Google Slides deck (or Canva / PowerPoint)
- Ready to present — zero prep needed

## How to Build

```python
class PitchDeckCustomizer:
    def __init__(self, template_deck_id):
        self.template_deck_id = template_deck_id  # Google Slides template ID
        self.slides_service = build('slides', 'v1', credentials=creds)

    def create_custom_deck(self, owner, property, projection):
        """Copy template, then replace all placeholder text"""
        # 1. Copy template deck
        new_deck = self.slides_service.presentations().create(
            body={'title': f"Co-Hosting Proposal — {property['address']}"}
        ).execute()

        # 2. Replace placeholders across all slides
        replacements = {
            '{{NEIGHBORHOOD}}': property['neighborhood'],
            '{{AVG_NIGHTLY}}': f"${projection['expected']['nightly']:,.0f}",
            '{{MONTHLY_GROSS}}': f"${projection['expected']['monthly_gross']:,.0f}",
            '{{NET_MONTHLY}}': f"${projection['expected']['monthly_net']:,.0f}",
            '{{FAQ_1}}': self.generate_faq_hoa(property) if property.get('has_hoa') else '',
        }

        # 3. Execute via Google Slides API batchUpdate
        requests = [{'replaceAllText': {'containsText': {'text': k, 'matchCase': True}, 'replaceText': v}}
                    for k, v in replacements.items()]
        self.slides_service.presentations().batchUpdate(
            presentationId=new_deck['presentationId'],
            body={'requests': requests}
        ).execute()

        return new_deck['presentationId']
```

## Trigger

Calendly booking created → webhook → Agent 5 runs → Agent 6 runs → Google Slides link sent to your phone
