Best use case
email-outreach-run is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Automatic email outreach agent run
Teams using email-outreach-run should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/email-outreach-run/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How email-outreach-run Compares
| Feature / Agent | email-outreach-run | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Automatic email outreach agent run
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for Cold Email Generation
Discover AI agent skills for cold email generation, outreach copy, lead personalization, CRM support, and sales-adjacent messaging workflows.
AI Agents for Freelancers
Browse AI agent skills for freelancers handling client research, proposals, outreach, delivery systems, documentation, and repeatable admin work.
SKILL.md Source
# Email Outreach Agent - Run Skill
> Send mass email campaigns with personalization and approval workflow
## When to use
- User wants to send email outreach campaign
- "send emails to [segment]"
- "email outreach to new leads"
- "send training reminder to participants"
## Prerequisites
1. Gmail API authenticated (`google-auth` skill if needed)
2. CRM data available (`sales/crm/`)
3. Template or AI mode
## How to execute
### Step 1: Determine campaign type
**CRM Segment Mode**:
```bash
cd $AGENTS_PATH/email-outreach
python3 email-outreach_agent.py \
--segment "stage=new AND product_id=prod-labeling" \
--template templates/cold_outreach.txt
```
**Manual CSV Mode**:
```bash
python3 email-outreach_agent.py \
--recipients /path/to/recipients.csv \
--template templates/training_reminder.txt
```
**AI-Generated Mode**:
```bash
python3 email-outreach_agent.py \
--segment "stage=qualified" \
--ai-mode \
--subject "Following up on our conversation"
```
### Step 2: Always dry-run first
```bash
python3 email-outreach_agent.py \
--segment "..." \
--template templates/cold_outreach.txt \
--dry-run
```
### Step 3: Review approval prompt
Agent shows:
- Number of recipients
- Subject line
- First 3 sample emails
Options:
- `[A]` - Approve and send
- `[T]` - Send test to your@email.com
- `[C]` - Cancel (save draft)
### Step 4: Check results
```bash
# Summary
ls -lh $GOOGLE_TOOLS_PATH/data/email_outreach_summaries/
# Agent log
cat $GOOGLE_TOOLS_PATH/data/email_outreach_log.json | jq '.[-1]'
# CRM activities
tail -10 $CRM_PATH/activities.csv
```
## Templates
Available templates in `agents/email-outreach/templates/`:
- `cold_outreach.txt` - For new leads
- `follow_up.txt` - Follow-up to previous contact
- `training_reminder.txt` - Event/training reminders
**Placeholders**:
- `{name}` - Full name
- `{first_name}` - First name
- `{last_name}` - Last name
- `{company}` / `{company_name}` - Company name
- `{role}` - Job role
## Segment Queries
Filter CRM leads:
```bash
# New leads for specific product
--segment "stage=new AND product_id=prod-labeling"
# Qualified leads
--segment "stage=qualified"
# Custom filters
--segment "stage=new AND product_id=prod-training"
```
## Rate Limits (OWNER DECISIONS)
- **Max**: 50 emails/day
- **Rate**: 1-2 sec between emails
- **Cooldown**: 7 days (same person+product)
## Error Handling
| Error | Action |
|-------|--------|
| "Gmail credentials not found" | Run `google-auth` skill |
| "Daily limit reached" | Wait until tomorrow |
| "No recipients match" | Check segment query, verify CRM data |
| "Invalid email" | Check CSV, emails will be skipped |
## Manual CSV Format
```csv
email,first_name,last_name,company_name
john@example.com,John,Doe,Example Corp
jane@test.com,Jane,Smith,Test Inc
```
Required: `email`
Optional: `first_name`, `last_name`, `company_name`, `person_id`, `product_id`
## Common Use Cases
### Use Case 1: Cold outreach to new leads
```bash
python3 email-outreach_agent.py \
--segment "stage=new AND product_id=prod-labeling" \
--template templates/cold_outreach.txt \
--campaign-name "Q1 Cold Outreach - Labeling"
```
### Use Case 2: Training reminder (manual list)
```bash
# Create CSV with participants
cat > participants.csv << 'EOF'
email,first_name
john@example.com,John
jane@test.com,Jane
EOF
python3 email-outreach_agent.py \
--recipients participants.csv \
--template templates/training_reminder.txt
```
### Use Case 3: AI-generated follow-up
```bash
python3 email-outreach_agent.py \
--segment "stage=qualified" \
--ai-mode \
--subject "Following up on data labeling project"
```
## Testing
```bash
# Run unit tests
cd $AGENTS_PATH/email-outreach
python3 test_email_outreach.py
# Dry-run test
python3 email-outreach_agent.py \
--recipients test_data/test_recipients.csv \
--template test_data/test_template.txt \
--dry-run
```
## Output
- **Summary**: `google-tools/data/email_outreach_summaries/YYYY-MM-DD.md`
- **Log**: `google-tools/data/email_outreach_log.json`
- **Activities**: `sales/crm/activities.csv` (appended)
- **Drafts** (on cancel): `google-tools/data/email_outreach_drafts/`
## Integration with other skills
- **Before**: `google-auth` (if Gmail auth needed)
- **After**: Monitor responses via email-agent
- **Future**: `change-review` for CRM updates
## Troubleshooting
### Test send not arriving
```bash
# Check Gmail API
python3 -c "from google.oauth2.credentials import Credentials; print(Credentials.from_authorized_user_file('$GOOGLE_TOOLS_PATH/token.json'))"
# Re-auth if needed
# Run google-auth skill
```
### Template placeholders not being filled
```bash
# Check CSV has the required columns
head -1 recipients.csv
# Placeholders case-sensitive: {name} not {Name}
```
### Daily limit reached
```bash
# Check send log
cat $GOOGLE_TOOLS_PATH/data/email_send_log.json | jq '[.[] | select(.date == "2026-02-12")] | length'
# Wait until tomorrow or increase limit in config.json
```
## Owner Decisions Applied
✅ Human approval required for ALL outreach
✅ Rate limit: 50/day max
✅ Logs to CRM activities
✅ Dry-run flag mandatory for testing
✅ Uses `claude -p --model haiku` (not API key)
✅ Idempotent (re-run safe)
## Related Files
- Agent: `$AGENTS_PATH/email-outreach/email-outreach_agent.py`
- Config: `$AGENTS_PATH/email-outreach/config.json`
- Templates: `$AGENTS_PATH/email-outreach/templates/`
- Spec: `$AGENTS_PATH/specs/email-outreach.spec.md`
## Related skills
- `google-auth` - Gmail API auth
- `telegram-send` - Parallel outreach channel
- `add-lead` - Add new contacts
- `log-activity` - Manual activity loggingRelated Skills
whatsapp-outreach-run
Automatic WhatsApp outreach agent run
qq-email-operator
QQ邮箱操作技能。支持通过 IMAP/SMTP 读取邮件、搜索邮件、回复邮件、发送邮件。凭据通过 pass 安全存储。
outbound-email-strategy
Comprehensive outbound email strategy skill for cold outreach, email sequences, and multi-channel campaigns. Use when writing cold emails, creating outreach sequences, optimizing response rates, designing follow-up cadences, or building outbound campaigns. Covers prospecting, personalization frameworks, sequence design, subject lines, response handling, compliance, email design, HTML email templates, email layout, email marketing, newsletter design, drip campaigns, email subject lines, email headers, and cold email templates for discovery calls and SDR workflows.
mass-outreach
Multi-channel outreach via Telegram/Email/WhatsApp
email-read
Read inbox and sent via Gmail API
email-monitor
AI inbox classification + Telegram notification
email-marketing
Email marketing automation - campaign creation, sequence building, A/B testing, deliverability optimization, and analytics
email-manager
多邮箱统一管理与智能助手。支持 Gmail、QQ邮箱等 IMAP 邮箱,定时查看邮件,AI 生成摘要和回复草稿,发送前需用户确认。
email-automation
邮箱自动化:读取、搜索、草拟和发送邮件,支持 Gmail API 以及通用 IMAP/SMTP 流程。
cold-email-sequence-generator
Generate personalized cold email sequences (7-14 emails) with A/B test subject lines, follow-up timing recommendations, and integrated social proof. Creates multi-touch campaigns optimized for response rates. Use when users need outbound email campaigns, sales sequences, or lead generation emails.
wemp-operator
> 微信公众号全功能运营——草稿/发布/评论/用户/素材/群发/统计/菜单/二维码 API 封装
zsxq-smart-publish
Publish and manage content on 知识星球 (zsxq.com). Supports talk posts, Q&A, long articles, file sharing, digest/bookmark, homework tasks, and tag management. Use when publishing content to 知识星球, creating/editing posts, uploading files/images/audio, managing digests, batch publishing, or formatting content for 知识星球.