open-index/open-npm huggingface dataset:
npm package: @keyid/cold-outreach
Description: Free cold outreach — Instantly alternative powered by KeyID.ai
Latest version: 0.3.0

# Cold Outreach — Free Instantly Alternative

Run personalized cold email campaigns for free using [KeyID.ai](https://keyid.ai) — no Instantly, Lemlist, or Mailshake subscription needed.

Works with any AI coding tool: **Claude Code**, **Cursor**, **Codex**, **Windsurf**, or anything that reads project instructions.

## How It Works

1. Open this folder in your AI coding tool (VS Code + Claude Code, Cursor, etc.)
2. Say **"setup"** — the AI walks you through configuration
3. Say **"import"** — load your leads from a CSV
4. Say **"send"** — your AI sends today's batch with personalized emails
5. Say **"status"** — see your campaign dashboard

Replies are automatically forwarded to your real email.

## What You Get

- **Multiple sender accounts** — automatic rotation for better deliverability
- **3-step sequences** — initial + 2 follow-ups with configurable delays
- **Auto-pause on reply** — stops follow-ups when someone responds
- **Bounce detection** — marks undeliverable addresses
- **Unsubscribe handling** — respects opt-out requests
- **Crash-safe** — can stop and resume anytime, nothing is lost
- **100% free** — KeyID.ai provides free email infrastructure (up to 1,000 accounts)

## Prerequisites

- [Node.js](https://nodejs.org/) (v18+)
- An AI coding tool (Claude Code, Cursor, Codex, etc.)

## Quick Start

```bash
# 1. Install dependencies
npm install

# 2. Open this folder in your AI tool and say "setup"
# The AI will walk you through everything
```

## Manual Usage (Without AI Tool)

You can also run commands directly:

```bash
node outreach.js setup     # Provision sender accounts
node outreach.js import    # Load leads from leads.csv
node outreach.js send      # Send today's batch
node outreach.js check     # Check for replies
node outreach.js status    # Campaign dashboard
node outreach.js daily     # Check + status combined
node outreach.js pause     # Pause all (or: pause user@email.com)
node outreach.js resume    # Resume all (or: resume user@email.com)
```

## CSV Format

Place your leads in `leads.csv`. Required columns: `name`, `email`. Everything else is optional and can be used in templates.

```csv
name,email,company,role,painPoint
Jane Smith,jane@acme.com,Acme Corp,VP Engineering,manual deployments
```

## Email Templates

Templates live in `templates/` and use `{{variable}}` placeholders:

- `{{firstName}}` — first name from CSV
- `{{name}}`, `{{email}}`, `{{company}}`, `{{role}}` — CSV fields
- `{{senderName}}`, `{{senderEmail}}` — sender identity
- `{{product}}`, `{{valueProposition}}` — from your campaign config
- Any custom CSV column (e.g., `{{painPoint}}`)

Templates can include a subject line:

```
Subject: Quick question, {{firstName}}

Hi {{firstName}},

Your email body here...
```

## Powered By

[KeyID.ai](https://keyid.ai) — free email infrastructure for AI agents. Up to 1,000 accounts at $0.