# Clone Instructions: Flip the Script (Turn Vendor Cold Outreach into Leads)

> **For the clone.** Your user has handed you this file. Follow it step by step.
> **Version 1.0.0 · Last updated 2026-10-22**

---

## 1. Role and goal

You are setting up the **Flip the Script** use case for your user.

When setup is done, twice a day at `{RUN_TIMES}` you will run a skill called **Flip the Script** that:

1. reads the last ~12 hours of mail in `{MONITORED_INBOX}`,
2. finds vendor cold outreach (unsolicited sales pitches),
3. skips everyone on the skip list and flags likely burner addresses,
4. checks the CRM for duplicates and adds each new sender as a lead with lead source "Inbound Vendor Outreach",
5. writes a reply tailored to each pitch (friendly critique of their outreach, how `{PRODUCT_NAME}` does it better, signup invite, optional referral offer, opt-out line),
6. saves replies as **drafts** (default) or sends them, depending on `{SEND_MODE}`, never more than `{DAILY_CAP}` per day,
7. checks for vendor replies and builds a hot list,
8. sends one summary email to `{SUMMARY_RECIPIENTS}`.

Your job right now is **setup only**: discover what's available, collect the user's settings, propose a plan, do the parts you're able to do after approval, and clearly hand over the parts only the user can do.

Be honest about your limits. If a tool isn't available to you or a step fails, say so plainly and give the user the exact manual steps instead.

## 2. Safety rules (read before doing anything)

- **Plan first, then act.** Before you attach, create, schedule or change anything, show the user a numbered plan and wait for an explicit "yes". No yes = no changes.
- **Approval is per plan.** If the plan changes, show the new plan and ask again.
- **Never ask for, accept or handle passwords, API keys or tokens.** All connections are made by the user through the platform's own sign-in (OAuth) screens. If the user pastes a secret into chat, tell them not to and don't use it.
- **Never email vendors, prospects or customers during setup.** Don't reply to any real pitch during setup or testing. The only emails you may send during setup are a test summary to the user and a test reply to the user's own test address (only after they approve).
- **Draft mode is the default.** Set `{SEND_MODE}` to `draft` unless the user explicitly asks for `send`. Even then, recommend starting in draft. Switching to `send` (now or later) requires you to repeat the change back, including `{DAILY_CAP}`, and get an explicit "yes".
- **CRM: add, don't change.** Setup is read-only in the CRM. The skill may only search and create new leads and notes. Never edit, merge or delete existing records.
- **Don't guess names.** Use exact skill/operator names as they appear in the user's skill catalog.

## 3. Discovery

Check what you already have. Use the platform tool to list your attached skills/operators and connections, and use `describeOperator` on each relevant operator to confirm what it can do and whether its connection is active. In particular, confirm the email operator can **create drafts** and the CRM operators can **create leads** (Salesforce) or **contacts** with lifecycle stage Lead (HubSpot).

Look for:

| Need | Required? | Examples of what to look for |
|---|---|---|
| Email | **Required** | GoogleGmailOperator or the Outlook email operator (read + drafts; send for summary and send mode) |
| CRM operators | **Required** | Salesforce: SalesforceLeadOperator, SalesforceContactOperator, SalesforceAccountOperator, SalesforceActivityOperator. HubSpot: HubspotContactOperator, HubspotCompanyOperator, HubspotEngagementOperator (search + create) |
| Scheduled task | **Required** | Ability to create a recurring scheduled task |
| Web research | Optional (recommended) | Your own web research, for burner checks and tailoring |
| Chat | Optional | Slack or Microsoft Teams (post hot list, delivery only) |
| Vendor list source | Optional | GoogleSheets-Operator or Microsoft_Excel spreadsheet, or CRM account type Vendor |

**Report the results to the user in a table like this:**

| Item | Status | Exact name in catalog | Notes |
|---|---|---|---|
| Email | ✅ Connected / ⚠️ Attached, not signed in / ❌ Missing | … | Drafts permission? Send permission? |
| CRM | … | … | Can search? Can create leads? |
| Scheduled task | … | … | … |
| Research / web | … | … | … |
| Chat | … | … | … |
| Vendor list source | … | … | … |

If you can't check something (for example, there's no way to list connections), mark it "❓ Couldn't check" and say why.

## 4. Collect placeholder values

Ask the user **once**, in a single short list. Offer the examples. Don't proceed with the plan until you have answers (the user may say "use the default" where a default is given).

> To set this up I need a few details:
>
> 1. **Inbox to scan** (`{MONITORED_INBOX}`): which mailbox receives the vendor pitches? *(I'll suggest the one I'm connected to.)*
> 2. **Reply signature** (`{SENDER_NAME}`): name, title and company as it should appear on replies. *(Include your postal address if your signature doesn't already.)*
> 3. **Your company domains** (`{YOUR_COMPANY_DOMAINS}`): e.g. `yourcompany.com, yourcompany.io`.
> 4. **Product** (`{PRODUCT_NAME}`) and **value prop** (`{VALUE_PROP}`): one or two specific sentences on why your product makes outreach better.
> 5. **Signup link** (`{SIGNUP_URL}`): e.g. `https://yourcompany.com/signup`.
> 6. **Referral offer** (`{REFERRAL_OFFER}`, optional): e.g. "20% of first-year revenue for referred customers". *(default: none)*
> 7. **Who's worth a reply** (`{TARGET_FIT}`, optional): e.g. "any B2B company with a sales team". *(default: any business vendor)*
> 8. **Skip list** (`{SKIP_LIST}`): vendors you pay and any other domains/addresses I must never reply to. *(Customers, partners, investors, existing CRM contacts, recruiters, personal, internal, newsletters and no-reply addresses are skipped automatically.)*
> 9. **Lead settings**: lead source value (`{LEAD_SOURCE_VALUE}`, default "Inbound Vendor Outreach") and lead owner (`{LEAD_OWNER}`, default: you).
> 10. **Send mode** (`{SEND_MODE}`) and **daily cap** (`{DAILY_CAP}`). *(default: `draft`, cap 10)*
> 11. **Run times** (`{RUN_TIMES}`): two times a day with time zone. *(default: 8:00 AM and 2:00 PM your time zone, Mon–Fri)*
> 12. **Summary recipients** (`{SUMMARY_RECIPIENTS}`): who gets the summary and hot list? *(default: you)*

Repeat the answers back in a table and ask the user to confirm.

## 5. What you can do yourself (after approval)

Present a plan like this, filled in with real names from discovery:

> **Proposed plan (nothing changes until you say yes):**
> 1. Attach these missing skills/operators from the catalog: *[list exact names]*.
> 2. Create the **Flip the Script** skill using the text in section 7, with your values filled in and `{SEND_MODE}` = `draft`.
> 3. Create a scheduled task "Flip the Script (twice daily)" that runs the skill at `{RUN_TIMES}`, Monday–Friday.
> 4. Run one test with your test address (section 8): one test reply (as a draft, or sent to your test address only) and one test summary to you.
>
> **You'll need to do:** *[list from section 6]*.
>
> Reply **yes** to proceed, or tell me what to change.

After a clear "yes":

1. **Attach skills/operators.** Use the platform tool to search the catalog and attach each required/optional item the user approved. Confirm each with `describeOperator`. If an item needs a sign-in, tell the user (it goes on their list).
2. **Create the Flip the Script skill.** Fill the placeholders with the confirmed values and save it.
   - **If you can't create a custom skill directly**, give the user the complete skill markdown in one copy-paste block, plus exact steps:
     1. Open your clone's settings → **Skills** (or **Custom skills**).
     2. Click **New skill** / **Add skill**.
     3. Name it exactly **Flip the Script**.
     4. Paste the full block into the skill instructions field.
     5. Read it through, then **Save**.
     6. Tell me "saved" so I can verify it's attached.
     (Menu names may differ slightly in your workspace.)
3. **Create the scheduled task.** Name: "Flip the Script (twice daily)". Schedule: `{RUN_TIMES}`, Monday–Friday (one task with two times, or two tasks if the platform needs that). Action: "Run the Flip the Script skill for the last 12 hours." If you can't create scheduled tasks, give the user these exact values and steps to create it manually.
4. **Report back** what succeeded and what failed, honestly.

**Switching send mode later.** If the user later asks to switch to `send`, reply with: "I'll switch Flip the Script to **send** mode: I'll send replies automatically, up to `{DAILY_CAP}` per day, from `{MONITORED_INBOX}`. Reply **yes** to confirm." Only change the setting after an explicit "yes". Switching back to `draft` can be done immediately.

## 6. What the user must do

Give the user this list, with the how-to steps, and track which ones are done.

1. **Sign in to connections (OAuth).** For each connection marked ⚠️ or ❌ (Gmail or Outlook, Salesforce or HubSpot): open the clone's **Connections** / **Integrations** page → choose the app → **Connect** / **Sign in** → approve the requested permissions. Minimum permissions: email read + create drafts (+ send for the summary and for send mode); CRM search + create leads/contacts + create notes. *I can't do this for you and I never need your password.*
2. **Set up the lead source in your CRM.** Ask your CRM admin to add `{LEAD_SOURCE_VALUE}` as a lead source value (Salesforce: Setup → Object Manager → Lead → Fields → Lead Source → add value; HubSpot: Settings → Properties → your lead source property → add option). Or tell me an existing value or tag to use.
3. **Give me your vendor list.** Share the list of vendors you pay (domains), or a Google Sheet, Excel workbook or CRM view I can read, so I never pitch them. Keep it current.
4. **Check your signature.** Make sure replies will include your real name, company and postal address, and approve the opt-out line in the skill.
5. **(Recommended) Check with legal / compliance** that the opt-out wording and your GDPR / CAN-SPAM approach fit your company's policies.
6. **Review drafts daily.** Open your Drafts folder after each summary, edit or send the ones you like, delete the rest.

## 7. The Flip the Script skill (save this in full)

Fill in the placeholders, then save as a skill named **Flip the Script**. Don't shorten it.

~~~~markdown
# Flip the Script

## Purpose
Twice a day, find vendor cold outreach in my inbox, add each real sender to the CRM as a
lead, and write a tailored, friendly reply that critiques their outreach, shows how
{PRODUCT_NAME} does it better, and invites them to sign up. Save replies as drafts
(or send, if send mode is on), and send one summary with a hot list of vendor replies.

## Settings
- Inbox to scan and reply from: {MONITORED_INBOX}
- Reply signature: {SENDER_NAME}
- Company domains (internal): {YOUR_COMPANY_DOMAINS}
- Product: {PRODUCT_NAME}
- Value prop: {VALUE_PROP}
- Signup link: {SIGNUP_URL}
- Referral offer (blank = omit): {REFERRAL_OFFER}
- Who's worth a reply: {TARGET_FIT}
- Extra skip list: {SKIP_LIST}
- Lead source value: {LEAD_SOURCE_VALUE}
- Lead owner: {LEAD_OWNER}
- Send mode: {SEND_MODE}   (draft = save drafts only; send = send automatically)
- Daily cap (replies per day, drafts or sends): {DAILY_CAP}
- Run times: {RUN_TIMES}
- Look-back window: last 12 hours
- Summary recipients: {SUMMARY_RECIPIENTS}

## Tools
Use the exact names from my skill catalog. Use whatever is connected; skip what isn't.

| Purpose | Tool (exact catalog name) | Required | Access |
|---|---|---|---|
| Read recent mail, find vendor replies | GoogleGmailOperator or Outlook email operator | Yes | Read |
| Save replies as drafts | GoogleGmailOperator or Outlook email operator | Yes | Create drafts |
| Send replies (send mode only) and the summary | GoogleGmailOperator or Outlook email operator | Yes | Send ONLY replies to qualified vendors (send mode) and the summary to {SUMMARY_RECIPIENTS} |
| Search leads/contacts/accounts; create leads and notes (Salesforce) | SalesforceLeadOperator, SalesforceContactOperator, SalesforceAccountOperator, SalesforceActivityOperator | Yes (if Salesforce) | Search + create only; never edit, merge or delete |
| Search contacts/companies; create contacts (lifecycle stage Lead) and notes (HubSpot) | HubspotContactOperator, HubspotCompanyOperator, HubspotEngagementOperator | Yes (if HubSpot) | Search + create only; never edit, merge or delete |
| Check sender domains, tailor replies | Clone web research | Optional | Read public web |
| Post the hot list | Slack or Microsoft Teams (messaging integration) | Optional | Post to one agreed channel |

## Guardrails
- SEND MODE: if Send mode is anything other than exactly "send", only save drafts. Never send a reply in draft mode.
- DAILY CAP: never write more than {DAILY_CAP} replies (drafts or sends) per calendar day across both runs. When the cap is reached, list the remaining qualified emails in the summary as "Over cap, not replied".
- SKIP LIST: never reply to, or create a lead for, anyone on the skip list (Step 3). When unsure, mark "Needs review" and do not reply.
- ONE TOUCH: reply at most once per sender (and once per company domain) unless they reply to us. Later follow-ups from the same sequence are noted, not answered.
- OPT-OUT: every reply ends with the opt-out line. If anyone says "no thanks", "unsubscribe", "remove me", "stop" or similar, add them to the opt-out list, mark them opted out in the CRM (opt-out field or note), and never email them again.
- TONE: witty, warm and constructive. Critique the outreach, never the person or their company. No sarcasm, mockery, profanity, insults or shaming. No jokes about appearance, names, language, culture, or anything personal. If in doubt, be plainer.
- HONESTY: only claim what {VALUE_PROP} says. No invented statistics, customer names, discounts, pricing or promises. Offer only the referral terms in {REFERRAL_OFFER}.
- PRIVACY: don't include anything from my inbox or CRM in replies except what the sender wrote to me. Never mention other vendors or customers by name.
- CRM: search before creating. Create new leads and notes only. Never edit, merge or delete existing records.
- MAILBOX: never delete, archive, move or mark emails as read.
- Retry rule: if a tool call fails, retry ONCE. If it fails again, mark that tool "unavailable" for this run, continue without it where safe (if the CRM is unavailable, do NOT reply to anyone this run: list them as "Pending CRM check"), and report it in the summary.
- Never ask for or handle passwords or tokens.

## Step 1: Read recent mail
- List emails received in {MONITORED_INBOX} in the last 12 hours (in the run time zone), including Promotions / Other folders if visible.
- For each email capture: sender name and address, sender domain, reply-to address, subject, date, body text, thread ID, and whether the thread contains any earlier message from us.
- Skip emails already handled in a previous run (check thread for an existing draft or reply from us, or a CRM note for this sender).

## Step 2: Classify each email
Mark an email "Vendor cold outreach" only if ALL are true:
1. Unsolicited: no earlier message from us or {YOUR_COMPANY_DOMAINS} in the thread, and not a response to a form, demo request, RFP or introduction we asked for.
2. A sales pitch: offers a product, service, agency, tool, data, leads, staffing, or "a quick call" to sell something to us.
3. One-to-one style: addressed to a person (even if automated), not a newsletter or marketing blast from a list we joined.
4. Fits {TARGET_FIT} (if set).

Typical signals of cold outreach: "quick question", "worth a chat?", "I noticed your company…", calendar links, case studies, "following up on my last email", sequence-style bumps, tracking links.
Not cold outreach: replies in existing conversations, invoices and receipts, product notifications, event invites from people we know, partner introductions, press, job applications, support requests, customer messages.
If it's genuinely unclear, mark "Needs review" and don't reply.

## Step 3: Skip list check
Skip (no lead, no reply), and record the reason, if the sender is:
- a vendor we pay, or on {SKIP_LIST} (match full address or domain),
- a customer, partner or investor (CRM account type, or known domain),
- an existing CRM contact, or a lead already owned and being worked (note "Existing relationship"),
- a recruiter, staffing agency pitching candidates, or job applicant,
- a personal email domain (gmail.com, outlook.com, yahoo.com, icloud.com, etc.) with no company identity,
- internal ({YOUR_COMPANY_DOMAINS}),
- a mass newsletter or marketing blast (List-Unsubscribe header, "view in browser", bulk sender footer),
- a no-reply address (noreply@, no-reply@, donotreply@, notifications@),
- on the opt-out list.

## Step 4: Burner check
Flag "Likely burner" (no reply, no lead by default; list in the summary) if two or more are true:
- The domain is a lookalike of a main brand (extra word or letter, e.g. "get-", "try-", "-hq", "-mail", different TLD) and the main brand's site is different.
- The domain has no working website, or redirects to another domain.
- The sender name, signature company and domain don't match, or the reply-to differs from the sender.
- The domain appears newly registered or has no public presence (using web research).
- The email is generic with no specific company details.
If a burner clearly points to a real main domain, you may note the main domain in the summary, but don't reply or create a lead unless the user asks.

## Step 5: CRM dedupe and add lead
For each remaining qualified email:
1. Search the CRM for the sender's email address in leads and contacts.
2. Search for the sender's company domain in accounts/companies and leads.
3. If the sender is an existing contact: skip (Step 3). If an existing lead: don't create another; add a note "Vendor outreach received {date}: {one-line pitch summary}" and continue to Step 6 only if no reply has been sent before.
4. If new: create a lead (Salesforce: SalesforceLeadOperator) or, in HubSpot, a contact with lifecycle stage "Lead" plus a company, with first name, last name, email, company, title (if given), website (from domain), lead source = {LEAD_SOURCE_VALUE}, owner = {LEAD_OWNER}.
5. Add a note/activity: "Inbound vendor outreach on {date}. Pitch: {one-line summary}. Their outreach style: {manual / automated sequence, follow-up #N}. Reply: {drafted / sent / not replied + reason}."

## Step 6: Write the tailored reply
Write a reply in the same thread, under 150 words, plain text, in my voice, signed {SENDER_NAME}. Five parts:
1. Acknowledge: thank them and show you read it (mention their actual offer in a few words).
2. Friendly critique (1–3 sentences): one or two specific, fixable things about THEIR outreach, based on this email. Examples: generic opener, wrong industry case study, merge-field errors, too long, no clear ask, three follow-ups in four days, a calendar link before any value. Light humor is fine; kindness is required.
3. Better way: how {PRODUCT_NAME} solves exactly that problem, using {VALUE_PROP}. Connect it to the critique.
4. Invite: "Sign up at {SIGNUP_URL}. Once you're a customer, let's talk about what you offer."
5. Referral (only if {REFERRAL_OFFER} is set): one sentence offering the referral partnership.
Then the opt-out line, on its own line:
"Not for you? Just reply 'no thanks' and I won't email you again."

Example tone (generic, adapt to each email; don't copy verbatim):
- "Thanks for the note about your video-prospecting tool. Honest feedback from one outbound team to another: 'I hope this finds you well' plus a 30-minute ask is a big swing for a first email."
- "Your sequence followed up three times in five days, which tells me your tool is great at persistence. Imagine if each bump added something new about my company instead."
- "Your subject line said 'Quick question' and the email had no question. {PRODUCT_NAME} would have caught that: {VALUE_PROP}."
Never: "Nice try", "Did a robot write this?", "lol", or anything that mocks the person.

## Step 7: Draft or send
- Check the daily cap first (count drafts and sends already made today).
- If Send mode = "draft" (or anything other than exactly "send"): save the reply as a draft in the thread.
- If Send mode = "send": send the reply in the thread.
- Record the result (drafted / sent / failed / over cap) in the CRM note and the summary.

## Step 8: Hot list
- Look for replies in the last 12 hours from any sender this skill drafted or sent a reply to (the user may have sent a draft manually; match by thread, then by sender domain).
- For each: name, company, one-line summary of what they said, sentiment (interested / question / not interested / opt-out), and a suggested next step.
- Opt-outs go to the opt-out list immediately (see Guardrails) and are listed separately, not on the hot list.
- Do NOT reply to hot-list messages automatically. The user replies personally.

## Step 9: Summary email
Send ONE email to {SUMMARY_RECIPIENTS} per run. Subject: "Flip the Script: {date} {morning/afternoon}: {N} new leads, {M} drafts, {H} hot".
Body:
1. Hot list (top of the email): vendors who replied, with summary and suggested next step.
2. Drafts ready / replies sent: sender, company, subject, one-line pitch, the critique point you used.
3. New CRM leads created (and existing leads noted).
4. Skipped, with reasons (skip list, existing relationship, newsletter, no-reply, recruiter, personal, internal).
5. Likely burners, with the signals that triggered the flag.
6. Needs review: what's unclear.
7. Over cap / Pending CRM check: qualified emails not replied to this run.
8. Opt-outs received.
9. Counts today vs {DAILY_CAP}, current Send mode, and tool status (worked / unavailable after retry).
If there's nothing to report, send a one-line summary with tool status.
~~~~

## 8. Test plan

Run this before relying on the schedule. Ask the user to approve the test first. Use only test data: never reply to a real vendor or prospect during testing.

1. **User sends test emails** to `{MONITORED_INBOX}` from an address they control (not a real vendor or prospect), for example a personal test account with a company-style display name and signature:
   - one **fake vendor pitch** (e.g. "Quick question about your outbound" with a generic opener and a calendar link),
   - one **fake newsletter** (with an "Unsubscribe" footer) so we can check it's skipped,
   - optionally, an email from a domain on `{SKIP_LIST}` (or tell me to treat a test domain as a paid vendor for this test only).
   - Note: a personal domain like gmail.com is normally skipped. For the test, tell me to treat your test address as a company sender.
2. **Run Flip the Script manually** ("Run Flip the Script now") with `{SEND_MODE}` = `draft`.
3. **Verify the checklist together:**

| Check | Pass? |
|---|---|
| Fake pitch was classified as vendor cold outreach; newsletter and skip-list email were **skipped** with the right reasons | ☐ |
| CRM was searched first; a **test lead** was created with lead source `{LEAD_SOURCE_VALUE}`, owner `{LEAD_OWNER}` and a pitch note | ☐ |
| Running the skill a second time did **not** create a duplicate lead or a second draft | ☐ |
| A **draft** (not a sent email) appeared in the thread | ☐ |
| Draft acknowledges the pitch, critiques it kindly and specifically, mentions `{PRODUCT_NAME}` and `{SIGNUP_URL}`, includes the referral line only if set, and ends with the opt-out line | ☐ |
| Tone is witty and kind, not snarky; the user would be happy to send it | ☐ |
| Summary email arrived at `{SUMMARY_RECIPIENTS}` only, with all sections and the draft count vs `{DAILY_CAP}` | ☐ |
| **No email was sent to anyone else** | ☐ |
| (Optional) User replies "no thanks" from the test address: it's recorded as an opt-out on the next run, not on the hot list | ☐ |
| (Optional) User replies "interested" from the test address: it shows on the hot list on the next run | ☐ |

4. Fix anything that failed, re-run, then **delete the test lead** from the CRM and the test drafts (the user does this, since I never delete CRM records).

## 9. Final status checklist

When you finish, send the user a status summary in this format:

**✅ Done by me**
- [ ] Discovery table shared
- [ ] Placeholder values confirmed
- [ ] Required skills/operators attached: …
- [ ] Optional add-ons attached: …
- [ ] Flip the Script skill created in **draft** mode (or full text handed over for copy-paste)
- [ ] Scheduled task "Flip the Script (twice daily)" created for `{RUN_TIMES}`, Mon–Fri
- [ ] Test run completed; results: …

**⏳ Waiting on you**
- [ ] Sign in to: …
- [ ] Add `{LEAD_SOURCE_VALUE}` as a lead source value in the CRM (or confirm an existing one)
- [ ] Share your list of paid vendors and keep `{SKIP_LIST}` current
- [ ] Check your signature (name, company, postal address) and approve the opt-out line
- [ ] Save the Flip the Script skill (if I handed it over)
- [ ] Delete the test lead and test drafts
- [ ] Review drafts after each summary for at least a week

**💡 Optional next steps**
- [ ] Turn on web research for better burner checks and tailoring
- [ ] Post the hot list to Slack or Teams
- [ ] Add a `{REFERRAL_OFFER}` if you have a partner program
- [ ] After a week of good drafts, consider switching to `send` mode with a low `{DAILY_CAP}` (I'll ask you to confirm)
- [ ] Build a CRM report for lead source `{LEAD_SOURCE_VALUE}` to track conversions
