---
name: cold-postal
description: Step-by-step cold postal direct mail lead generation engine. Walks users through connecting the Thanks.io MCP server, finding in-market leads via lead topics, setting up automated daily or weekly mailings (postcards, letters, notecards, gift cards), and then walks them through connecting their Gmail API/MCP (for automated Day-9 follow-up emails) and Meta Ads API/MCP (so prospects see matching ads before the mail hits).
---

# Cold Postal: Automated Direct Mail Lead Generation

## What You're Building: The 3-Part "Cold Postal" Flywheel

Most businesses blast generic cold emails that go straight into the spam folder. The **Cold Postal Funnel** flips the script by surrounding your hottest prospects across three synchronized channels:

```
           ┌────────────────────────────────────────────────────────┐
           │   1. PHYSICAL MAIL ON AUTOPILOT (Day 0)                │
           │   Thanks.io finds in-market buyers & mails your card   │
           └──────────────────────────┬─────────────────────────────┘
                                      │
                                      ▼
           ┌────────────────────────────────────────────────────────┐
           │   2. PRE-MAIL META ADS ECHO (Days 1–8)                 │
           │   Prospects see your brand & ad BEFORE the mail hits   │
           └──────────────────────────┬─────────────────────────────┘
                                      │
                                      ▼
           ┌────────────────────────────────────────────────────────┐
           │   3. DAY-9 GMAIL CLOSER (Day 9)                        │
           │   Auto-email: "Did you get my note in the mail?"       │
           └────────────────────────────────────────────────────────┘
```

### 1. 📬 The Doorstep Magnet (Physical Mail on Autopilot)
- **Who:** Real people who are actively researching what you sell online right now (sourced via Thanks.io Lead Topics for just 10¢ per lead).
- **What:** An authentic handwritten postcard, executive letter, warm notecard, or real Starbucks/Amazon gift card mailer printed and shipped automatically to their door.
- **Why It Works:** While digital inboxes get 100+ spams a day, physical mailboxes get 2–3 pieces of real mail. It commands **near-100% open rates** and sits on the kitchen counter or office desk for days.

### 2. 📱 The Pre-Mail Social Echo (Meta Ads API Automation)
- **Who:** The exact same people who were just added to your mailing list.
- **What:** Connected directly to your Meta Ads account so that the moment a lead enters your Thanks.io list, they are pushed into a Meta Custom Audience and shown an ad echoing your postcard design.
- **Why It Works:** USPS takes 5–7 business days to deliver mail. Because your Meta ad starts showing on **Day 1**, your prospects are already familiar with your brand, colors, and offer **before they even open their physical mailbox!**

### 3. ✉️ The Day-9 Follow-up (Gmail API Automation)
- **Who:** The recipient whose mail landed on their desk or kitchen counter a couple of days ago.
- **What:** Connected to your Gmail so that 9 days after a lead joins your list, a casual 3-line personal email goes out automatically: *"Hey [First Name], I dropped a quick handwritten note in the mail to your address earlier this week... just wanted to make sure you got it!"*
- **Why It Works:** It doesn't feel like a cold sales pitch—it feels like a polite neighbor or partner checking in on a physical package, driving **sky-high reply and callback rates**.

---

## 🛑 The Golden Rule: Talk Like a 3rd Grade Teacher
1. **One Step at a Time:** Never ask more than ONE question or give more than one simple instruction in a single message. Wait for their reply before moving to the next bite.
2. **Simple Words Only:** No tech jargon or developer buzzwords.
   - Say *"people shopping for what you sell"* instead of *"in-market intent audience"*.
   - Say *"how many cards to send each day"* instead of *"cadence cap parameters"*.
   - Say *"secret connection code"* instead of *"OAuth Bearer token / SHA-256 payload"*.
3. **Paint the Excitement Early:** When greeting the user, briefly summarize the 3 pieces so they get pumped up!
4. **Research `https://thanks.io/mcp` First:** If the Thanks.io MCP server isn't connected yet, visit and read **`https://thanks.io/mcp`** (and `https://docs.thanks.io/thanks-io-mcp-server.md`) so you can walk the user through the exact setup steps for their specific AI tool (Claude, ChatGPT, Gemini, Cursor, Claude Code, etc.).
5. **Get the Mail Running First, Then Offer the 2 Enhancements:** Complete Steps 0–5 first so their automated direct mail is live, then ask if they want to wire up the **Day-9 Gmail Follow-Up** and **Meta Ads Pre-Mail Echo**!
6. **Wait for Approval:** Always show the user what you created and wait for their "Yes" before turning anything on that spends money or sends messages.

---

## The Workflow Map

```
[Step 0: Connect Thanks.io] ➡️ [Step 1: Pick Who to Reach] ➡️ [Step 2: Pick Place & Pace] ➡️ 
[Step 3: Pick Mail Type] ➡️ [Step 4: Build Hormozi Lead Magnet (3 Options)] ➡️ 
[Step 5: Create & Approve Design] ➡️ [Step 6: Pick Touches (1, 3, 6, or 12) & Turn On Auto-Mail]
                                                                              │
            ┌─────────────────────────────────────────────────────────────────┘
            ▼
[Ask: Want to set up the 2 Enhancements now?]
   ├── ➡️ [Enhancement 1 (Step 7): Connect Gmail API/MCP & Automate Day-9 Email]
   └── ➡️ [Enhancement 2 (Step 8): Connect Meta Ads API/MCP & Launch Pre-Mail Echo Ads]
```

---

### Step 0: Connect Your Thanks.io Account

**Goal:** Make sure the AI can talk to Thanks.io before starting.

1. **Check if already connected:**
   - Try calling `get-account-info`.
   - If it works:
     > *"Awesome news! Your Thanks.io account is already hooked up and ready to roll! Let's get right into building your 3-part Cold Postal funnel."*
     - Skip immediately to **Step 1**.
2. **If NOT connected yet, research `https://thanks.io/mcp` and guide them through 1 simple bite at a time:**
   - **LLM Action (Do This First):** Fetch and read **`https://thanks.io/mcp`** (and `https://docs.thanks.io/thanks-io-mcp-server.md`) to look up the exact, step-by-step connection instructions for the user's specific AI client (Claude, ChatGPT, Gemini, Cursor, Claude Code, OpenClaw, etc.).
   - **Bite A (Account Check):**
     > *"Welcome! We're about to build your automated 'Cold Postal' machine—a 3-part funnel that mails real handwritten cards to people shopping for what you sell, shows them matching Facebook/Instagram ads before the mail even arrives, and sends a friendly Gmail follow-up 9 days later!*
     > 
     > *First question: Do you already have a free Thanks.io account?*
     > *(If not, you can grab one in 30 seconds at [dashboard.thanks.io/register](https://dashboard.thanks.io/register))."*
   - **Bite B (Plugging in the Server using `https://thanks.io/mcp`):**
     Once they have an account, check what AI app they are using (or ask them) and walk them through the exact setup from **`https://thanks.io/mcp`**:
     > *"Now let's plug Thanks.io into your AI assistant! Here is the official setup page if you want to see pictures: [thanks.io/mcp](https://thanks.io/mcp).*
     > 
     > *All it takes is adding this one server link:*
     > `https://mcp.thanks.io/mcp`
     > 
     > *Most assistants (like Claude, ChatGPT, or Cursor) just ask for that URL, and a pop-up window will let you sign in to Thanks.io and click 'Approve'—no complicated keys needed!*
     > *(If your tool asks for a config file or API key instead, go to **Settings → API & MCP Access** in Thanks.io, click **Create API Key** with **'Allow MCP access'** checked, and paste it in).*
     > 
     > *Let me know as soon as you've added it!"*
   - **Bite C (The Lead & Order Permission Switches):**
     Once added:
     > *"Almost done with setup! In your Thanks.io dashboard under **Settings → API & MCP Access**, look for **MCP Permissions** and flip the switches for **'Allow lead purchases via MCP'** and **'Allow orders via MCP'** to ON.*
     > *(This gives me permission to pull in fresh 10-cent leads and start your campaign once you approve it).*
     > *Let me know when those switches are flipped!"*
3. **Verify:**
   - Call `get-account-info`. Once verified, celebrate and move to Step 1.

---

### Step 1: Find Who We Want to Reach (Topic Search)

**Goal:** Identify the exact product or service people are currently researching online.

1. **Ask the user:**
   > *"Great job getting connected! Let's build the core of your funnel first: **automated physical mail to people actively shopping for what you sell**.*
   > 
   > *What product or service do you sell, or what are your ideal customers searching for online right now?"*
2. **Call Thanks.io MCP:**
   - Execute `search-lead-topics` with:
     - `type`: `"b2c"` (if homeowners/consumers) or `"b2b"` (if companies/executives).
     - `keywords`: User's answer.
3. **Present 3 to 5 simple choices:**
   - *"Here are the best matches I found of people actively researching this online right now:*
     *1. [Topic Name]*
     *2. [Topic Name]*
     *3. [Topic Name]*
     *Which one fits best? (Just reply 1, 2, or 3)"*
4. Store the selected `topic_id`.

---

### Step 2: Where & How Many (Location & Frequency)

**Goal:** Lock in geographic targeting and set a comfortable daily or weekly budget.

1. **Ask the location (Part A):**
   > *"Awesome choice! Next: Where are these people located? You can name cities, counties, or states (for example: 'Dallas, TX' or 'Bucks County, PA')."*
2. **Validate via MCP:**
   - Call `suggest-lead-locations` with `query`: user's location input.
   - Construct the exact filter dictionary (e.g., `{"personal_city_state": ["Dallas, TX"]}`).
3. **Ask the frequency & volume (Part B):**
   > *"Got it! Now, how often should we add fresh new leads?*
   > *1. **Every day** (great for steady, daily calls)*
   > *2. **Once a week** (great for a weekly batch)*
   > *And how many leads per run would you like? (Each lead is only 10 cents. For example: 5 a day is just $0.50/day; 10 a day is $1.00/day)."*
4. **Run a Preview:**
   - Call `preview-targeted-leads` and `get-targeted-leads-preview`.
   - Tell the user:
     > *"Woohoo! We checked and found roughly **[X]** active people researching this in [Location] right now! Ready to decide what kind of mail to send them?"*

---

### Step 3: Choose What to Mail (Format)

**Goal:** Pick the mailer format.

1. **Ask:**
   > *"What kind of mailer would you like them to open?*
   > *1. **Postcard (4x6 or 6x9)** – Quick, colorful, and impossible to miss.*
   > *2. **Letter** – Looks official, private, and personal.*
   > *3. **Notecard** – Feels like a warm handwritten invitation from a friend.*
   > *4. **Gift Card Mailer** – Comes with a real $5 or $10 Starbucks or Amazon card attached so they definitely pay attention!*
   > *Which one sounds best for your business?"*
2. Save the selection as `mailer_type`.

---

### Step 4: Build a "No-Brainer" Offer Using Alex Hormozi's Lead Magnet Framework

**Goal:** Before designing the mailer, help the user pick an irresistible Lead Magnet / Offer so recipients actually scan the QR code and respond.

1. **Ask for their website link first (1 simple question):**
   > *"Great choice! Before we design your mailer, let's create an offer so good that people feel silly saying no.*
   > *What is your website link? (I'll look at your business and come up with 3 irresistible offer ideas for you!)"*
2. **Generate 3 Custom Options Using Alex Hormozi's `$100M Leads` Lead Magnet Framework:**
   - Read their website (or use what they told you about their business) and craft **3 narrow, high-value Lead Magnet options**—one from each of Hormozi's 3 proven Lead Magnet types:
     1. **Option 1: Reveal Their Problem (Free Audit / Custom Report / Diagnosis / Scorecard)**
        - *Hormozi Principle:* Give them a personalized diagnosis that reveals a specific problem your core service solves.
        - *Example:* *"Scan for a Free 60-Second [Specific Problem] Report / Custom Home Value & Equity Audit / Website Speed & Leak Scorecard."*
     2. **Option 2: Free Trial / Sample / Do Step 1 For Free (Risk-Free Taste)**
        - *Hormozi Principle:* Do the first small piece of work for free (or pair a 10-minute brainstorm with a $5 coffee gift card on us) so there is zero risk.
        - *Example:* *"Scan to get a Free [Sample Deliverable / First Room / 10-Minute Quick-Fix Plan + $5 Coffee on Us] with zero obligation."*
     3. **Option 3: One Step of a Multi-Step Process (Insider Cheat Sheet / Calculator / Playbook)**
        - *Hormozi Principle:* Give away a valuable tool, checklist, or calculator that solves Step 1 instantly when they scan the QR code, making them want to hire you for Steps 2–5.
        - *Example:* *"Scan for our Free '[Desired Outcome] in [Timeframe]' Cost Calculator & 5-Point Checklist."*
3. **Present the 3 options in plain 3rd-grader language:**
   > *"Based on Alex Hormozi's Lead Magnet Framework, here are 3 'no-brainer' offers we can put on your mailer so people scan your QR code right away:*
   > *1. **The Free Diagnosis:** [Tailored Option 1]*
   > *2. **The Free Sample / Taste:** [Tailored Option 2]*
   > *3. **The Insider Tool / Checklist:** [Tailored Option 3]*
   > 
   > *Which one do you think your customers would love most? (Reply **1**, **2**, or **3**—or tell me your own idea!)"*
4. Save their chosen offer to use on the front design, handwritten note, Meta Ad, and Day-9 email.

---

### Step 5: Create the Design & Message (Approval)

**Goal:** Generate the mailer artwork and handwritten message using ThanksAI Studio and get explicit approval.

1. **Generate the Creative (using their chosen Hormozi Lead Magnet & website):**
   - Call `create-studio-design`:
     - `prompt`: Feature their chosen Hormozi Lead Magnet headline prominently, tailored to their target audience, with a clear call-to-action to scan the QR code.
     - `website_url`: Their website (auto-pulls brand colors and sets the QR code destination).
     - `mailer_type`: Chosen format from Step 3.
   - Call `create-message-template` with authentic handwriting:
     - Keep it short, warm, and conversational.
     - Include merge tags like `~first_name~`.
     - Pitch the chosen Lead Magnet naturally and invite them to scan the QR code or reply.
2. **Show the Preview:**
   - Call `preview-order` to render proof images and exact pricing per piece.
   - Present the proof links and text clearly:
     > *"Here is your front design draft and handwritten note featuring your new offer! Take a look:*
     > *- **Front Design:** [Image Preview Link]*
     > *- **Handwritten Note:** '[Message text]...'*
     > *Do you love this, or would you like to change any words or colors?"*

---

### Step 6: Choose How Many Touches & Turn On Automated Sending

**Goal:** Ask how many times they want to mail each lead, build out the multi-touch campaign sequence repeating the approved mailer, and then offer the 2 enhancements.

1. **Ask the Number of Touches (1 Question):**
   Once they approve the design, ask:
   > *"Awesome! Now, how many touches (mailers) would you like each lead to receive automatically?*
   > *1. **1 Touch** – Just send 1 card (Day 1)*
   > *2. **3 Touches** – Sent on **Day 1, Day 14, and Day 30***
   > *3. **6 Touches** – Sent on **Day 1, Day 14, Day 30, Day 45, Day 60, and Day 90***
   > *4. **12 Touches** – Sent **once a month for the next year** (12 monthly touches)*
   > 
   > *(Pro tip: Repeating the exact same postcard multiple times is a direct-mail superpower because people get busy—touch #3 or #4 is often when they finally scan!)*
   > *Which option do you want? (Reply **1**, **2**, **3**, or **4**!)"*

2. **Create the Lead Feed:**
   - Call `create-lead-feed` with:
     - `name`: `Cold Postal - [Topic Name] - [Location]`
     - `type`: `"b2c"` or `"b2b"`
     - `topic_ids`: Selected topic ID(s)
     - `filters`: Validated location filters from Step 2
     - `cadence`: `"daily"` or `"weekly"`
     - `max_leads_per_run`: Selected lead cap (e.g., 5 or 10)

3. **Build & Activate the Campaign Sequence (Repeating the Same Mailer):**
   Determine the touch days list based on the user's answer:
   - **Choice 1 (1 Touch):** `["1"]`
   - **Choice 2 (3 Touches):** `["1", "14", "30"]`
   - **Choice 3 (6 Touches):** `["1", "14", "30", "45", "60", "90"]`
   - **Choice 4 (12 Touches - Monthly for a Year):** `["1", "30", "60", "90", "120", "150", "180", "210", "240", "270", "300", "330"]`

   For **each day** in the chosen list:
   - Call `create-campaign`:
     - `mailing_list_id`: ID from the newly created Lead Feed mailing list
     - `image_template_id`: Approved front image template ID
     - `message_template_id`: Approved message template ID
     - `style`: `"days_after_added"`
     - `custom`: `"<day>"` *(e.g. `"1"`, `"14"`, `"30"`, etc.)*
   - Call `set-campaign-active` (`campaign_id`, `active: true`) on each created campaign so every touch in the sequence is live!

4. **Celebrate & Ask the Enhancement Question (CRITICAL STEP):**
   Say this clearly to the user:
   > *"🎉 High five! Your automated postal mail machine is officially LIVE with your **[1 / 3 / 6 / 12]-touch sequence**! Every time a new person in [Location] starts researching [Topic], Thanks.io will automatically print and mail your piece on schedule.*
   > 
   > *Now that the mail is running, **would you like to set up these 2 enhancements right now?***
   > *1. ✉️ **Send a follow-up email in 9 days** from your Gmail to see if they received your mail.*
   > *2. 📱 **Connect your Meta Ads account** so your prospects start seeing your brand and ads on Facebook & Instagram before the mail even hits their mailbox.*
   > 
   > *Would you like to set up **#1**, **#2**, or **both**? (Just reply 1, 2, or 'both'!)"*

---

### Step 7: Enhancement #1 — Guide Them Through Connecting Gmail API / MCP (Day-9 Follow-Up)

**Goal:** Walk the user 1 step at a time (like a 3rd grader) through connecting their Gmail account and automating the 9-day follow-up email.

#### Bite 1: Check or Connect Gmail
1. **First, check if a Gmail tool is already connected** in the current AI session (e.g., native Google Workspace connector, `gmail_send_email` via Zapier MCP, or Google MCP).
   - If already connected:
     > *"Awesome news! Your Gmail is already connected to me! Let's approve your Day-9 email message."* (Skip to Bite 2).
2. **If NOT connected yet, offer the two easiest ways in plain English:**
   > *"Let's hook up your Gmail so your Day-9 follow-up emails go out automatically! There are two super easy ways—which one sounds easier to you?*
   > *1. **The 2-Click Connector Way (No coding):** If you're using Claude, ChatGPT, or Cursor, click **Settings → Integrations / Connected Apps → Connect Gmail** (or connect free **Zapier MCP** at [mcp.zapier.com](https://mcp.zapier.com) and add the **Gmail: Send Email** tool).*
   > *2. **The 60-Second Google Key Way (Direct API):** We grab a quick Google App Password or OAuth token so I can send the emails directly from here for you.*
   > *Reply **1** or **2** and I'll walk you through it!"*

3. **If they pick Option 2 (Direct Gmail API / App Password), walk them through 1 step at a time:**
   - **Step 2A:** *"Click this link to open your Google App Passwords page: [myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords) (Log into the Gmail account you want to send from). Let me know when you have it open!"*
   - **Step 2B:** *"In the box that asks for an app name, type **Cold Postal** and click **Create**. Google will pop up a yellow box with a 16-letter code. Copy that code and paste it right here along with your Gmail address!"*
   - *(Alternative if using Gmail REST API OAuth token)*: Guide them to [developers.google.com/oauthplayground](https://developers.google.com/oauthplayground), select **Gmail API v1** -> `https://www.googleapis.com/auth/gmail.send`, click **Authorize APIs**, click **Exchange authorization code for tokens**, and paste the `Access token` / `Refresh token`.

#### Bite 2: Approve the Day-9 Email Copy
Show them the email and wait for a thumbs up:
> *"Why Day 9? Because USPS First Class mail takes 5 to 7 business days to arrive. On Day 9, your postcard is sitting right on their kitchen counter or desk—so this email gets crazy-high replies!*
> 
> *Here's what we'll send:*
> **Subject:** `Did you get my note in the mail?`
> **Body:**
> ```text
> Hey {{first_name}},
> 
> I dropped a quick handwritten note in the mail to your address earlier this week about [Topic / Offer].
> 
> Just wanted to make sure it reached you safely!
> 
> If you haven't seen it yet, here's a quick link to what I was talking about: [Website Link]
> 
> Best,
> [Your Name]
> ```
> *Do you like this, or want to change any words?"*

#### Bite 3: Send a Live Test & Turn On the 9-Day Schedule
1. **Send a Test Email First:**
   - Send a live test email to the user's own email address using the connected Gmail MCP tool (`gmail_send_email`), Gmail REST API (`POST https://gmail.googleapis.com/gmail/v1/users/me/messages/send`), or SMTP so they see it work immediately!
2. **Turn on the 9-Day Automation:**
   - **If the AI supports Scheduled Tasks / Cron Automations:** Create a recurring daily task that calls Thanks.io `list-recipients` on `mailing_list_id`, finds any lead whose `created_at` date is 9 days ago and has an `email` address, and sends them the personalized email.
   - **If using Thanks.io Webhooks + Zapier/Make:** Call `create-webhook` on Thanks.io MCP to fire every new lead to their webhook URL, followed by a **9-Day Delay** and **Gmail: Send Email**.
3. **Confirm in 3rd-Grader Terms:**
   > *"🎉 Boom! Your Day-9 Gmail follow-up is wired up! Every lead who gets mailed will automatically receive your personal check-in email 9 days later."*

---

### Step 8: Enhancement #2 — Guide Them Through Connecting Meta Ads API / MCP (Pre-Mail Echo Ads)

**Goal:** Walk the user 1 step at a time (like a 3rd grader) through connecting their Meta Ads API, pushing their Thanks.io leads into a Custom Audience automatically on Day 0, and launching a matching "Echo Ad" so prospects see their brand *before* the mail even hits.

#### Bite 1: Explain Why Pre-Mail Ads Work So Well
> *"Let's connect your Meta Ads account! Here is why this works like crazy: Your physical card takes 5 to 7 days to travel through the mail. By pushing your new leads into Meta Ads on **Day 0**, they start seeing your brand, colors, and postcard image on Facebook & Instagram **days before they even open their mailbox!**"*

#### Bite 2: Get the Ad Account ID (1 Step at a Time)
1. **First, check if a Meta Ads MCP is already connected.** If not, walk them through getting their **Ad Account ID**:
   > *"Step 1 of 2 for Meta: Let's grab your **Ad Account ID**.*
   > *1. Open your [Meta Ads Manager](https://adsmanager.facebook.com).*
   > *2. Look at the top-left corner (or look at the web address bar at the top where it says `act=123456789`).*
   > *3. Copy that number and paste it right here!"*

#### Bite 3: Get the Meta API Access Token (1 Step at a Time)
Once they give you the Ad Account ID:
> *"Awesome! Step 2 of 2: Now let's grab a quick connection key (Access Token) so I can create your Custom Audience and matching ad automatically:*
> *1. Click this link to open Meta's official Token page: [developers.facebook.com/tools/explorer](https://developers.facebook.com/tools/explorer).*
> *2. On the right side under **Permissions**, click the dropdown and add two things: `ads_management` and `ads_read` (plus `pages_read_engagement`).*
> *3. Click the blue **Generate Access Token** button, approve the pop-up, and paste the token code right here!*
> *(Tip: If you prefer a permanent token, you can also grab one in **Business Settings → Users → System Users → Generate Token**)."*

#### Bite 4: Pick Which Facebook Page Runs the Ad
Once they paste the token:
- Call `GET https://graph.facebook.com/v21.0/me/accounts?access_token=<TOKEN>` to list their Facebook Pages automatically!
- Present their pages as a simple 1, 2, 3 list:
  > *"I connected to your Meta account! Which of your Facebook Pages should show the ad?*
  > *1. [Page Name 1]*
  > *2. [Page Name 2]*
  > *(Just reply 1 or 2!)"*

#### Bite 5: AI Builds the Custom Audience, Pushes the Leads & Creates the Echo Ad Automatically
Once they pick their page, the AI executes these 3 API calls automatically:

1. **Create the Custom Audience via Meta Marketing API:**
   - `POST https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/customaudiences`
   - Body:
     ```json
     {
       "name": "Thanks.io Cold Postal Leads - [Topic Name]",
       "subtype": "CUSTOM",
       "description": "In-market leads actively being mailed via Thanks.io Lead Feed",
       "customer_file_source": "USER_PROVIDED_ONLY",
       "access_token": "<TOKEN>"
     }
     ```
2. **Hash & Push the Thanks.io Leads into the Custom Audience (Day 0 Pre-Mail Sync):**
   - Call `list-recipients` on Thanks.io MCP for `mailing_list_id`.
   - Format and SHA-256 hash each recipient's `FN` (first name), `LN` (last name), `EMAIL`, `PHONE`, `CT` (city), `ST` (state), `ZIP`, and `COUNTRY` (`us`) per Meta's required customer list format.
   - `POST https://graph.facebook.com/v21.0/<CUSTOM_AUDIENCE_ID>/users` with the `payload: { schema: ["FN","LN","EMAIL","PHONE","CT","ST","ZIP","COUNTRY"], data: [...] }`.
   - Set up an automated daily sync (or Thanks.io webhook via `create-webhook`) so every new daily/weekly lead from the Lead Feed is pushed into this Meta Custom Audience the instant they are added—**days before their postcard hits their mailbox!**
3. **Create the Matching "Echo Ad" Campaign (Paused for Approval):**
   - Upload the exact front image URL from the Thanks.io design (`POST /act_<AD_ACCOUNT_ID>/adimages`).
   - Create the Campaign (`POST /act_<AD_ACCOUNT_ID>/campaigns` with `name: "Cold Postal Echo - [Topic Name]"`, `objective: "OUTCOME_AWARENESS"` or `"OUTCOME_TRAFFIC"`, `status: "PAUSED"`, `special_ad_categories: []` — or `["HOUSING"]` / `["CREDIT"]` if real estate/lending).
   - Create the Ad Set (`POST /act_<AD_ACCOUNT_ID>/adsets`) targeting `<CUSTOM_AUDIENCE_ID>` at a gentle **$5/day budget** (`daily_budget: 500`).
   - Create the Ad Creative & Ad (`POST /act_<AD_ACCOUNT_ID>/adcreatives` & `/ads`) using:
     - **Image:** The exact same artwork printed on their Thanks.io mailer.
     - **Headline:** *(Identical headline from the mailer)*
     - **Primary Text:** *"Keep an eye on your mailbox this week! 📬 We just dropped a personal note in the mail to your address about [Topic]. Want to check it out before the mailman arrives? Tap below!"*
     - **Destination URL:** Their website link.
4. **Show Summary & Ask to Flip It On:**
   > *"🎉 Your Meta Ads Echo machine is built!*
   > *- **Custom Audience Created:** `Thanks.io Cold Postal Leads - [Topic Name]` (leads loaded & syncing!)*
   > *- **Matching Ad Created:** Uses your exact postcard artwork & headline at $5/day.*
   > *- **Current Status:** PAUSED (so nothing is charged without your say-so).*
   > 
   > *Would you like me to flip your Meta Ad campaign **ON** right now so your prospects start seeing your brand before the mail hits?"*
   - If the user says **Yes**, call `POST https://graph.facebook.com/v21.0/<CAMPAIGN_ID>` with `status: "ACTIVE"`.

---

### Final Celebration Wrap-Up

Once they finish setting up their chosen enhancements:
> *"🚀 You now have a full, agency-grade **Cold Postal Marketing Funnel** running on autopilot:*
> *1. 📬 **Automated Physical Mail:** Thanks.io finds people shopping for [Topic] in [Location] and mails your handwritten piece automatically.*
> *2. 📱 **Pre-Mail Meta Ads Echo:** Those exact people see your matching ad on Facebook & Instagram before the mailman even reaches their street.*
> *3. ✉️ **Day-9 Gmail Closer:** 9 days later, your personal Gmail follows up asking if they got your note.*
> 
> *You can ask me anytime to check how many leads have been added, see your QR code scans, or adjust your daily caps!"*

---

## API & MCP Reference Table

| System | Tool / Endpoint | Step | What it Does |
|---|---|---|---|
| **Thanks.io MCP** | `get-account-info` | Step 0 | Verifies connection and checks MCP permissions. |
| **Thanks.io MCP** | `search-lead-topics` | Step 1 | Finds B2C/B2B buyer intent topics. |
| **Thanks.io MCP** | `suggest-lead-locations` | Step 2 | Resolves cities, counties, states, and ZIPs to exact filter fields. |
| **Thanks.io MCP** | `preview-targeted-leads` | Step 2 | Starts a free count of matching in-market leads. |
| **Thanks.io MCP** | `get-targeted-leads-preview`| Step 2 | Returns total available leads and sample records. |
| **Thanks.io MCP** | `create-studio-design` | Step 5 | Generates branded mailer artwork via ThanksAI Studio. |
| **Thanks.io MCP** | `create-message-template` | Step 5 | Saves the handwritten message template. |
| **Thanks.io MCP** | `create-image-template` | Step 5 | Saves the front image template. |
| **Thanks.io MCP** | `preview-order` | Step 5 | Renders front/back proof images and exact per-piece cost. |
| **Thanks.io MCP** | `create-lead-feed` | Step 6 | Starts the recurring daily/weekly lead feed into a mailing list. |
| **Thanks.io MCP** | `create-campaign` | Step 6 | Creates one `days_after_added` campaign per touch in the chosen sequence (1, 3, 6, or 12 touches). |
| **Thanks.io MCP** | `set-campaign-active` | Step 6 | Activates each campaign in the touch sequence so mail sends automatically. |
| **Thanks.io MCP** | `list-recipients` | Steps 7 & 8 | Fetches the leads added to the mailing list for Gmail & Meta sync. |
| **Thanks.io MCP** | `create-webhook` | Steps 7 & 8 | Pushes new leads/events in real time to external automations. |
| **Gmail API / MCP**| `gmail_send_email` / `POST /gmail/v1/users/me/messages/send` | Step 7 | Sends the Day-9 personal follow-up email from the user's Gmail. |
| **Meta Graph API** | `POST /v21.0/act_<ID>/customaudiences` | Step 8 | Creates the Custom Audience in the user's Meta Ads account. |
| **Meta Graph API** | `POST /v21.0/<AUDIENCE_ID>/users` | Step 8 | Pushes SHA-256 hashed Thanks.io leads into Meta before mail hits. |
| **Meta Graph API** | `POST /v21.0/act_<ID>/campaigns`, `/adsets`, `/ads` | Step 8 | Creates and activates the matching Echo Ad using the mailer creative. |
