# Appendix D — Visual Walkthrough (Meta setup screens)

[← Back to README](README.md) · [01 Foundations](01-foundations.md) · [04 The worker](04-the-worker.md)

> 📸 **Captured 2026-06-30 on the live Meta UI.** Meta redesigns these screens often, so treat every screenshot here as point-in-time and verify against the current UI and the official docs linked in [01](01-foundations.md)/[04](04-the-worker.md). The written steps in 01 and 04 are the source of truth; these images are a visual aid.

## What's here

Steps **D1–D5 below are real screenshots captured live on 2026-06-30**, redacted: the business name, profile photo, and all numeric IDs are blacked out or blurred. The brand Page name (NeatNow Cleaning) is left visible as the worked example. **Step D6 (the Ads Manager objective picker) is a placeholder** for you to add, it sits behind a separate Ads Manager login that wasn't captured in this pass.

To refresh or add a screenshot: capture the screen in your own Meta account, black out your business name / profile photo / numeric IDs, and save it to `assets/screenshots/<name>.png` (the exact filenames are listed in that folder's `README.md`).

---

## Part 1 — The System User token

Meta Business Suite → Settings → Users → System users (older accounts: "Business Settings").

### Step D1 — System user detail

What you're looking at: the detail panel for your system user, where you generate the token and see which assets it can reach.

Exact labels confirmed live: the user has **Generate token** and **Revoke tokens** buttons; under **Assigned assets**, the Facebook Page shows **"Partial access (Ads and Leads)"** with a **Manage** button.

![System user detail showing Generate token / Revoke tokens and the Page with Partial access (Ads and Leads)](assets/screenshots/meta-01-system-user-detail.png)
*Caption: System user detail — Generate token, and the assigned Page reading "Partial access (Ads and Leads)".*

### Step D2 — Manage assignments (the load-bearing screen)

What you're looking at: the per-asset task dialog that decides whether the token can actually read leads. Get this wrong and lead retrieval silently fails.

Exact labels confirmed live: the **Manage assignments** dialog lists task toggles — Content, Community activity, Messages and calls, **Ads (ON)**, Insights, **Leads (ON)** — where Leads reads "Access and manage leads, including downloading leads, creating lead ads and more." Both **Ads and Leads** must be ON.

![Manage assignments dialog with Ads and Leads toggles switched ON](assets/screenshots/meta-02-leads-task-toggle.png)
*Caption: Manage assignments — both Ads and Leads toggled ON for the Page.*

### Step D3 — Generate token wizard

What you're looking at: the multi-step wizard that issues the access token.

Exact labels confirmed live: four steps in the rail — **Select app → Set expiration → Assign permissions → Done**.

![Generate token wizard rail: Select app, Set expiration, Assign permissions, Done](assets/screenshots/meta-03-token-wizard.png)
*Caption: Generate token wizard — the four-step rail.*

### Step D4 — Set expiration

What you're looking at: the expiration choice that determines whether your worker's token quietly dies in 60 days.

Exact labels confirmed live: two choices, **"60 days (Recommended)"** and **"Never"**. Meta
**pre-selects "60 days,"** so you have to actively change it. **Choose "Never."** If you leave
the 60-day default, the worker's token expires in 60 days and lead retrieval silently stops,
the exact failure this guide warns about.

> ⚠️ The screenshot below shows the screen **as Meta presents it, with "60 days (Recommended)"
> still selected.** That is the default, not the choice to keep. Click **"Never"** before you
> continue.

![Set expiration step; Meta defaults to 60 days (Recommended), and you must switch it to Never](assets/screenshots/meta-04-token-expiration.png)
*Caption: Meta defaults to "60 days (Recommended)" (shown selected here). Change it to "Never" for a durable worker token.*

### Step D5 — Assign permissions

What you're looking at: the permission picker for the token's scopes. Type "leads" into the picker's search to confirm `leads_retrieval` is available, then tick the five scopes.

Exact labels confirmed live: a searchable **Select permissions** picker; tick **`leads_retrieval`, `pages_read_engagement`, `pages_manage_ads`, `pages_show_list`, `ads_management`** (NeatNow's token also carries `ads_read` and `attribution_read`, shown here as "7 options selected"). `leads_retrieval` is the single load-bearing permission for reading lead data.

![Assign permissions picker showing the Select permissions field with options selected](assets/screenshots/meta-05-token-permissions.png)
*Caption: Assign permissions — the Select permissions picker; tick the five core scopes including leads_retrieval.*

---

## Part 2 — The campaign objective

Ads Manager → Create.

### Step D6 — Choose a campaign objective *(placeholder — add your own capture)*

What you're looking at: the objective picker shown right after you click Create. The objective you choose here decides whether you can attach a lead form, so it has to be Leads.

Exact labels confirmed live (from the build session): buying type **Auction**; objective tiles **Awareness / Traffic / Engagement / Leads / App promotion / Sales** — choose **Leads**.

> This screen sits behind a separate Ads Manager login and wasn't captured in the 2026-06-30 pass. To add it: in Ads Manager click **Create**, screenshot the objective picker, redact, and save to `assets/screenshots/meta-06-leads-objective.png`. The objective list is also documented in text in [05-facebook-ad.md](05-facebook-ad.md).

![Choose a campaign objective screen with the Leads tile selected](assets/screenshots/meta-06-leads-objective.png)
*Caption: Choose a campaign objective — select Leads (Auction buying type).*

---

Other setup screens (the webhook `leadgen` subscription, the Lead Ads Testing Tool, the Quo Settings→API page) are documented in text in [04](04-the-worker.md)/[06](06-go-live-and-monitor.md); capture them the same way if you want them here.
