AI Email Sales Agent
Featured Stories Sales • Agent

AI Email Sales Agent

Your agent hunts prospects, researches each one, and fills your Gmail drafts with personalized outreach. You skim and hit send.

Agent Hermes Agent
Level Intermediate
Setup ~1 hour

The architecture every serious team converged on: the agent researches and drafts, the human sends. Draft-only isn’t a limitation — it’s the design. It catches hallucinated “personalization” before a prospect sees it, keeps you compliant (CAN-SPAM, GDPR), and protects your domain reputation. This guide wires prospecting, verification, research, and a drafts-only Gmail connection into one morning routine.

Hermes Agent · Nous Research

Outreach quality compounds: Hermes tracks which hooks earn replies and patches its own outreach skill week over week — a learning loop no static template has. Its subagents parallelize per-prospect research, and drafts-only Gmail access keeps you the sender.

Start Here: One Prompt

Copy this prompt and send it to the agent on your Pocketcorp. It sets up everything in this guide and reports back when it’s done. The steps below explain what your agent is doing — and how to check its work.

prompt — paste to your agent
Set up my outreach pipeline. Ground rule: you research and draft,
you NEVER send. Gmail drafts only.

1. Interview me for the ICP: who I sell to, the buyer, and the one
   signal that makes a prospect a fit. Write an outreach skill with
   these hard rules: one verified personalization hook per email,
   every claim with a source URL; Hook → Problem → CTA, under 85
   words, plain text; no links in the first mail; my voice — banned:
   “I hope this finds you well”, “synergy”, “solution”, “circle
   back”.
2. Wire Gmail via workspace-mcp with the gmail:drafts permission
   tier ONLY. I’ll give you the OAuth client — remind me to run the
   first consent on my laptop and to publish the OAuth app so
   refresh tokens don’t die every 7 days.
3. Add the funnel MCPs and ask me for their keys: Apollo (find),
   Hunter (verify — skip catch-alls and role addresses), Exa
   (research).
4. Create the CRM sheet: prospect, hook, source, status; dedupe on
   email address.
5. Cron weekdays 7:00: 15 new ICP matches, verify, research, draft
   the qualified ones, log everything, then send me a digest —
   count, 3 best hooks, what you skipped and why.
6. Cron weekly: compare hooks and subject lines against actual
   replies in the CRM and patch the outreach skill with what works.

The Stack

MCPworkspace-mcp (gmail:drafts)
MCPApollo MCP
MCPHunter MCP (verify)
MCPexa-mcp-server (research)
Skilloutreach SKILL.md
ToolSheet-as-CRM
ChannelTelegram
01

Send the prompt — it interviews you first

Paste the prompt and the agent starts with questions, not code: who do you sell to, who is the buyer, and what single signal marks a prospect as a fit? Answer like you’d brief a new hire — “companies that could use software” produces spam; a sharp answer produces replies. What you say becomes the agent’s outreach rulebook:

~/.hermes/skills/sales/outreach/SKILL.md
---
name: outreach
description: Research prospects and draft cold outreach in my voice
---

## ICP
- Boutique hotels & guesthouses, 10–80 rooms, DACH region
- Buyer: owner or GM. Signal: still taking bookings by phone/email

## Non-negotiable rules
- ONE verified personalization hook per email. Every factual claim
  must cite a source URL in the research notes — no source, no claim.
- Structure: Hook → Problem → CTA. Under 85 words. Plain text.
- No links in the first email. One CTA: a specific question.
- Write in my voice: direct, warm, zero buzzwords. Never say
  "I hope this finds you well", "synergy", "solution", "circle back".
- NEVER send. Create Gmail drafts only.

## Per prospect
1. Verify the email (Hunter) — skip catch-alls and role addresses.
2. Research: website, news, job posts. Find the ONE hook.
3. Draft. 4. Log to the CRM sheet (dedupe on email address).
Pro tip

The banned-phrases list is the highest-leverage section — it is measurably what makes the output not sound like AI.

02

Gmail access — drafts only, by design

The agent connects to Gmail through a permission tier that can create drafts but structurally cannot send — the safety rail this whole build stands on. The one thing it needs from you is a free Google Cloud “OAuth client”, the credential that lets it write into your drafts folder. The agent gives you click-by-click directions; you paste back two values, and it does the rest:

what the agent configures (~/.hermes/config.yaml)
mcp_servers:
  gmail:
    command: "uvx"
    args: ["workspace-mcp", "--permissions", "gmail:drafts"]
    env:
      GOOGLE_OAUTH_CLIENT_ID: "${GOOGLE_OAUTH_CLIENT_ID}"
      GOOGLE_OAUTH_CLIENT_SECRET: "${GOOGLE_OAUTH_CLIENT_SECRET}"
Heads up

Two gotchas the agent will warn you about: Google’s first consent screen has to be opened on your laptop (your server has no browser) — the agent then copies the resulting token over; and the OAuth app must be published or set to Internal, because apps left in “Testing” get logged out every 7 days, which looks like a random mid-week breakage.

03

Three keys for the funnel

Finding, verifying and researching prospects run on three services — Apollo finds, Hunter verifies, Exa researches — and all three have workable free tiers. Your part: create the accounts and paste each key when the agent asks for it. Its part: wire them in:

what the agent configures (~/.hermes/config.yaml)
mcp_servers:
  apollo:            # lead search by ICP — free plan includes MCP
    url: "https://mcp.apollo.io"
    auth: oauth
  hunter:            # email verification — 50 free/mo
    command: "npx"
    args: ["-y", "hunter-mcp"]
    env: { HUNTER_API_KEY: "${HUNTER_API_KEY}" }
  exa:               # company research / news
    command: "npx"
    args: ["-y", "exa-mcp-server"]
    env: { EXA_API_KEY: "${EXA_API_KEY}" }
Note

Verification before drafting is not optional: B2B contact data decays ~22% per year, and a bounce rate above 2% starts hurting your domain. Skipping unverifiable addresses is cheaper than sending to them.

04

Schedule the pipeline

One cron job runs the whole funnel every weekday morning, in a batch small enough to review over coffee:

in chat with Hermes
/cron add "0 7 * * 1-5" "Run the outreach skill: find 15 new
prospects matching the ICP (dedupe against the CRM sheet),
verify emails, research each one, draft outreach for the
qualified ones, log everything, then message me a digest:
count, 3 best hooks, anything skipped and why."
05

Your morning: skim and send

Agent

☕ 12 drafts ready. Best hooks: (1) Hotel Alpenblick just posted a front-desk job mentioning “phone bookings” — drafted around desk workload. (2) Gasthof Sonne got a renovation writeup in the local paper. (3) Pension Edelweiss still has a fax number on their contact page. Skipped 3: two catch-all domains, one already in the CRM.

You

Drop the fax one — too snarky. Rest look good.

Agent

Deleted that draft and noted the feedback: no hooks that could read as mocking. 11 drafts waiting in Gmail.

Heads up

Stay the sender. Manual sending from your normal Gmail at 10–25/day keeps you under every bulk-sender threshold and every automation trigger. If you ever scale past ~100/day, that is a different game: separate sending domain, warm-up weeks, SPF/DKIM/DMARC, sub-0.3% complaint rate.

06

Close the loop

Once replies exist, make them teach the agent. A weekly cron reviews the CRM sheet — which hooks got replies, which subject lines died — and Hermes patches its own outreach skill via skill_manage. This is the learning loop doing sales ops: your reply rate in week six should embarrass week one.

What you end up with

A drafts folder that fills itself every morning with researched, verified, genuinely personalized outreach — logged in a CRM sheet, improving weekly from real reply data. You remain the human who hits send.

Deploy your PocketcorpHermes Agent comes pre-installed. €15/month, or €12/month billed annually.

More stories to build