Smartlead: add leads to a campaign
smartlead_add_leads_to_campaignImport up to 400 leads into a specified campaign, automatically removing duplicate emails before submission. Requires an explicit campaign ID and confirmation to write leads.
Instructions
Import leads into an explicitly named campaign. Safety — read-only: no; may consume SmartProspect credits: no; creates or modifies remote state: yes; can send email: no; destructive: yes. Endpoint: POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads. Creates remote state. Blocked in readonly mode. Requires an explicit campaign_id and confirm_import: true. Maximum 400 leads per call. Duplicate emails are removed locally (case-insensitive, trimmed) before the request and the number removed is reported. Never activates the campaign — use smartlead_update_campaign_status separately. Bypassing the global block list, unsubscribe list, duplicate protection or community bounce list is classified as destructive and requires unrestricted mode plus destructive confirmation. Never auto-retried: a retry could import leads twice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| settings | No | Smartlead validation and duplicate-handling settings. | |
| lead_list | Yes | Leads to import (1-400). Duplicate emails are removed locally before sending. | |
| campaign_id | Yes | Target campaign ID. Required — leads are never imported implicitly. | |
| confirm_import | No | Must be true. Acknowledges that leads will be written into the target campaign. | |
| confirm_destructive | No | Must be true when any suppression or bounce-list validation bypass is enabled in settings. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| data | Yes | ||
| error | No | ||
| warnings | Yes | ||
| operation | Yes | ||
| pagination | Yes | ||
| credit_spending | Yes | ||
| remote_mutation | Yes |