# Instagram DM Automation — ManyChat Flow Script
### Joseph Denny · Jeanie & Joe Team · Coldwell Banker Vanguard Realty
**Purpose:** turn Instagram engagement into qualified buyer leads, automatically — while keeping every promise human-approved. Built to feed the **Capture** view in the JD Command Center.

---

## 1. The funnel at a glance

```
Post / Reel / Story  →  "Comment HOME"  →  ManyChat auto-DM
      →  3 qualifying questions  →  Free 2026 Buyer's Guide (PDF)
      →  Lead tagged + logged  →  15-min intro call offer
      →  Joseph/Jeanie personally replies within 24h
```

**Voice rules (non-negotiable):** no hype, no guaranteed outcomes, no pressure. Every automated message sounds like Joseph wrote it. The bot qualifies and delivers — humans close.

---

## 2. Keyword triggers

| Keyword | Where it's promoted | Intent signaled | Guide version |
|---|---|---|---|
| **HOME** | Bio + general posts ("Comment HOME for the buyer's guide") | General buyer | Full guide |
| **RELO** | Relocation content ("Moving to Jacksonville? Comment RELO") | Relocation buyer | Guide + Ch. 5 flagged |
| **DEAL** | Deal Diary episodes ("Reply DEAL if you like seeing how these get done") | Engaged lurker, warm | Guide + Deal Diary archive link |
| **BONES** | Construction Lens posts ("Comment BONES for the checklist") | Education-first buyer | Checklist chapter standalone |

Set each up in ManyChat as: **Growth Tool → Comment Automation** on the specific post, plus **Default Reply** keyword rules for people who DM the word directly.

---

## 3. The main flow (keyword: HOME)

**Message 1 — instant (0 min):**
> Hey {first_name}, Joseph here — thanks for grabbing the guide! 🏠 Before I send it: are you thinking about buying in Northeast Florida in the next...
>
> `[0–3 months]` `[3–6 months]` `[6–12 months]` `[Just researching]`

*Button taps map to tags: `timeline_0_3`, `timeline_3_6`, `timeline_6_12`, `timeline_research`*

**Message 2 — on tap (instant):**
> Perfect. And is this your first place, or have you owned before?
>
> `[First time]` `[Owned before]` `[Relocating to FL]`

*Tags: `first_time`, `experienced`, `relocating` (RELO keyword pre-tags `relocating`)*

**Message 3 — on tap (instant):**
> Last one — do you have a price range in mind? Rough is fine.
>
> `[Under $400K]` `[$400–700K]` `[$700K–$1.2M]` `[$1.2M+]`

*Tags: `budget_a` … `budget_d`*

**Message 4 — delivery (instant):**
> Here you go — the 2026 Northeast Florida Home Buyer's Guide: [LINK]
> Read Chapter 1 first. The CDD section surprises everyone.
> Anything in it raise a question? Reply right here — I answer these myself.

**Message 5 — the ask (24 hours later, only if timeline ≤ 6 months):**
> {first_name}, one follow-up — did the CDD/math section land? If you're seriously looking in the next few months, I do a free 15-min intro call: real monthly numbers for 2–3 neighborhoods you're considering. Want the link? `[Yes, send it]` `[Not yet]`

*If yes → send booking link, tag `call_offered_accepted`. If no/not yet → tag `nurture`, drop into monthly value sequence.*

---

## 4. Follow-up cadence (after the flow ends)

| When | Message | Goal |
|---|---|---|
| Day 3 | "One thing most buyers miss from the guide — the roof lifecycle table on page 4. Worth 2 minutes." | Re-open conversation |
| Day 10 | New listing or Deal Diary that matches their budget tag | Prove ongoing value |
| Day 30 | "Still thinking about the move? Market snapshot: [this month's 3 honest stats]" | Reactivation |
| Monthly | Market-truths broadcast to `nurture` tag only | Stay present without pressure |

**Hard rules:** max 1 proactive message per week, stop on any "stop/unsubscribe," and never auto-DM anyone who hasn't engaged first (Instagram policy + brand fit).

---

## 5. Logging leads into the Command Center

**Hands-free route (recommended):** once the 3 questions are answered, ManyChat calls the
Command Center's API directly — no Google Sheet, no manual re-typing. Set this up as the
last step of the flow:

- **Action → External Request**
- Method: `POST`
- URL: `<your deployed API>/api/public/leads/manychat`
- Header: `X-ManyChat-Secret: <the MANYCHAT_WEBHOOK_SECRET value set in Render>`
- Body (map from ManyChat's own custom fields/tags):
  ```json
  {
    "name": "{{first_name}}",
    "keyword": "RELO",
    "timeline": "{{last timeline tag}}",
    "budget": "{{last budget tag}}",
    "segment": "{{last segment tag}}",
    "ig_handle": "{{ig_username}}",
    "owner": "Joe",
    "consent_sms": false,
    "note": ""
  }
  ```
  `timeline`/`budget`/`segment` accept either the raw tag (`timeline_0_3`, `budget_c`,
  `relocating`, etc. — see section 3-4 above) or an already-human-readable value; the API
  maps tags to display text itself. The lead and its "Personal reply" task land directly in
  the Capture/Pipe views, scored the same way a manual Capture-view entry is.
  Requires `JD_Backend` to be deployed (see `JD_Backend/README.md`) and
  `MANYCHAT_WEBHOOK_SECRET` set — the endpoint returns 501 until that's configured.

**Manual fallback:** if ManyChat isn't wired to the API yet, log leads by hand in the
**Capture** view of the JD Command Center (rail → Capture):

| ManyChat field | Command Center field |
|---|---|
| IG name / {first_name} | Name (+ IG handle in the contact field) |
| Keyword used (HOME / RELO / DEAL / BONES) | Source keyword |
| Timeline buttons | Timeline |
| Price-range buttons | Budget |
| First-time / experienced / relocating | Segment + Notes |
| Email/phone if shared later | Contact + consent checkboxes |

Or export Command Center leads to CSV (Capture view → Export) for your own CRM.

---

## 6. Weekly operating rhythm

1. **Mon** — post Construction Lens content with keyword CTA.
2. **Daily, 10 min** — personally reply to anyone who responded to Message 4. *The bot gets them to the door; you walk them through it.*
3. **Fri** — review Capture view: who answered all 3 questions but hasn't been called? That's the weekend call list.
4. **Monthly** — check keyword performance: which posts drove completions? Make more of those.

---

## 7. Compliance & consent notes

- DM automation requires a connected **Instagram Professional account** via ManyChat's official API.
- Ask before texting: SMS consent must be explicit (the Command Center tracks `sms consent` separately).
- Never promise outcomes ("I'll get you the house") — promise process ("I'll show you the real numbers").
- Brokerage review: run the flow past Coldwell Banker Vanguard compliance before going live.

*File: ManyChat_DM_Flow_Joseph_Denny.md · Built for the Jeanie & Joe Team by THE FINNESSE GROUP LLC*
