Loading...
Loading...
Set up a complete outbound email campaign in Smartlead. Asks the user for campaign goal, audience, messaging, schedule, and mailbox allocation. Creates the campaign, adds leads, saves email sequences, sets schedule, and assigns available mailboxes. Use when a user wants to launch email outreach via Smartlead.
npx skill4agent add nikiandr/goose-skills setup-outreach-campaign| Input | Required | Default | Description |
|---|---|---|---|
| campaign_name | Yes | -- | Name for the campaign (e.g., "Truewind - Accounting Firms - Feb 2026") |
| campaign_goal | Yes | -- | What outcome the campaign drives (book demos, drive signups, etc.) |
| lead_list | Yes | -- | CSV file path OR person-list JSON from upstream skill |
| value_proposition | Yes | -- | Core pain point or benefit the emails address |
| cta | Yes | -- | Call to action (e.g., "Book a 15-min demo", "Reply to learn more") |
| tone | No | semi-formal | Email tone: casual, semi-formal, formal |
| personalization_angle | No | -- | Hook for personalization (event attendance, job posting, news mention) |
| timezone | No | America/New_York | Timezone for send schedule |
| send_days | No | [1,2,3,4,5] | Days of week to send (0=Sun, 6=Sat) |
| start_hour | No | 08:00 | Start of send window |
| end_hour | No | 18:00 | End of send window |
| max_leads_per_day | No | 20 | Max new leads contacted per day |
| min_time_btw_emails | No | 10 | Minutes between emails from same mailbox |
| num_mailboxes | No | 5 | Number of mailboxes to allocate |
| mailbox_selection | No | auto | "auto" (pick free ones) or "manual" (show list to user) |
export SMARTLEAD_API_KEY=your_api_key_herehttps://server.smartlead.ai/api/v1?api_key=$SMARTLEAD_API_KEYPOST https://server.smartlead.ai/api/v1/campaigns/create?api_key=$SMARTLEAD_API_KEY
Body:
{
"name": "<campaign_name>",
"client_id": null
}{
"ok": true,
"id": 3023,
"name": "Test email campaign",
"created_at": "2022-11-07T16:23:24.025929+00:00"
}campaign_ididGET https://server.smartlead.ai/api/v1/email-accounts/?api_key=$SMARTLEAD_API_KEY&offset=0&limit=100idfrom_emailfrom_namedaily_sent_countwarmup_detailsis_smtp_successis_imap_successGET https://server.smartlead.ai/api/v1/campaigns?api_key=$SMARTLEAD_API_KEYstatus"ACTIVE""STARTED"GET https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/email-accounts?api_key=$SMARTLEAD_API_KEYemail_account_ididis_smtp_successis_imap_successdaily_sent_countmailbox_selectionmailbox_selectionPOST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/email-accounts?api_key=$SMARTLEAD_API_KEY
Body:
{
"email_account_ids": [101, 204, 305, 412, 518]
}emailEmailemail_addressfirst_namefirstnamefirstFirst Namelast_namelastnamelastLast Namecompany_namecompanyorganizationCompanycustom_fieldsfirst_name <- name.split()[0]
last_name <- name.split()[1:]
email <- email
company_name <- company
custom_fields <- { "title": title, "linkedin_url": linkedin_url }POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads?api_key=$SMARTLEAD_API_KEY
Body:
{
"lead_list": [
{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"company_name": "Acme Corp",
"custom_fields": {"title": "CFO"}
}
],
"settings": {
"ignore_global_block_list": false,
"ignore_unsubscribe_list": false,
"ignore_duplicate_leads_in_other_campaign": false
}
}{
"ok": true,
"upload_count": 95,
"total_leads": 100,
"already_added_to_campaign": 2,
"duplicate_count": 1,
"invalid_email_count": 2,
"unsubscribed_leads": 0
}{{first_name}}POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/sequences?api_key=$SMARTLEAD_API_KEY
Body:
{
"sequences": [
{
"seq_number": 1,
"seq_delay_details": { "delay_in_days": 0 },
"seq_variants": [
{
"subject": "Subject line here",
"email_body": "<p>Email body as HTML</p>",
"variant_label": "A"
}
]
},
{
"seq_number": 2,
"seq_delay_details": { "delay_in_days": 3 },
"seq_variants": [
{
"subject": "",
"email_body": "<p>Follow-up body</p>",
"variant_label": "A"
}
]
},
{
"seq_number": 3,
"seq_delay_details": { "delay_in_days": 5 },
"seq_variants": [
{
"subject": "",
"email_body": "<p>Breakup body</p>",
"variant_label": "A"
}
]
}
]
}subjectPOST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/schedule?api_key=$SMARTLEAD_API_KEY
Body:
{
"timezone": "America/New_York",
"days_of_the_week": [1, 2, 3, 4, 5],
"start_hour": "08:00",
"end_hour": "18:00",
"min_time_btw_emails": 10,
"max_new_leads_per_day": 20,
"schedule_start_time": "2026-02-25T00:00:00.000Z"
}days_of_the_weekCampaign: "Truewind - Accounting Firms - Feb 2026"
Campaign ID: 12345
Leads added: 87 (3 rejected as duplicates)
Email sequence: 3 emails (Day 0, Day 3, Day 8)
Schedule: Mon-Fri, 8am-6pm ET, starting Feb 25
Mailboxes: jane@truewind.ai, alex@truewind.ai (+3 more)
Status: DRAFTEDPOST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/status?api_key=$SMARTLEAD_API_KEY
Body:
{ "status": "START" }POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/settings?api_key=$SMARTLEAD_API_KEY
Body:
{
"track_settings": ["DONT_TRACK_EMAIL_OPEN"],
"stop_lead_settings": "REPLY_TO_AN_EMAIL",
"send_as_plain_text": false,
"follow_up_percentage": 100,
"enable_ai_esp_matching": true
}track_settingsDONT_TRACK_EMAIL_OPENDONT_TRACK_LINK_CLICKDONT_TRACK_REPLY_TO_AN_EMAILstop_lead_settingsREPLY_TO_AN_EMAILCLICK_ON_A_LINKOPEN_AN_EMAILhttps://server.smartlead.ai/api/v1?api_key=| Endpoint | Method | Purpose |
|---|---|---|
| POST | Create a new campaign |
| GET | List all campaigns |
| GET | Get campaign by ID |
| POST | Set campaign schedule |
| POST | Update tracking/stop settings |
| POST | Save email sequences |
| POST | Add leads (max 100 per call) |
| GET | List mailboxes on a campaign |
| POST | Assign mailboxes to campaign |
| POST | Change campaign status (START/PAUSED/STOPPED) |
| GET | Top-level campaign analytics |
| GET | List all email accounts (offset/limit) |
metadata:
requires:
env: ["SMARTLEAD_API_KEY"]
cost: "Free (Smartlead API included with plan that has API access)"