Overview
Upload finalized emails for sequencing and sending. Maps fields to lead schema, creates or finds campaigns, uploads leads with dedup, and provides a pre-send verification checklist.When to Use
Trigger this skill when you need to:- Upload emails to your sequencer
- Start a new outreach campaign
- Load contacts into your sending platform
- Push generated emails to production
Environment Setup
Provider selection and credentials are handled in Step 0 of the workflow. You’ll be prompted to choose an email sequencing provider and provide API credentials.
Workflow
Confirm Provider and Learn API
The skill will:
- Ask which email sequencing provider you want to use (e.g., Instantly, Smartlead, etc.)
- Fetch or read the provider’s API documentation
- Identify:
- Campaign/sequence creation endpoint
- Lead upload endpoint and schema
- Deduplication options
- Custom variable / personalization support
- Authentication method and credentials
- Throughput limits and upload constraints
- Ask for your API credentials and confirm access
- Plan the field mapping based on the provider’s lead schema and confirm with you before proceeding
Pre-configured options with local reference docs are available in
references/ for common providers.Read and Analyze Final Emails
Load the finalized email CSV (output from
email-generation).Actions:- Read CSV headers to discover all available columns
- Verify required columns exist:
email,first_name,company_name,company_domain - Identify all content columns (paragraph fields, hypothesis, tier, etc.) that will need to be mapped to the provider’s variables
Check DNC List
Read the context file and remove any domains on the DNC (Do Not Contact) list.Reports how many were removed.
Create or Find Campaign
Using the chosen provider’s API:
- List existing campaigns
- Create a new campaign if needed (suggests name based on vertical + date)
Map Fields to Provider Lead Schema
Analyze the CSV headers discovered in Step 1 and create corresponding fields in the provider:
- Map
email,first_name,last_name,company_name,company_domainto the provider’s standard lead fields - For every remaining column in the CSV, create a matching custom variable / personalization field in the provider
- Present the full mapping to you and confirm before uploading
Example Field Mapping (Instantly)
Example Field Mapping (Instantly)
CSV Columns → Instantly Fields:
| CSV Column | Instantly Field | Type |
|---|---|---|
email | email | Standard |
first_name | first_name | Standard |
last_name | last_name | Standard |
company_name | company_name | Standard |
company_domain | website | Standard |
p1 | personalization | Custom |
p2 | second_paragraph | Custom |
p3 | third_paragraph | Custom |
p4 | fourth_paragraph | Custom |
hypothesis | hypothesis | Custom |
Upload Leads in Batches
Upload via the provider’s API in batches (respects rate limits from Step 0).Enables deduplication if the provider supports it.Reports:
- Uploaded count
- Skipped (dedup) count
- Total attempted
Instantly API Example
Instantly is a pre-configured provider with API reference in
references/instantly-api.md.Authentication
https://api.instantly.ai/api/v2
Auth: Bearer token in Authorization header
Create Campaign
Upload Leads
Deduplication Options
| Option | Behavior |
|---|---|
skip_if_in_workspace: true | Skip if email exists in ANY campaign |
skip_if_in_campaign: true | Skip only if in THIS campaign |
| Default (both false) | Always upload |
Rate Limits
- 10 requests per second
- 100 leads per upload request
- Add 0.5s pause between consecutive uploads
Email Template in Instantly
In the Instantly email template editor, reference custom variables as:email-generation.
After Sending: Feedback Loop
After the campaign has been running (typically 1-2 weeks), run the feedback loop:Export Results
Export results from the sequencer:
- Opens
- Replies
- Bounces
- Interested / Not interested
- Meetings booked
API References
Instantly API
Instantly API
Pre-configured reference in
references/instantly-api.md- Base URL:
https://api.instantly.ai/api/v2 - Endpoints:
/campaigns,/leads,/campaigns/{id}/analytics/overview - Authentication: Bearer token
- Rate limits: 10 req/s, 100 leads/batch
Other Providers
Other Providers
For other email sequencing providers, API documentation is fetched during Step 0 of the workflow.
Troubleshooting
Next Steps
After campaign upload completes:- Review the campaign in your sequencer
- Preview 3-5 emails to verify variable rendering
- Check sending schedule and limits
- Manually activate the campaign when ready
- Monitor results and prepare for feedback loop after 1-2 weeks