smartlead-campaign-upload-public

Uploads leads CSV and variants YAML to Smartlead as a draft email campaign.

Updated May 28, 2025
One-click install
npx skills add https://github.com/meloShaya/insteltech --skill smartlead-campaign-upload-public-meloshaya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: smartlead-campaign-upload-public
Source: https://github.com/meloShaya/insteltech/tree/main/crm/library/skills/smartlead-campaign-upload-public
Command: npx skills add https://github.com/meloShaya/insteltech --skill smartlead-campaign-upload-public-meloshaya

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Manually configuring a Smartlead cold email campaign — creating sequences with A/B/C variants, attaching tagged inboxes, uploading thousands of leads, and setting schedules — is slow and error-prone through the UI. This Skill automates the entire mechanical upload via the Smartlead API while keeping the campaign in DRAFT so a human reviews it before launch. ## Core Features & Use Cases - Draft-only campaign creation: Builds the campaign, sequences, inbox assignments, lead batches, settings, and schedule through the Smartlead API, but never auto-activates — you review and press Start in the UI. - Tag-scoped inbox selection: Filters email accounts by tag, sorts by daily_sent_count (least recently used first), and attaches the requested count, with retry logic that drops rejected inbox IDs. - Strict schema validation: Rejects leads.csv files with missing required columns or unallowed extra columns (preventing accidental PII upload), and validates variants.yaml structure with clear error messages. - Use Case: After generating copy with /campaign-copywriting and verifying your list, run the upload script with your leads.csv and variants.yaml to get a fully configured draft campaign and a direct Smartlead review URL. ## Quick Start Set the SMARTLEAD_API_KEY environment variable and run the upload script with npx tsx, passing the paths to your leads.csv and variants.yaml files, then open the printed Smartlead URL to review and start the draft campaign.

Frequently Asked Questions about smartlead-campaign-upload-public

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload leads and email sequences to Smartlead via API?

Run the upload script with npx tsx, passing --leads and --variants flags pointing to your CSV and YAML files, with SMARTLEAD_API_KEY set in the environment. The script creates the campaign, saves sequences, attaches inboxes, uploads leads in batches of 100, and sets the schedule.

How do I create a Smartlead campaign without activating it?

This script always creates campaigns in DRAFT status and has no activation flag. After the upload completes, it prints a Smartlead URL where you review subject lines, inboxes, leads, and schedule before pressing Start manually.

What columns does the Smartlead leads CSV require?

The CSV must include email, first_name, last_name, and company_name. Optional allowed columns are company_domain, title, linkedin_url, situation_line, value_line, and cta_line; any other column causes the script to abort to prevent accidental PII upload.

Why does the Smartlead upload fail with no inboxes found?

The script filters email accounts by the tag specified in variants.yaml and requires healthy, non-warmup-blocked inboxes. If none match, tag your inboxes first using the inbox manager workflow, then rerun the upload.

Can the Smartlead upload script handle large lead lists?

It uploads leads in batches of 100 with retry and exponential backoff on rate limits, and has been tested up to 10,000 rows. Larger lists may hit API rate limits, so dedupe and verify the CSV before uploading.