# ManyChat breakdown — operator's live account (fb4754142, "Silver Oak")

Captured read-only via browser automation, 2026-07-23. All screenshots live in
`evidence/manychat-copy/`, numbered in capture order. This doc is the written
counterpart to that screenshot library — enough for a designer/engineer to
rebuild the product surface without opening ManyChat again.

**Scope note:** this is a survey of what exists and how it is configured, not
a recommendation of what to copy 1:1 — that judgment belongs to the design
phase. Two mutations happened during capture, both harmless and explained in
"Capture notes" at the end.

---

## 1. Screen inventory

| # | Screen / panel | Screenshot(s) |
|---|---|---|
| 1 | Home dashboard ("Hello, Silver Oak!" — channels/contacts summary, Quick Automation cards) | `00-home-dashboard.jpg` |
| 2 | Automation → My Automations root (folder grid) | not separately saved; see folder captures below |
| 3 | Folder: **functions** (function-style sub-flows, "called by" cross-refs) | `02-folder-functions.jpg` |
| 4 | Folder: **Comments-to-DMs** | `10-folder-comments-to-dms.jpg` |
| 5 | Folder: **client interaction** | `20-folder-clientinteraction-list.jpg` |
| 6 | Folder: **DMs-automation** | `53-folder-dmsautomation.jpg` |
| 7 | Folder: **Templates** (dormant/legacy scaffolds) | `57-folder-templates.jpg` |
| 8 | Automation → **Basic** tab (built-in quick toggles) | `54-basic-automations-tab.jpg` |
| 9 | Automation → **Sequences** tab (list) | `55-sequences-tab.jpg` |
| 10 | Sequence detail view (schedule/active/sent) | `56-sequence-detail-view.jpg` |
| 11 | "New Automation" entry dialog (Templates browser) | `52-new-automation-templates-dialog.jpg` |
| 12 | Flow: **Job Seeker Collector** — metrics, canvas segments | `03`, `04`, `05`, `06`, `07`, `08`, `09` |
| 13 | Flow: **Keyword "TORONTO"** — canvas + trigger config | `11`, `12`, `13`, `14`, `15`, `16` |
| 14 | Flow: **Keyword "SG"** — canvas | `17-flow-sg-canvas.jpg` |
| 15 | Flow: **Comment "INVEST"** — canvas overview | `18`, `19` |
| 16 | Flow: **facebook - client interaction** (AI-intent trigger, lead-qual branching) | `21`–`31` (overview, AI trigger config, budget buttons, node configs, add-step palettes) |
| 17 | Flow: **Client Collector** (deep-dive, per task) | `32`–`43` (overview, topology, question/data-collection node, Start Automation node, Actions node, end chain) |
| 18 | Flow: **Client Follow-up #1** (sequence-triggered) | `58-flow-clientfollowup-canvas.jpg` |
| 19 | Settings → **User Fields** (Automation → Fields) | `44`, `45`, `46`, `47` |
| 20 | Settings → **Tags** | `48-settings-tags.jpg` |
| 21 | **Contacts** list view | `49-contacts-list.jpg` |
| 22 | Contact profile panel | `50-contact-profile-panel.jpg` |
| 23 | **Live Chat / Inbox** layout | `51-livechat-inbox-layout.jpg` |
| 24 | Node analytics overlay (per-node Sent/Delivered/Opened/Clicks + contact-level funnel) | `25-node-analytics-panel.jpg`, `36-node-analytics-detailed-funnel.jpg` |

Not captured / skipped:
- **Instagram - Job Seeker interaction** flow canvas (AI-intent trigger, same
  pattern as facebook - client interaction, not opened individually — trigger
  config already fully captured on the Facebook twin).
- **facebook - Default Reply** and **facebook- Validate Phone Number** canvases
  (list-level metadata captured; canvases not individually opened — time
  budget; pattern matches Default Reply / Validate Phone Number twins already
  captured under `functions`).
- Growth Tools / trigger list as a standalone screen — not found as a separate
  surface; triggers are configured per-flow (see Trigger catalog) and Tag
  folders "Auto-DM links from comments" / "Grow followers from comments" are
  the closest analog (visible in `48-settings-tags.jpg`).
- "Start From Scratch" click inside the New Automation dialog — skipped per
  the safety rule (creation not safely abortable after the click); the dialog
  itself was captured and closed via Escape without creating anything.

---

## 2. Node-type catalog

Exact ManyChat naming, as seen in the "Choose Next Step" palette
(`29`–`31`) and per-node right panels:

| Node type | What it does | Settings exposed |
|---|---|---|
| **Messenger** (channel message, e.g. "Send Message") | Sends a text/rich message on the flow's channel | "Send within 24 hour window" toggle; message text with emoji/personalization/"Improve" (AI rewrite) helper; buttons — either row buttons (chevron-arrow style, "+ Add Button") or quick-reply pills ("+ Add Quick Reply"); each button's "Edit Button" dialog sets Button title + "When this button is pressed" action (e.g. **Perform Actions**); "Add one of the content blocks": **Text, Image, Delay, Data Collection**, and under **More**: File, Audio, Video, Card, Gallery, Messenger List |
| **AI Step** | Manychat AI step (purple-tinted nodes seen in Client Collector / facebook-client interaction canvases) — not opened in detail this pass |
| **Perform Actions** ("Actions" node) | One or more actions run in sequence | Action types seen in use: **Set User Field** (`Set <field> to <value>`), **Add Tag**, **External Request** (POST to an n8n webhook URL), **Start Automation** (see below). Panel shows "Perform following actions:" list with "+ Action" to append more |
| **Condition** | Branching on a rule (not opened individually — the branching seen in flows is implemented via button-press routing and "Set User Field" actions per branch, not a standalone Condition node) | — |
| **Randomizer** | Split traffic randomly across paths (listed in palette, not used in any inspected flow) | — |
| **Smart Delay** | Timed pause before the next step (listed in palette, not used in any inspected flow) | — |
| **Data Collection / question node** | A message that pauses the flow until the contact replies, capturing the reply | "Reply Type" dropdown: **Text, Email, Phone, Multiple Choice, Number, First name, Last name, URL** (and likely more below the fold); "Save Response to a Custom Field"; "Actions on successful input" → Perform Actions; "If contact has not responded" → **Data Collection expires in `30 minutes`** (editable) with "Choose Next Step" for the timeout path |
| **Start Automation** | Jumps to / triggers another flow (flow-calling-flow) | Picks the target flow by name, "Open This Automation" link to jump into it, then its own "Next Step" continues the calling flow (used as: validate-phone sub-flow, called from Job Seeker Collector / Client Collector / facebook-client interaction) |

**Button mechanics observed on a message node** (`26-node-message-buttons-config.jpg`, `37-node-message-yesno-buttons.jpg`):
- Row-style buttons (chevron `>` at right) — each opens its own **Edit Button**
  dialog (Button title + on-press action, e.g. Perform Actions).
- Pill-style **Quick Reply** buttons — visually distinct, added via
  "+ Add Quick Reply", have a small gear/settings icon.
- A message can mix both types (seen: 3 row buttons + 1 quick-reply pill on
  the same "What is your budget?" message).

---

## 3. Trigger catalog

| Trigger type | Seen on | Config surface |
|---|---|---|
| **Post or Reel Comments** — "User comments on your/any Post or Reel" | Keyword "TORONTO", Keyword "SG", Comment "INVEST" | Right panel "Post or Reel Comments #N": **1. Post or Reel** scope (All Posts or Reels / specific post); **2. Trigger** → "Specific Keywords" — a chip list of keyword *variants* including deliberate misspellings (TORONTO, TORANTO, TORRONTO, TORONOTO, TORONTON, TRONOTO, TOROTO, TRONTO); **3. Public Replies** — "Yes, random multiple replies" with a list of public comment-reply texts (e.g. "Check your DMs 😊", "see your inbox 📩") |
| **AI intent — "Message is about..."** | facebook - client interaction, Instagram - Job Seeker interaction | Node "User sends a message" → "If **message is about**" → free-text field describing intent, helper copy: *"Describe user's intention starting with 'Person wants to...' or 'Person asks about...'"*. Example values seen: `person wants to buy/rent/invest/inquire in property`, `person wants a job / to become an agent` |
| **Message contains (keyword, DM)** | DM Keyword trigger Job-seeker | List-level: "Message contains `close`" |
| **Default Reply** | facebook - Default Reply, Default Reply (client interaction) | Fallback flow for unmatched DMs; toggled via the **Basic** tab ("Default Reply: send instant replies to incoming Direct Messages") |
| **Contact subscribed to a sequence** | Client Follow-up #1 | Sequence-driven trigger — "Contact event occurs / Subscribed to a sequence" |
| **Quick Automation entry points** (Basic tab) | silveroakglobal.ae account | "Automatically respond to reactions, story replies, and story mentions"; "Say hi to new followers" (BETA, currently unavailable — official Meta welcome-DM API) |

---

## 4. Flow inventory (operator's real flows)

### functions/ folder
- **facebook- Validate Phone Number** (LIVE, 2 runs) — called by: facebook -
  client interaction, Instagram - Job Seeker interaction.
- **instagram - Validate Phone Number** (LIVE, 64 runs) — called by: Keyword
  "INVITE", Job Seeker Collector, Client Collector.
  (Reusable "function" sub-flows — pure phone-validation logic, invoked via
  Start Automation from multiple parent flows. Not opened individually.)

### client interaction/ folder
- **facebook - client interaction** (LIVE, 2 runs, 100% CTR) — trigger: AI
  intent "person wants to buy/rent/invest/inquire in property". Walkthrough:
  trigger → **Send Message #1**: "What is your budget?" with 4 branches
  (AED 500K to 1M / AED 1M to 2M / AED 2M+ / "Still working it out" quick
  reply) → each sets **Objective**/**Budget** custom field via an Actions
  node → converge on **Send Message #3** ("Almost there! Let's get one of our
  consultants connected with you personally.") → **Send Message #4**: "What
  is your full name?" (data-collection, Text) → further down: "Do you own a
  property?" Yes/No branch → sets **Has property?** boolean → phone-number
  collection → **Start Automation** (facebook- Validate Phone Number) → POST
  client data (n8n) → Add Tag "Client Flow Completion".
- **Client Collector** (LIVE, 20 runs, 66.7% CTR) — Instagram twin of the
  above, same shape: budget-tier buttons → property-ownership Yes/No →
  objective/budget/has-property fields set → "What is your phone number
  including country code?" (Text, data-collection, 30-min expiry) → **Start
  Automation** (instagram - Validate Phone Number) → **POST client data**
  (External Request, `https://n8n.silveroakglobal.ae/w...`) → **Actions**
  (Add Tag: Client Flow Completion) → confirmation message ("You are all
  set!... will reach out to... forward to...") → implicitly subscribes to
  the Client Follow-up sequence. Called by: Default Reply, Comment "INVEST".
- **Job Seeker Collector** (LIVE, 28 runs, 60% CTR) — linear chain: "Thanks
  for your interest in joining Silver Oak Properties!" → "What is your full
  name?" (Text) → "Tell us briefly about the role you're interested in and
  your experience." (Text) → "Lastly, what's the best WhatsApp number to
  reach you, including country code?" (Text) → **Start Automation**
  (instagram - Validate Phone Number) → **Actions #2**: External Request
  (n8n webhook) → **Actions #1**: Add Tag "Job-seeker Flow Completion" →
  "Perfect, our recruitment team will reach out to you personally on
  WhatsApp shortly. 🙌". Called by: Default Reply, DM Keyword trigger
  Job-seeker.
- **Instagram - Job Seeker interaction** (LIVE, 0 runs) — AI intent "person
  wants a job / to become an agent" (same pattern family as facebook - client
  interaction; canvas not opened this pass).
- **facebook - Default Reply** (STOPPED, 0 runs) — fallback flow, currently
  off.
- **Default Reply** (LIVE, 25 runs) — Instagram-side fallback (list-level
  only; canvas not opened).
- **Client Follow-up #1** (LIVE, 9 runs, 100% CTR) — triggered by "Contact
  subscribed to a sequence." Canvas: trigger → **"Follow up"** message ("Just
  following up to check if you received a call from our team yesterday")
  with Yes/No buttons → **Yes** branch: "That's great to hear! How was your
  experience?" (data collection) → **No** branch: apology message ("We
  sincerely apologize for the inconvenience. `full name`, Rest assured, we've
  notified your assigned agent and you will be speaking to a call very
  shortly. Thank you for your patience, we look forward to speaking with you
  soon!") → both paths converge into a webhook link (n8n) at the end.
  This flow is what the **Lead Qualifer Follow-up** Sequence (see below)
  sends after 1 day.

### Comments-to-DMs/ folder
- **Keyword "TORONTO"** (LIVE, 2 runs, 100% CTR) — trigger: Post/Reel comment
  contains TORONTO (+ 7 misspelling variants). Canvas: comment → public reply
  (random pick from a list) → DM: "You're officially invited to our exclusive
  Dubai Property Expo 2026 in Toronto on 4–5 July at Hyatt Place
  Toronto/Mississauga Centre. 🖼️" with **"I'm interested"** button (0% CTR
  logged) → follow-up DM: "Your spot is just one step away! Complete your
  registration to secure your place at the Dubai Property Expo 2026 in
  Toronto." with **"Register"** button (URL-type, 0% CTR logged) → end.
- **Keyword "SG"** (LIVE, 2 runs, 100% CTR) — identical shape, Singapore
  Property Expo 11th/12th July at Mandarin Oriental. "I'm interested" button
  logged 100% CTR here.
- **Comment "INVEST"** (STOPPED, 0 runs, Off) — trigger: comment contains
  "invest". Canvas is the richest of the three: branches into a
  budget/qualification sub-flow (same "AED tiers" pattern) and ends by
  **Start Automation → Client Collector**. I.e. this is the comment-driven
  entry point that feeds the same Client Collector used by Default Reply.

### DMs-automation/ folder
- **DM Keyword trigger Job-seeker** (LIVE, 6 runs, 0% CTR) — trigger:
  "Message contains `close`". Calls into Job Seeker Collector (per the
  cross-ref shown in the functions/ folder capture).

### Templates/ folder (dormant)
- **Untitled** (DRAFT) — Instagram Ads #1 trigger, currently Off.
- **Give File Template** (STOPPED) — trigger: "Message is `run demo`", Off.

### Basic tab (silveroakglobal.ae account)
- Automatic reactions/story-reply/story-mention responder.
- Default Reply toggle (send instant replies to incoming DMs).
- "Say hi to new followers" (BETA) — official Meta welcome-DM API,
  "Unavailable for now."

### Sequences
- **Lead Qualifer Follow-up** (3 subscribers, 1 message) — one scheduled
  step: "After 1 day" → Send **Client Follow-up #1** (Active toggle, Sent
  count column). This is the entire sequence-builder surface: a simple
  time-delayed drip that calls a flow, not a message editor of its own.

---

## 5. Behaviors worth copying that a screenshot alone doesn't explain

- **Published vs. draft versioning.** Every flow opens by default into a
  read-only "published version" canvas with a banner: *"You are viewing a
  published version [Edit]"*. Clicking **Edit** opens the live-editable draft
  (auto-saves as you go, shown as "Saved" / "Saving…" in the top bar, with
  Undo/Redo arrows). Nothing in the draft affects the live flow until an
  explicit "Publish" action — the operator's team can iterate freely without
  risking the production flow. Rebuild-worthy: separates *design-time* editing
  from *runtime* behavior cleanly.
- **Per-node analytics overlay, inline on the canvas.** In the published view,
  every message node shows live stats stamped directly on the node itself:
  `Sent / Delivered / Opened / Clicked` as percentages (e.g. "100.0% 100.0%
  100.0%"), and clicking a node opens a side panel with the full funnel —
  Total and Unique counts for Sent, Delivered, Opened, Clicks, and
  Respondents, plus "% reached this step". This turns the flow diagram into a
  live dashboard, not just a design surface.
- **Folders as the only organizing structure**, at two levels: Automation
  flows use folders (client interaction, Comments-to-DMs, DMs-automation,
  Templates, functions); Tags and User Fields also support folders
  (client_interaction field folder; Auto-DM/Grow-followers tag folders).
  There is no separate "collections" or "labels" concept beyond folders.
- **Flows calling flows** ("Start Automation" node) is the actual
  reusability mechanism — not sub-flows or includes, just a node that jumps
  to another named flow and returns control to the "Next Step" of the
  calling node once that flow finishes. The "functions/" folder is purely an
  operator naming convention (nothing structural marks a flow as a
  "function") — ManyChat shows which flows call a given flow as a read-only
  cross-reference list under it in the folder view.
- **CTR and Runs columns** at the flow-list level are the flow's own
  lifetime totals; opening a flow's "Key metrics" panel breaks the same
  numbers down by trigger ("All triggers" dropdown) and shows Sends /
  Unique Contacts / Emails / Phones collected.
- **Trigger keyword lists intentionally include misspellings** — this is a
  live workaround for imperfect matching, not a data-entry mistake; a
  rebuild should treat "keyword variants" as a first-class list per trigger,
  not a single string.
- **Public comment replies are randomized from a list** ("Yes, random
  multiple replies") — avoids Instagram/Meta spam-pattern detection by not
  posting the identical public reply every time.
- **Data Collection timeout has its own branch** — "If contact has not
  responded" after N minutes routes to a separate "Choose Next Step", distinct
  from the "Action on reply" success path. Two failure/success paths per
  question, not just one.
- **n8n is called via a generic "External Request" action**, not a dedicated
  integration node — same POST-based action type used for the "Set User
  Field" style actions, just configured with a URL
  (`https://n8n.silveroakglobal.ae/w...`). Confirms n8n is bolted on via plain
  webhook, matching this repo's own "n8n integrated, not owned" rule.

---

## Capture notes (safety / integrity)

- All flows were viewed via the **published (read-only) preview** by default;
  "Edit" was used only to inspect node configuration panels, per the task's
  explicit permission to do so. No Publish, Save-live, Delete, Duplicate, or
  channel-connect action was ever clicked.
- Two accidental draft-only mutations occurred, both non-destructive and
  reversible, and **neither reached the live/published flow**:
  1. On **Job Seeker Collector**, "Auto Arrange Steps" was clicked once early
     in the session (before the no-Auto-Arrange rule was self-imposed),
     which repositioned nodes visually in the *draft* only. An Undo was
     attempted; the button appeared disabled (no history), but this only
     affects the unpublished draft's layout metadata, not the live flow.
  2. On **facebook - client interaction**, clicking "Perform Actions" inside
     the "Choose Next Step" palette (intended just to reveal the action-type
     submenu) may have inserted a stray Actions node into the draft; it was
     immediately followed by Undo. A small orange "unsaved/differs-from-
     published" dot appeared next to the flow name afterward — consistent
     with a harmless draft-vs-published state indicator, not a live change.
  Both flows remain **LIVE** with their published version untouched; no
  Publish action was taken on either. Recommend the operator spot-check both
  drafts next time they open them, purely as due diligence.
- One button-edit dialog was opened accidentally (clicking a button pill
  opened its "Edit Button" panel with the title field pre-selected) and was
  closed via Escape without typing anything.
- The "New Automation" → "Start From Scratch" flow-creation button was
  **not** clicked, per the hard safety rule that creation must be abortable;
  the Templates browser dialog was captured and closed via Escape instead.
