# Smartlead (/integrations/smartlead)

Use [Smartlead](https://www.smartlead.ai/) to manage outreach campaigns, multi-step sequences, sending mailboxes, and lead lists. Create or duplicate campaigns, configure schedules and settings, and change campaign status.

Lead actions import, list, export, find, update, categorize, pause, resume, complete, or unsubscribe leads. Campaign removal and global unsubscribe act on different scopes; choose the action that matches your intended change.

Read campaign, lead, and mailbox analytics, inbox replies, activity, and message history. Webhook actions register, update, list, or delete campaign webhooks so a workflow can process engagement events.

## Use the block \[#usage-instructions]

Create campaigns, write multi-step email sequences, import and categorize leads, pull campaign analytics, and register webhooks for engagement events.

## Actions \[#actions]

### Smartlead List Campaigns \[#smartlead-list-campaigns]

Retrieves all Smartlead campaigns for the authenticated account.

#### Input \[#input]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `clientId` | number | No | Only return campaigns for this client (agency accounts) |
| `includeTags` | boolean | No | Include campaign tags in the response |

#### Output \[#output]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign \[#smartlead-get-campaign]

Retrieves a single Smartlead campaign by ID.

#### Input \[#input-1]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-1]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Create Campaign \[#smartlead-create-campaign]

Creates a Smartlead campaign. The campaign starts in DRAFTED status; add sequences, email accounts, and a schedule before starting it.

#### Input \[#input-2]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `name` | string | Yes | Campaign name |
| `clientId` | number | No | Client to own the campaign (agency accounts) |

#### Output \[#output-2]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Campaign Status \[#smartlead-update-campaign-status]

Starts, pauses, or stops a Smartlead campaign. START requires the campaign to already have a schedule, sequences, and at least one email account.

#### Input \[#input-3]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `status` | string | Yes | Target status: START, PAUSED, STOPPED |

#### Output \[#output-3]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Campaign Schedule \[#smartlead-update-campaign-schedule]

Sets the sending window, timezone, and throughput limits for a Smartlead campaign. A campaign cannot be started until a schedule exists.

#### Input \[#input-4]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `timezone` | string | Yes | IANA timezone for the sending window, e.g. America/Los\_Angeles |
| `daysOfTheWeek` | array | Yes | Sending days as ISO weekday numbers, where 1 is Monday and 7 is Sunday |
| `startHour` | string | Yes | Sending window start in 24-hour HH:MM format, e.g. 09:00 |
| `endHour` | string | Yes | Sending window end in 24-hour HH:MM format, e.g. 17:00 |
| `minTimeBetweenEmails` | number | No | Minimum minutes to wait between emails |
| `maxNewLeadsPerDay` | number | No | Maximum new leads to contact per day |
| `scheduleStartTime` | string | No | ISO 8601 timestamp to begin sending, omit to start immediately |

#### Output \[#output-4]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Campaign Settings \[#smartlead-update-campaign-settings]

Updates tracking, stop-on-activity, and sending settings for a Smartlead campaign.

#### Input \[#input-5]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `trackSettings` | array | No | Tracking to disable. Allowed values: DONT\_TRACK\_EMAIL\_OPEN, DONT\_TRACK\_LINK\_CLICK, DONT\_TRACK\_REPLY\_TO\_AN\_EMAIL |
| `stopLeadSettings` | string | No | Lead activity that stops the sequence: REPLY\_TO\_AN\_EMAIL, CLICK\_ON\_A\_LINK, OPEN\_AN\_EMAIL |
| `sendAsPlainText` | boolean | No | Send campaign emails as plain text |
| `followUpPercentage` | number | No | Percentage of leads that receive follow-ups |
| `unsubscribeText` | string | No | Unsubscribe text appended to emails |
| `enableAiEspMatching` | boolean | No | Match sending accounts to recipient email providers |

#### Output \[#output-5]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Analytics \[#smartlead-get-campaign-analytics]

Retrieves lifetime performance totals for a Smartlead campaign — sends, opens, clicks, replies, bounces, and lead counts by state.

#### Input \[#input-6]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-6]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Analytics By Date \[#smartlead-get-campaign-analytics-by-date]

Retrieves Smartlead campaign performance totals for a date range. Smartlead rejects ranges longer than roughly one month.

#### Input \[#input-7]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `startDate` | string | Yes | Range start date in YYYY-MM-DD format |
| `endDate` | string | Yes | Range end date in YYYY-MM-DD format |

#### Output \[#output-7]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Sequences \[#smartlead-get-campaign-sequences]

Retrieves the email sequence steps for a Smartlead campaign, including subjects, bodies, and per-step delays.

#### Input \[#input-8]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-8]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Save Campaign Sequences \[#smartlead-save-campaign-sequences]

Replaces the email sequence for a Smartlead campaign. Send every step in one call — steps omitted from the request are removed. An empty subject makes a step reply in the previous thread.

#### Input \[#input-9]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `sequences` | array | Yes | Ordered sequence steps. Each entry accepts seq\_number, delay\_in\_days, subject, and email\_body (HTML). Personalize with {{first\_name}} or {{company\_name}}. |

#### Output \[#output-9]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Statistics \[#smartlead-get-campaign-statistics]

Retrieves per-email statistics rows for a Smartlead campaign, filterable by sequence step, engagement status, and sent-time range.

#### Input \[#input-10]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Rows to return (default 100) |
| `emailSequenceNumber` | number | No | Only return rows for this sequence step |
| `emailStatus` | string | No | Only return rows with this engagement status: opened, clicked, replied, unsubscribed, bounced |
| `sentTimeStartDate` | string | No | Only return rows sent on or after this date (YYYY-MM-DD) |
| `sentTimeEndDate` | string | No | Only return rows sent on or before this date (YYYY-MM-DD) |

#### Output \[#output-10]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Add Leads to Campaign \[#smartlead-add-leads-to-campaign]

Adds leads to a Smartlead campaign, up to 400 per call. Returns per-reason counts for leads that were skipped as duplicates, blocked, bounced, or invalid.

#### Input \[#input-11]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leads` | array | Yes | Leads to add (max 400). Each entry requires email and accepts first\_name, last\_name, phone\_number, company\_name, website, location, linkedin\_profile, company\_url, and custom\_fields. |
| `ignoreGlobalBlockList` | boolean | No | Add leads even if they are on the global block list |
| `ignoreUnsubscribeList` | boolean | No | Add leads even if they previously unsubscribed |
| `ignoreDuplicateLeadsInOtherCampaign` | boolean | No | Add leads even if they already exist in another campaign |
| `ignoreCommunityBounceList` | boolean | No | Add leads even if they are on the community bounce list |

#### Output \[#output-11]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Campaign Leads \[#smartlead-list-campaign-leads]

Retrieves the leads in a Smartlead campaign with their per-campaign status.

#### Input \[#input-12]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Leads to return per page (default 100) |

#### Output \[#output-12]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Lead by Email \[#smartlead-get-lead-by-email]

Looks up a Smartlead lead by email address and returns the lead record plus every campaign it belongs to.

#### Input \[#input-13]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `email` | string | Yes | Lead email address to look up |

#### Output \[#output-13]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Lead \[#smartlead-update-lead]

Updates a lead in a Smartlead campaign. Smartlead requires the email field even when it is unchanged, and lead edits apply across every campaign the lead belongs to.

#### Input \[#input-14]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |
| `email` | string | Yes | Lead email address — required by Smartlead even when unchanged |
| `firstName` | string | No | Lead first name |
| `lastName` | string | No | Lead last name |
| `phoneNumber` | string | No | Lead phone number |
| `companyName` | string | No | Lead company name |
| `website` | string | No | Lead website |
| `location` | string | No | Lead location |
| `linkedinProfile` | string | No | Lead LinkedIn profile URL |
| `companyUrl` | string | No | Lead company URL |
| `customFields` | object | No | Custom field values keyed by field name (max 200 keys) |

#### Output \[#output-14]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Lead Category \[#smartlead-update-lead-category]

Sets the category of a lead in a Smartlead campaign, such as Interested or Not Interested. Use List Lead Categories to resolve a category ID.

#### Input \[#input-15]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |
| `categoryId` | number | Yes | Lead category ID to apply |
| `pauseLead` | boolean | No | Also pause the lead sequence when applying the category |

#### Output \[#output-15]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Pause Lead \[#smartlead-pause-lead]

Pauses a lead in a Smartlead campaign so it stops receiving sequence emails.

#### Input \[#input-16]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-16]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Resume Lead \[#smartlead-resume-lead]

Resumes a paused lead in a Smartlead campaign, optionally after a delay.

#### Input \[#input-17]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |
| `resumeLeadWithDelayDays` | number | No | Days to wait before the next email; 0 resumes immediately |

#### Output \[#output-17]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Lead Categories \[#smartlead-list-lead-categories]

Retrieves the lead categories configured on the Smartlead account, with the category IDs needed to categorize a lead.

#### Input \[#input-18]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |

#### Output \[#output-18]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Lead Message History \[#smartlead-get-lead-message-history]

Retrieves the sent-and-received message history for a lead in a Smartlead campaign.

#### Input \[#input-19]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-19]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Campaign Webhooks \[#smartlead-list-campaign-webhooks]

Retrieves the webhooks registered on a Smartlead campaign.

#### Input \[#input-20]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-20]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Create or Update Campaign Webhook \[#smartlead-create-or-update-campaign-webhook]

Creates a webhook on a Smartlead campaign, or updates an existing one when a webhook ID is supplied. Smartlead requires at least one lead category.

#### Input \[#input-21]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `name` | string | Yes | Webhook name |
| `webhookUrl` | string | Yes | HTTPS URL Smartlead should post events to |
| `eventTypes` | array | Yes | Events to subscribe to. Allowed values: EMAIL\_SENT, EMAIL\_OPEN, EMAIL\_LINK\_CLICK, EMAIL\_REPLY, EMAIL\_BOUNCE, LEAD\_UNSUBSCRIBED, LEAD\_CATEGORY\_UPDATED |
| `categories` | array | Yes | Lead category names the webhook applies to, e.g. Interested. Smartlead rejects an empty list. |
| `webhookId` | number | No | Existing webhook ID to update; omit to create a new webhook |

#### Output \[#output-21]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Delete Campaign Webhook \[#smartlead-delete-campaign-webhook]

Deletes a webhook from a Smartlead campaign.

#### Input \[#input-22]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `webhookId` | number | Yes | ID of the webhook to delete, from List Campaign Webhooks |

#### Output \[#output-22]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Webhook Summary \[#smartlead-get-campaign-webhook-summary]

Retrieves webhook delivery counts for a Smartlead campaign over a time window, for checking whether events are reaching their destination.

#### Input \[#input-23]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `fromTime` | string | Yes | Start of the window as an ISO 8601 timestamp |
| `toTime` | string | Yes | End of the window as an ISO 8601 timestamp |

#### Output \[#output-23]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Duplicate Campaign \[#smartlead-duplicate-campaign]

Copies a Smartlead campaign, including its sequences and settings. The copy is named "\<original> - copy" and starts in DRAFTED status.

#### Input \[#input-24]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-24]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Delete Campaign \[#smartlead-delete-campaign]

Permanently deletes a Smartlead campaign along with its sequences, leads, and webhooks. This cannot be undone.

#### Input \[#input-25]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-25]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Export Campaign Leads \[#smartlead-export-campaign-leads]

Exports every lead in a Smartlead campaign as CSV, including engagement counts and the sequence step last sent to each lead.

#### Input \[#input-26]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-26]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Campaign Email Accounts \[#smartlead-list-campaign-email-accounts]

Retrieves the sending email accounts attached to a Smartlead campaign.

#### Input \[#input-27]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-27]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Add Email Accounts to Campaign \[#smartlead-add-email-accounts-to-campaign]

Attaches sending email accounts to a Smartlead campaign. A campaign needs at least one attached account before it can start.

#### Input \[#input-28]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `emailAccountIds` | array | Yes | IDs of the email accounts to attach, from List Email Accounts |

#### Output \[#output-28]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Remove Email Accounts from Campaign \[#smartlead-remove-email-accounts-from-campaign]

Detaches sending email accounts from a Smartlead campaign.

#### Input \[#input-29]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `emailAccountIds` | array | Yes | IDs of the email accounts to detach |

#### Output \[#output-29]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Email Accounts \[#smartlead-list-email-accounts]

Retrieves the sending email accounts on the Smartlead account, including their IDs for attaching to a campaign.

#### Input \[#input-30]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Accounts to return per page (default 100) |
| `clientId` | number | No | Only return accounts for this client (agency accounts) |

#### Output \[#output-30]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Lead Statistics \[#smartlead-get-campaign-lead-statistics]

Retrieves per-lead engagement statistics for a Smartlead campaign.

#### Input \[#input-31]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `limit` | number | No | Rows to return (default 100) |
| `offset` | number | No | Rows to skip (default 0) |

#### Output \[#output-31]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Mailbox Statistics \[#smartlead-get-campaign-mailbox-statistics]

Retrieves per-mailbox sending statistics for a Smartlead campaign, for spotting which sending accounts are underperforming.

#### Input \[#input-32]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |

#### Output \[#output-32]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Campaign Top-Level Analytics By Date \[#smartlead-get-campaign-top-level-analytics-by-date]

Retrieves top-level Smartlead campaign counts for a date range, including positive replies, skipped, failed, and stopped counts not present in the standard analytics.

#### Input \[#input-33]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `startDate` | string | Yes | Range start date in YYYY-MM-DD format |
| `endDate` | string | Yes | Range end date in YYYY-MM-DD format |

#### Output \[#output-33]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Lead Activities \[#smartlead-list-lead-activities]

Retrieves recent lead activity across all Smartlead campaigns — opens, clicks, replies, and status changes. Smartlead exposes no campaign filter on this endpoint.

#### Input \[#input-34]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Rows to return per page |

#### Output \[#output-34]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Lead by ID \[#smartlead-get-lead-by-id]

Looks up a Smartlead lead by its ID.

#### Input \[#input-35]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-35]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Unsubscribe Lead from Campaign \[#smartlead-unsubscribe-lead-from-campaign]

Unsubscribes a lead from a single Smartlead campaign, leaving it active in other campaigns.

#### Input \[#input-36]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-36]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Unsubscribe Lead Globally \[#smartlead-unsubscribe-lead-globally]

Unsubscribes a lead across every Smartlead campaign and adds it to the account-wide unsubscribe list.

#### Input \[#input-37]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-37]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Mark Lead Complete \[#smartlead-mark-lead-complete]

Marks a lead as completed in a Smartlead campaign so it stops receiving further sequence steps.

#### Input \[#input-38]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `campaignLeadMapId` | number | Yes | The campaign\_lead\_map\_id from List Campaign Leads — this endpoint takes the map ID, NOT lead.id |

#### Output \[#output-38]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Delete Lead from Campaign \[#smartlead-delete-lead-from-campaign]

Removes a lead from a Smartlead campaign. The lead record itself remains on the account.

#### Input \[#input-39]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `campaignId` | number | Yes | Smartlead campaign ID |
| `leadId` | number | Yes | Smartlead lead ID — the nested lead.id from List Campaign Leads, NOT campaign\_lead\_map\_id |

#### Output \[#output-39]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Inbox Replies \[#smartlead-list-inbox-replies]

Retrieves replies from the Smartlead master inbox across all campaigns, optionally limited to unread replies. Smartlead exposes no campaign filter on this endpoint.

#### Input \[#input-40]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `unreadOnly` | boolean | No | Return only unread replies |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Replies to return per page |

#### Output \[#output-40]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Lead Lists \[#smartlead-list-lead-lists]

Retrieves the lead lists on the Smartlead account with their lead counts.

#### Input \[#input-41]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `offset` | number | No | Pagination offset (default 0) |
| `limit` | number | No | Lists to return per page |

#### Output \[#output-41]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Get Lead List \[#smartlead-get-lead-list]

Retrieves a single Smartlead lead list by ID.

#### Input \[#input-42]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `leadListId` | number | Yes | Lead list ID |

#### Output \[#output-42]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Create Lead List \[#smartlead-create-lead-list]

Creates a lead list on the Smartlead account.

#### Input \[#input-43]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `listName` | string | Yes | Name for the new lead list |

#### Output \[#output-43]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Update Lead List \[#smartlead-update-lead-list]

Renames a Smartlead lead list.

#### Input \[#input-44]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `leadListId` | number | Yes | Lead list ID to update |
| `listName` | string | Yes | New name for the lead list |

#### Output \[#output-44]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead Delete Lead List \[#smartlead-delete-lead-list]

Deletes a Smartlead lead list.

#### Input \[#input-45]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |
| `leadListId` | number | Yes | Lead list ID to delete |

#### Output \[#output-45]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |

### Smartlead List Clients \[#smartlead-list-clients]

Retrieves the clients on a Smartlead agency account, including the client IDs used to scope campaigns and email accounts.

#### Input \[#input-46]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `apiKey` | string | Yes | Smartlead API key |

#### Output \[#output-46]

| Parameter | Type | Description |
| - | - | - |
| `campaigns` | array | List of campaigns |
| `leads` | array | List of leads |
| `sequences` | array | Email sequence steps |
| `categories` | array | Lead categories |
| `webhooks` | array | Campaign webhooks |
| `stats` | array | Per-email statistics rows |
| `history` | array | Lead message history |
| `count` | number | Number of records returned |
| `total_leads` | number | Total leads in the campaign, or leads newly added when importing |
| `total_stats` | number | Total statistics rows matching the filters |
| `id` | number | Record ID |
| `name` | string | Record name |
| `status` | string | Campaign status |
| `email` | string | Lead email address |
| `webhook_url` | string | Webhook destination URL |
| `event_types` | array | Webhook event types |
| `sent_count` | number | Emails sent |
| `open_count` | number | Email opens |
| `click_count` | number | Link clicks |
| `reply_count` | number | Replies |
| `bounce_count` | number | Bounces |
| `campaign_lead_stats` | json | Lead counts by state |
| `upload_count` | number | Leads submitted in the request |
| `success` | boolean | Whether the action succeeded |
| `items` | array | Records returned by Smartlead |
| `rows` | array | Rows returned by Smartlead |
| `lists` | array | Lead lists |
| `summary` | array | Webhook delivery summary rows |
| `csv` | string | Exported leads as CSV |
| `row_count` | number | Rows in the exported CSV |
| `has_more` | boolean | Whether more rows are available |
| `list_name` | string | Lead list name |
| `positive_reply_count` | number | Replies categorized as positive |
| `offset` | number | Pagination offset used |
| `limit` | number | Pagination limit used |
| `total_count` | number | Total records matching the request |
| `from` | string | Start of the reported window |
| `to` | string | End of the reported window |
| `start_date` | string | Start of the reported range |
| `end_date` | string | End of the reported range |
| `skipped_count` | number | Emails skipped |
| `failed_count` | number | Failed sends |
| `stopped_count` | number | Stopped leads |
| `unsubscribed_count` | number | Unsubscribes |
| `unique_sent_count` | number | Unique leads emailed |
| `unique_open_count` | number | Unique opens |
| `unique_click_count` | number | Unique clicks |
| `block_count` | number | Blocked sends, or leads skipped by the block list |
| `drafted_count` | number | Drafted emails |
| `sequence_count` | number | Sequence steps in the campaign |
| `duplicate_count` | number | Duplicate leads skipped on import |
| `invalid_email_count` | number | Leads skipped for an invalid email |
| `invalid_emails` | array | Emails rejected as invalid |
| `already_added_to_campaign` | number | Leads already in the campaign |
| `unsubscribed_leads` | array | Leads skipped because they unsubscribed |
| `lead_import_stopped_count` | number | Leads whose import was stopped |
| `is_lead_limit_exhausted` | boolean | Whether the plan lead limit was hit |
| `is_last_sequence` | boolean | Whether the lead was on the final step |
| `next_sequence_id` | number | ID of the next sequence step |
| `next_sequence_delay_in_days` | number | Days before the next step |
| `first_name` | string | Lead first name |
| `last_name` | string | Lead last name |
| `phone_number` | string | Lead phone number |
| `company_name` | string | Lead company name |
| `website` | string | Lead website |
| `location` | string | Lead location |
| `linkedin_profile` | string | Lead LinkedIn profile URL |
| `company_url` | string | Lead company URL |
| `custom_fields` | json | Lead custom fields |
| `is_unsubscribed` | boolean | Whether the lead is unsubscribed |
| `lead_campaign_data` | array | Campaigns the lead belongs to |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `leads_count` | number | Leads in the list |
| `active_leads_count` | number | Active leads in the list |
| `track_settings` | array | Disabled tracking settings |
| `scheduler_cron_value` | json | Campaign sending schedule |
| `accounts` | array | Sending email accounts, excluding their stored mailbox credentials |
| `user_id` | number | Owning Smartlead user ID |
| `min_time_btwn_emails` | number | Minimum minutes between emails |
| `max_leads_per_day` | number | Maximum new leads per day |
| `stop_lead_settings` | string | Activity that stops a lead sequence |
| `schedule_start_time` | string | Scheduled start time |
| `enable_ai_esp_matching` | boolean | Whether AI ESP matching is enabled |
| `send_as_plain_text` | boolean | Whether emails send as plain text |
| `follow_up_percentage` | number | Follow-up percentage |
| `unsubscribe_text` | string | Unsubscribe text |
| `parent_campaign_id` | number | Parent campaign ID |
| `client_id` | number | Client ID for agency accounts |
| `client_name` | string | Client name |
| `client_email` | string | Client email |
| `client_company_name` | string | Client company name |
| `tags` | array | Tags on the record |
| `email_campaign_id` | number | Campaign the webhook belongs to |
