Receber por email
← Voltar para o catálogo

cold-email-outreach

Execute campanhas completas de prospecção B2B por e-mail frio através do Hyper MCP, enriquecendo leads com Apollo, coletando sinais de sites e LinkedIn, redigindo e-mails personalizados, enviando via Gmail e organizando as respostas. Utilize esta skill para escrever e-mails frios, gerenciar sequências de outbound, prospectar ou criar cadências de follow-up.

39estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add hyperfx-ai/marketing-skills

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/cold-email-outreach-hyperfx-ai/svg)](https://www.skillteca.com.br/skills/cold-email-outreach-hyperfx-ai)

Skills relacionadas

Ver todas de Marketing →

Alerta por categoria

Receba novas skills de Marketing toda segunda

1 email curto, só com as skills novas de Marketing. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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
  • Gmail integration connected at https://app.hyperfx.ai/integrations — 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_send_message 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_scrape_url, firecrawl_batch_scrape, firecrawl_extract_branding, firecrawl_screenshot, scrape_linkedin_profiles (conditional — requires LinkedIn Apify integration) | | Drafting | gmail_create_draft, gmail_update_draft, gmail_get_draft, gmail_list_drafts | | Sending | gmail_send_message, gmail_send_draft, gmail_reply_to_message | | Reply routing | gmail_list_messages, gmail_get_message, gmail_create_label, gmail_add_labels, gmail_remove_labels, gmail_move_email_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_create_draft, show them to the user, get explicit approval, then batch-send the rest with gmail_send_message. Never send a full campaign without showing samples first.
  3. One label per campaign. Create a cold/<campaign-name> label with gmail_create_label 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_list_labels 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...
  ],
  reveal_personal_emails=True,
)

Only fall back to apollo_people_match for single-prospect lookups (e.g., the user pastes one LinkedIn URL).

For deeper company-level context (industry, revenue range, tech stack), call apollo_mixed_companies_search by organization name on the companies you want to enrich. Note that person search results already include core company fields (headcount, industry, location) — only reach for apollo_mixed_companies_search when you need data beyond what the person search returns.

Phase 3 — Per-prospect signals (the personalization layer)

For each prospect, gather one specific observation that connects to the problem you solve. Use the cheapest signal that works:

| Cost | Tool | Use it for | | --- | --- | --- | | Free (already have it) | Apollo response fields | Title change, recent role start, company headcount jump, funding | | Cheap | firecrawl_scrape_url of the careers / pricing / blog page | "You're hiring 4 SDRs", "Pricing pages says enterprise plan launching", "Latest blog post is about X" | | Cheap (multi-page) | firecrawl_batch_scrape | Same observation across many sites in one call | | Medium | firecrawl_extract_branding | Brand voice for the email tone, brand colors if you'll send a follow-up image | | Higher (conditional) | scrape_linkedin_profiles(profile_urls=[...]) (requires LinkedIn Apify integration — skip if not connected) | Recent post, mutual connection, recent job change, school/employer overlap |

Personalization tiers (use the highest tier you can afford for this campaign):

  • Tier 1 (mass / low-effort) — first name + role + company + industry. Acceptable only when the value prop is sharp enough to carry the email on its own. Reply rates: low.
  • Tier 2 (signal-based) — the prospect is in a role/stage where the problem you solve is acute (e.g., a new Head of Growth in their first 60 days). Reply rates: meaningfully better.
  • Tier 3 (observation-based) — references something from the company site, pricing page, careers page, or a recent product launch. This is the sweet spot.
  • Tier 4 (deep) — references a recent LinkedIn post, blog post they wrote, or talk they gave. Reserve for high-value targets.

Anything below Tier 2 should be treated with suspicion — {{FirstName}} swaps don't count as personalization.

Phase 4 — Draft emails (drafts-first by default)

Pick a framework that matches the situation. The four shapes that consistently work:

  • Observation → Problem → Proof → Ask — "You're hiring SDRs. That usually means meetings/SDR ratio is the bottleneck. We help
Compartilhar X LinkedIn