instantly-campaigns

star 28

Create cold email campaigns in Instantly with A/B testing. Use when user asks to create email campaigns, set up cold outreach, build email sequences, or configure Instantly campaigns.

MalekAG By MalekAG schedule Updated 2/22/2026

name: instantly-campaigns description: Create cold email campaigns in Instantly with A/B testing. Use when user asks to create email campaigns, set up cold outreach, build email sequences, or configure Instantly campaigns. allowed-tools: Bash, Read, Write, Edit, Glob, Grep

Instantly Campaign Creation

Goal

Create three email campaigns in Instantly based on a client description and offers. Each campaign has A/B tested first emails and follow-up sequences.

Inputs

  1. Client Description: Company name, industry, target audience, value proposition
  2. Offers (optional): List of 3 offers. If not provided, will be generated.

Scripts

  • ./scripts/instantly_create_campaigns.py - Creates campaigns via Instantly API
  • ./scripts/read_sheet.py - Read lead data if needed

Process

1. Load Examples

Read .tmp/instantly_campaign_examples/campaigns.md for inspiration on personalization + social proof + offer structure.

2. Generate Campaigns

python3 ./scripts/instantly_create_campaigns.py \
  --client_name "ClientName" \
  --client_description "Description of the client..." \
  --offers "Offer 1|Offer 2|Offer 3" \
  --target_audience "Who we're emailing" \
  --social_proof "Credentials/results to mention"

3. Review Output

The script creates 3 campaigns (one per offer), each with:

  • Email 1: Two A/B variants
  • Email 2: Follow-up bump
  • Email 3: Breakup email

Campaign Structure

Email 1 (A/B Split Test)

  • Personalization hook ({{icebreaker}} or custom opener)
  • Social proof (credentials, results)
  • Offer (clear value proposition)
  • Soft CTA

Email 2 (Follow-up)

  • Brief, friendly bump
  • Reference original email
  • Restate value
  • Clear CTA

Email 3 (Breakup)

  • Short, direct
  • Last chance framing
  • Simple yes/no ask

Available Variables

  • {{firstName}} - Lead's first name
  • {{lastName}} - Lead's last name
  • {{companyName}} - Lead's company
  • {{casualCompanyName}} - Informal company name
  • {{icebreaker}} - AI-generated icebreaker
  • {{sendingAccountFirstName}} - Sender's first name

Edge Cases

  • No offers provided: Generate 3 distinct offers from client description
  • API errors: Script retries once, then fails with detailed error
  • Rate limits: Handled with exponential backoff

Output

{
  "status": "success",
  "campaigns_created": 3,
  "campaign_ids": ["id1", "id2", "id3"],
  "campaign_names": ["Campaign 1", "Campaign 2", "Campaign 3"]
}

Environment

Requires in .env:

INSTANTLY_API_KEY=your_key
ANTHROPIC_API_KEY=your_key

API Learnings

  • Schedule requires name field in each schedule object
  • Timezone: Use America/Chicago (not all IANA values work)
  • HTML: Instantly strips plain text outside HTML tags - wrap in <p> tags
  • Model: Uses claude-opus-4-5-20251101 for generation
Install via CLI
npx skills add https://github.com/MalekAG/claude-code-setup --skill instantly-campaigns
Repository Details
star Stars 28
call_split Forks 12
navigation Branch main
article Path SKILL.md
More from Creator