🧪 Skills
Instantly Campaign Launcher
Create and launch an Instantly.ai cold email campaign with D0/D3/D8 sequences and bulk-import leads via API, no dashboard needed.
v1.0.0
Description
skill-instantly-campaign-launcher
Programmatically create an Instantly.ai cold email campaign with D0/D3/D8 sequences and bulk-import leads — all via Instantly API v2. One script, zero dashboard clicking.
What it does
- Creates a new Instantly campaign (or finds an existing one by name)
- Adds a 3-step D0/D3/D8 email sequence to the campaign
- Imports leads from a JSON file (with dedup/skip for existing leads)
- Reports imported/skipped/failed counts
Use cases
- Launching any cold email campaign via code (no UI required)
- B2B agency or service business outreach
- Quickly adapting a campaign template for new ICPs or industries
Inputs
INSTANTLY_KEY— Instantly API v2 Bearer token (set as env var)scripts/campaign.config.js— campaign name, schedule, D0/D3/D8 email bodiesleads.json— array of lead objects:{email, firstName, lastName, companyName, website}
Outputs
- Instantly campaign created (or found) with sequences attached
- Leads imported; console report: total / imported / skipped / failed
Scripts
scripts/campaign-launcher.js— main entry pointscripts/campaign.config.js— config template (edit before running)
Usage
# 1. Get your Instantly API v2 token from app.instantly.ai → Settings → API Keys
export INSTANTLY_KEY=your_token_here
# 2. Edit scripts/campaign.config.js — set campaign name, schedule, email copy
# 3. Create leads.json (array of lead objects)
# 4. Run:
node scripts/campaign-launcher.js --config scripts/campaign.config.js --leads leads.json
leads.json format
[
{ "email": "john@example.com", "firstName": "John", "lastName": "Smith", "companyName": "Acme Inc", "website": "acme.com" },
{ "email": "jane@corp.io", "firstName": "Jane", "companyName": "Corp IO" }
]
campaign.config.js format
module.exports = {
campaignName: 'My Outreach Campaign',
schedule: {
name: 'Business Hours',
timing: { from: '09:00', to: '17:00' },
days: { monday: true, tuesday: true, wednesday: true, thursday: true, friday: true, saturday: false, sunday: false },
timezone: 'America/New_York', // or Asia/Dubai, Europe/London, etc.
},
sequences: [
{ step: 1, delay: 0, subject: 'Your subject', body: 'Hi {{firstName}}, ...' },
{ step: 2, delay: 3, subject: 'Re: Your subject', body: 'Follow-up body...' },
{ step: 3, delay: 8, subject: 'Last note, {{firstName}}', body: 'Closing body...' },
],
};
Notes
- Instantly API v2 — sequences endpoint:
POST /campaigns/:id/sequences - Dedup: 409 responses = lead already in campaign (counted as skipped, not error)
- Rate limit: 200ms sleep between lead imports to avoid 429s
- Known issue: Instantly API v2
/sequencesendpoint occasionally returns 404 → add sequences manually in dashboard if this occurs - Instantly free plan supports unlimited campaigns; warming up inboxes recommended before launch
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!