FREE SKILL

Your Cold Outreach Agent Should Cost You an Email Account

Artisan AI raised $37 million to build an AI rep that emails your prospects. The same loop runs on two tables you already own. This free skill reads a contact, matches the right template, personalizes it, sends, and logs which template fired.

Artisan AI raised $37 million to build an AI rep that emails your prospects for you. The same loop runs on two tables and an email account you already pay for. This free skill reads a contact, matches the right template, rewrites it for that person, sends it, and logs which template fired.

The Problem: You Are Paying a Vendor for the Easy Half

Cold outreach at scale is a loop with five moves. Pull the next contact. Decide what to say to them. Send it. Write down what you sent. Watch what comes back.

Artisan AI raised $37 million to run that loop as a product. Buying it is a defensible choice. The question worth asking first is which half of the loop the money is buying.

Because the half that sets your reply rate is the half no vendor can supply. It is the message: your segments, your offer, the proof only your business has, the opening line that sounds like somebody who knows the industry. You write that either way. What the subscription adds is a queue, a matcher, a sender, and a counter.

Those four are plumbing. They run on tables you already own, inside the tool you already use.

What Is a Cold Outreach Agent?

A cold outreach agent is a scheduled AI routine that works your contact list without you sitting in it. It takes one queued contact, reads their segment and stage, matches them to a template from your own library, rewrites that template for the specific person and company, sends it from your email address, and logs which template it used. A second table counts sends and replies per template, so the library gets sharper over time instead of only longer.

The Two Tables Are the System

Everything the agent knows lives in two tables. Build them in Notion, in Airtable, or in one Google Sheet with two tabs. The agent reads and writes both.

Contacts, one row per prospect:

ColumnTypeNotes
NameTextFirst and last, or first only
EmailTextThe address you send to
CompanyTextUsed in personalization
SegmentTextMust match a Segment in the templates table
StageTextMust match a Stage in the templates table
StatusTextStart at queued. Agent writes sent or no-template.
Template UsedTextAgent writes this after sending
Sent AtDateAgent writes the send time

Rows come from a CSV import, a LinkedIn export, or a lead source like Apollo. Add any extra columns you want, such as job title or website, and the agent uses them as personalization context.

The Status column is the queue. Set it to queued for anyone you want worked. It is also the double-send guard: a contact marked sent never gets picked up again.

Templates, one row per segment and stage combination:

ColumnTypeNotes
SegmentTextThe segment this template targets
StageTextThe stage this template targets
TemplateLong textThe message body, with [name] and [company] labels
Sent CountNumberStarts at 0. Agent increments after every send.
Reply CountNumberStarts at 0. You update this one.

Segment and Stage values are yours to pick. SMB, SaaS, Agency, and Enterprise are a fine starting set. cold, warm, and follow-up cover most stages. The only hard requirement is that the values match character for character across both tables.

What Runs When You Fire It

Seven steps, in order:

  1. Read the contacts table, filter to Status = queued, take the next row.
  2. Pull Name, Email, Company, Segment, Stage.
  3. Find the template whose Segment and Stage match. If several match, take the one with the highest reply rate. If none match, set Status = no-template and move on.
  4. Rewrite the template for this person using their name, company, and anything else in the row. Keep it short and human. The offer and the call to action stay exactly as written.
  5. Send it over SMTP, from your address to theirs.
  6. Write back: Status = sent, the template name, the timestamp. Increment Sent Count on the template row.
  7. Take the next contact. Stop when the queue is empty or after 20 sends in one run.

Done. That is the entire agent.

The 20-send ceiling is deliberate. It is your blast radius if a filter goes wrong or something loops. Once a few batches have run clean, raise it yourself in the skill file.

Start With Three Templates, Not Thirty

A template is an ordinary message with labels the agent fills in. Here is a cold one for small businesses:

Copy this.

Hey [name],

Came across [company] and wanted to reach out directly.

We help small businesses [one-line value prop]. Most of our clients see [result] within [timeframe].

Worth 15 minutes to see if it fits?

Replace [one-line value prop], [result], and [timeframe] with your real copy before it goes into the table. Leave [name] and [company] alone: filling those is the agent's job.

Four rules keep templates working. Stay under five sentences. Personalize the opening line. Give one call to action, not three. And if it reads like it came out of a system, it did, so rewrite it until it sounds like you typed it.

Write one template per segment and stage pair you actually sell to. Two or three is a real start. When contacts come back marked no-template, that is the table telling you what to write next.

The Reply Rate Is the Whole Point of Table Two

The agent scores templates with one division:

Copy this.

reply rate = Reply Count / Sent Count

A template with zero sends has no rate, so the agent rotates it in as a test. Under ten sends the number is noise. Past that it starts to mean something, and step 3 begins favoring the winner every time two templates compete for the same contact.

Most outreach setups stop at sending. Keeping the score is what turns your template table into an asset: once each template has ten or more sends behind it, you know which opening line your market answers, and the agent uses that answer without being told.

2 Ways to Install It

The skill is a folder of plain markdown: the instructions, both table schemas, five starter templates, and a troubleshooting list. Grab it from the resource block at the bottom of this page.

If you use Claude Code, download the folder from Drive, unpack the zip, and move it into ~/.claude/skills/ on your machine. Create the skills folder if it is not there yet.

If you use Claude on the web or the desktop app, keep the zip as it is. Open Settings, then Capabilities, and upload it as a skill.

Then start a chat and say: "Run the cold outreach agent."

Because it is plain markdown with no vendor code inside, it is not locked to one runtime. Claude Code and Claude Desktop read it natively, and Codex or any other agent CLI that follows skill files runs the same instructions.

One rule that does not bend. Never paste your email password or an API key into a chat. The SMTP password goes into your agent's own secrets, where the model never sees it.

3 Things to Check Before the First Real Send

Your app password, not your login password. In your Google Account go to Security, confirm 2-Step Verification is on, then open App passwords and generate one for Mail. That 16-character code is your SMTP_PASS. Gmail's settings are host smtp.gmail.com, port 587, STARTTLS on. If 587 times out, your network is blocking outbound SMTP: try port 465 with SSL, and if both are blocked, send through a service like Mailgun or Brevo instead of raw SMTP.

Your sending volume. Under 50 a day, a normal Gmail or Outlook account holds up. Above that, send from a dedicated domain so a rough campaign cannot damage the reputation of the address your clients reply to. New sending addresses start at 10 a day and climb over two to three weeks.

Your spelling. To a matcher, SaaS and saas are two different segments, and a trailing space is invisible. When contacts pile up as no-template and you know the template exists, the cause is almost always capitalization or whitespace.

Honest: What This Does Not Fix

The agent does not know your business. It rewrites what you wrote. Hand it three lazy templates and it sends lazy messages faster than you could by hand, to more people, from your own domain. Bad copy just reaches further.

So keep the thinking human. The ideas, the segments, the offer, the reason a stranger should care: those stay yours. Give the AI the easy part, which is rewriting a good message for one specific person. Top of funnel is where your reputation gets spent, and it deserves more supervision than a schedule and some optimism.

Reply Count does not update itself. The agent increments Sent Count on every send, but reading replies is a separate job. Update it by hand as you work your inbox, or wire a webhook from your mailbox later. Until you do, table two tells you half the story.

It can also double send. If the message goes out and the status write fails on a network blip, the row still looks queued. Check your sent folder, set Status = sent manually, carry on.

And this is one agent, not a sales team. It sends first touches and follow-ups off a list you assembled. Sourcing, qualification, call prep, and CRM hygiene are separate jobs. I mapped that whole chart in the 42-agent sales org piece, so I will leave the org chart there and keep this page on the one agent that sends.

If You Only Do One Thing This Week

Write three templates. One segment you sell to well, at cold, warm, and follow-up. Real copy, your voice, under five sentences each.

Then queue ten contacts and run the agent once. Ten, not two hundred. Read all ten messages in your sent folder before you queue anybody else.

If they read like something you would have sent yourself, the system works and the rest is volume. If they do not, the templates need the work, not the software. Either way you spent an evening and no money.

This guide is one system.
The map tells you which comes first.

The guides show you the systems. The map shows you which one your business needs first.

Get your free map →
Take this with you Download as PDF ↓ Download the skill folder →

It is a folder of plain markdown files. Open it in Drive, then File → Download grabs the whole thing as a zip.

Prefer to browse with company? The free community has the full skill library.