# Cold email outreach Human Guide

## What This Is For
Run end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using. It gives the agent a clearer input/output frame for email marketing: what context to ask for, what decisions to make, and what usable artifact to return.

Use this as a human-readable version of the Cold email outreach agent skill. It is meant for marketers, operators, founders, and other non-coders who want the workflow without reading agent-specific implementation instructions.

## When To Use This
- Use this when you need a repeatable process for cold email outreach.
- Use this when the task needs judgment, examples, constraints, or a clear output format rather than a one-off prompt.
- Use this when you want to hand an AI assistant enough context to produce a usable marketing artifact.

## When Not To Use This
- Do not use this when you only need a quick factual answer.
- Do not use this when the work depends on private data you cannot share with the assistant.
- Do not use this as a replacement for legal, compliance, financial, or medical review.

## What You Need Before Starting
- The goal or business outcome you want.
- The audience, customer segment, or market context.
- Any source material the assistant should respect, such as notes, briefs, examples, URLs, or brand guidance.
- Constraints such as tone, length, channel, deadline, region, or approval requirements.
- A clear definition of what a good final answer should look like.

## Step-By-Step Workflow
1. State the job clearly: "Use the Cold email outreach guide to help me with..."
2. Add context: audience, goal, offer, channel, source material, and constraints.
3. Ask the assistant to identify missing inputs before producing the final output.
4. Have the assistant follow the skill-specific guidance below.
5. Review the result against the final checklist and ask for revisions where needed.

## Skill-Specific Guidance
- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **Gmail integration** connected at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps) — supplies the sending account.
- **Apollo integration** connected — supplies prospect search and email enrichment.
- **Firecrawl** (bundled) — for company-page signals.
- **Optional: LinkedIn scraper** (bundled, runs through Apify) — for richer per-prospect personalization.
- **Personalization must connect to the problem.** If the personalized opener could be deleted and the email still makes sense, it isn't doing any work. The opener should naturally bridge into *why you're emailing*.
- **One ask per email, one CTA.** Interest-based (`Worth exploring?`) beats meeting requests on cold touch 1.
- **Honor unsubscribes immediately.** Apply an `unsubscribed` label on any "remove me / not interested" reply and never re-target that address from the same Hyper workspace.
- **ICP** — Role(s), industry, company size, tech stack, geography. Concrete: "Heads of Growth at US-based pre-seed-to-Series-A B2B SaaS, 10–50 employees, using HubSpot."
- **The ask** — What does a "yes" look like? (15-min call, async reply, demo, intro to someone else.)
- **Value prop in one sentence** — "We help X do Y so they can Z."
- **Proof point** — One specific result: "We helped Notion cut their CAC by 31% in 90 days." (Made up examples are worse than no example — get a real one.)

## Decision Points And Nuance
The original skill emphasizes: Out of scope — defer to other skills, Requirements, Tool surface, Critical rules, Workflow, Phase 1 — Define the campaign (always do this first), Phase 2 — Build & enrich the prospect list, Phase 3 — Per-prospect signals (the personalization layer), Phase 4 — Draft emails (drafts-first by default), Phase 5 — Run the follow-up cadence.

Use these questions to steer the work:
- What is the intended audience or buyer?
- What source material must be preserved?
- What should the assistant optimize for: clarity, persuasion, accuracy, speed, creativity, or conversion?
- What examples represent the desired quality bar?
- What should the assistant avoid?

## Common Mistakes
- **Personalization must connect to the problem.** If the personalized opener could be deleted and the email still makes sense, it isn't doing any work. The opener should naturally bridge into *why you're emailing*.
- **Honor unsubscribes immediately.** Apply an `unsubscribed` label on any "remove me / not interested" reply and never re-target that address from the same Hyper workspace.
- Anything below Tier 2 should be treated with suspicion — `{{FirstName}}` swaps don't count as personalization.
- Every sentence must move the reader toward replying. The best cold emails feel like they could have been *shorter*, not longer.
- What to avoid (these are the AI-tells reviewers immediately spot):
- | Unsubscribe ("remove me / not interested") | `cold/q3-growth-leads/unsubscribed` | Stop sequence. Add `unsubscribed` global label. Never re-contact. |
- Cold outreach lives or dies on identity + reputation. The Hyper MCP can't fix either for you — they're DNS / inbox-level concerns. But it *can* avoid making them worse.
- Hard rules — never break these

## Copy-And-Paste Prompt
```text
Use the Cold email outreach human guide.

My goal:
[Describe the business outcome]

Audience:
[Describe who this is for]

Context and source material:
[Paste notes, examples, links, or existing copy]

Constraints:
[Tone, length, channel, timeline, must-include items, must-avoid items]

Before producing the final output, ask me for any missing information that would materially improve the result.
```

## Final Checklist
- [ ] The output matches the original goal.
- [ ] The audience and context are reflected in the answer.
- [ ] Important constraints and source material were preserved.
- [ ] The assistant made the relevant decisions explicit.
- [ ] The final artifact is ready to use, review, or hand to the next person.

## Source
This guide was generated from the hyperfx-ai/marketing-skills skill entry for `cold-email-outreach`.

## Source Skill Notes
These notes preserve the nuance from the original skill. Use them as supporting reference when the workflow above feels too generic.

# Cold Email Outreach

End-to-end cold outreach: research, draft, send, follow up, route replies. Strategy is grounded in proven hook frameworks (number-led / question / pain-point / benefit-first); the execution runs on Apollo, Firecrawl, the LinkedIn scraper, and Gmail through the Hyper MCP.

## Out of scope — defer to other skills

| Request | Send them to |
| --- | --- |
| Lifecycle / nurture sequences for *warm* leads (welcome, onboarding, re-engagement, win-back) | `email-lifecycle` (planned) |
| LinkedIn DMs, connection requests, or Sales Navigator workflows | (planned) |
| Lead scoring, routing, deal-stage updates after a reply | `crm-revops` (planned) |
| Scraping competitor *ads* | `meta-ads-library` |

## Requirements

- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **Gmail integration** connected at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps) — supplies the sending account.
- **Apollo integration** connected — supplies prospect search and email enrichment.
- **Firecrawl** (bundled) — for company-page signals.
- **Optional: LinkedIn scraper** (bundled, runs through Apify) — for richer per-prospect personalization.

If `gmail_messages_send` and `apollo_mixed_people_search` are not in the agent's tool list, stop and tell the user to enable the Hyper MCP and connect Gmail + Apollo.

## Tool surface

| Phase | Tools |
| --- | --- |
| Prospect research | `apollo_mixed_people_search`, `apollo_mixed_companies_search`, `apollo_people_bulk_match` (preferred for 2+ enrich), `apollo_people_match` (single only) |
| Per-prospect signals | `firecrawl_urls_scrape`, `firecrawl_urls_scrape_batch`, `firecrawl_branding_extract`, `firecrawl_screenshots_create`, `scrape_linkedin_profiles` *(conditional — requires LinkedIn Apify integration)* |
| Drafting | `gmail_drafts_create`, `gmail_drafts_update`, `gmail_drafts_get`, `gmail_drafts_list` |
| Sending | `gmail_messages_send`, `gmail_drafts_send`, `gmail_reply_to_message` |
| Reply routing | `gmail_messages_list`, `gmail_get_message`, `gmail_labels_create`, `gmail_labels_add`, `gmail_labels_remove`, `gmail_messages_move_to_label` *(takes `label_id` string, not `label_ids` array)* |

## Critical rules

1. **Never loop `apollo_people_match` for multiple prospects.** For 2+ records always batch into `apollo_people_bulk_match`. Apollo's tool description warns about this explicitly — looping single-match calls burns credits and is much slower.
2. **Default send mode = drafts-first for review.** For any campaign with 4+ prospects, draft the first 1–3 with `gmail_drafts_create`, show them to the user, get explicit approval, then batch-send the rest with `gmail_messages_send`. Never send a full campaign without showing samples first.
3. **One label per campaign.** Create a `cold/<campaign-name>` label with `gmail_labels_create` at the start, apply it to every send, then track replies by searching that label. This is what makes Phase 6 reply routing actually work.
4. **Stay under Gmail's send limits.** ~500 messages/day per consumer Gmail account, ~2,000/day per Workspace user. Space sends out — see [`references/deliverability.md`](./references/deliverability.md) for warming and per-day pacing.
5. **Personalization must connect to the problem.** If the personalized opener could be deleted and the email still makes sense, it isn't doing any work. The opener should naturally bridge into *why you're emailing*.
6. **One ask per email, one CTA.** Interest-based (`Worth exploring?`) beats meeting requests on cold touch 1.
7. **Honor unsubscribes immediately.** Apply an `unsubscribed` label on any "remove me / not interested" reply and never re-target that address from the same Hyper workspace.

## Workflow

### Phase 1 — Define the campaign (always do this first)

Get the user to commit to:

1. **ICP** — Role(s), industry, company size, tech stack, geography. Concrete: "Heads of Growth at US-based pre-seed-to-Series-A B2B SaaS, 10–50 employees, using HubSpot."
2. **The ask** — What does a "yes" look like? (15-min call, async reply, demo, intro to someone else.)
3. **Value prop in one sentence** — "We help X do Y so they can Z."
4. **Proof point** — One specific result: "We helped Notion cut their CAC by 31% in 90 days." (Made up examples are worse than no example — get a real one.)
5. **Trigger / signal (optional but powerful)** — Funding round, hiring, pricing-page change, recent blog post, product launch, leadership change.
6. **Sender + reply-to** — Which Gmail account is sending. (Confirm with `gmail_labels_list` to verify the integration is live.)
7. **Volume + cadence** — Total prospects, max sends/day, follow-up gap pattern.

If they're stuck on any of these, push back. A campaign without proof or a clear ask will not perform regardless of how clever the writing is.

### Phase 2 — Build & enrich the prospect list

```
# Search by ICP
apollo_mixed_people_search(
  person_titles=["Head of Growth", "VP Growth", "Director of Growth"],
  organization_num_employees_ranges=["11,50"],
  person_locations=["United States"],
  per_page=50,
)
```

Then for the prospects you actually want to contact, batch-enrich for emails:

```
# CORRECT — one bulk call for many prospects
apollo_people_bulk_match(
  details=[
    {"first_name": "...", "last_name": "...", "domain": "..."},
    ...up to 10 per call...
  ],
